summaryrefslogtreecommitdiffstats
path: root/share/ui
diff options
context:
space:
mode:
Diffstat (limited to 'share/ui')
-rw-r--r--share/ui/Adwaita-dark.css70
-rw-r--r--share/ui/Adwaita.css71
-rw-r--r--share/ui/CMakeLists.txt6
-rw-r--r--share/ui/Minwaita-Inkscape.css135
-rw-r--r--share/ui/align-and-distribute.ui1339
-rw-r--r--share/ui/bad-marker.svg18
-rw-r--r--share/ui/color-palette.glade415
-rw-r--r--share/ui/command-palette-main.glade112
-rw-r--r--share/ui/command-palette-operation.glade112
-rw-r--r--share/ui/dialog-css.glade134
-rw-r--r--share/ui/dialog-export.glade1145
-rw-r--r--share/ui/dialog-filter-editor.glade381
-rw-r--r--share/ui/dialog-livepatheffect-add.glade449
-rw-r--r--share/ui/dialog-livepatheffect-effect.glade270
-rw-r--r--share/ui/dialog-save-template.glade154
-rw-r--r--share/ui/dialog-text-edit.glade178
-rw-r--r--share/ui/dialog-trace.glade1515
-rw-r--r--share/ui/gradient-edit.glade458
-rw-r--r--share/ui/gradient-stop.svg124
-rw-r--r--share/ui/gradient-tip.svg76
-rw-r--r--share/ui/highlight-colors.css59
-rw-r--r--share/ui/inkscape-about.glade414
-rw-r--r--share/ui/inkscape-start.glade2252
-rw-r--r--share/ui/mac.css4
-rw-r--r--share/ui/marker-popup.glade530
-rw-r--r--share/ui/menus.ui1293
-rw-r--r--share/ui/page-properties.glade989
-rw-r--r--share/ui/resources/canvas_ad.pngbin0 -> 579 bytes
-rw-r--r--share/ui/resources/canvas_aw.pngbin0 -> 612 bytes
-rw-r--r--share/ui/resources/canvas_cd.pngbin0 -> 598 bytes
-rw-r--r--share/ui/resources/canvas_cw.pngbin0 -> 612 bytes
-rw-r--r--share/ui/resources/canvas_sw.pngbin0 -> 550 bytes
-rw-r--r--share/ui/resources/template_about.svg126
-rw-r--r--share/ui/resources/template_businesscard_landscape.svg80
-rw-r--r--share/ui/resources/template_businesscard_portrait.svg80
-rw-r--r--share/ui/resources/template_businesscard_square.svg80
-rw-r--r--share/ui/resources/template_desktop_hd_landscape.svg129
-rw-r--r--share/ui/resources/template_desktop_landscape.svg94
-rw-r--r--share/ui/resources/template_envelope_landscape.svg81
-rw-r--r--share/ui/resources/template_envelope_portrait.svg83
-rw-r--r--share/ui/resources/template_icon_square.svg87
-rw-r--r--share/ui/resources/template_image_landscape.svg89
-rw-r--r--share/ui/resources/template_image_portrait.svg84
-rw-r--r--share/ui/resources/template_image_square.svg86
-rw-r--r--share/ui/resources/template_mobile_portrait.svg82
-rw-r--r--share/ui/resources/template_photo_landscape.svg91
-rw-r--r--share/ui/resources/template_photo_portrait.svg96
-rw-r--r--share/ui/resources/template_photo_square.svg96
-rw-r--r--share/ui/resources/template_print_US_landscape.svg88
-rw-r--r--share/ui/resources/template_print_US_portrait.svg96
-rw-r--r--share/ui/resources/template_print_landscape.svg95
-rw-r--r--share/ui/resources/template_print_portrait.svg94
-rw-r--r--share/ui/resources/template_social_landscape.svg94
-rw-r--r--share/ui/resources/template_social_portrait.svg94
-rw-r--r--share/ui/resources/template_social_square.svg91
-rw-r--r--share/ui/resources/template_tablet_landscape.svg87
-rw-r--r--share/ui/resources/template_video_landscape.svg91
-rw-r--r--share/ui/resources/template_video_portrait.svg91
-rw-r--r--share/ui/resources/template_video_square.svg90
-rw-r--r--share/ui/spinbutton.css11
-rw-r--r--share/ui/style.css737
-rw-r--r--share/ui/toolbar-commands.ui330
-rw-r--r--share/ui/toolbar-page.ui170
-rw-r--r--share/ui/toolbar-select.ui0
-rw-r--r--share/ui/toolbar-snap.ui1204
-rw-r--r--share/ui/toolbar-tool-prefs.ui853
-rw-r--r--share/ui/toolbar-tool.ui860
-rw-r--r--share/ui/toolbar-zoom.ui130
-rw-r--r--share/ui/units.xml101
-rw-r--r--share/ui/win32.css176
70 files changed, 19750 insertions, 0 deletions
diff --git a/share/ui/Adwaita-dark.css b/share/ui/Adwaita-dark.css
new file mode 100644
index 0000000..8abddae
--- /dev/null
+++ b/share/ui/Adwaita-dark.css
@@ -0,0 +1,70 @@
+/* ADWAITA DARK SPECIFIC STYLE */
+
+/*
+ * Keep as small as possible
+ */
+
+.inkswitch slider {
+ min-width: 18px;
+ min-height: 18px;
+}
+
+.inkswitch image {
+ color: transparent;
+ background-color: transparent;
+ background-image: image(transparent);
+ -gtk-icon-style:symbolic;
+}
+
+.inkswitch {
+ margin: 2px;
+ padding: 0;
+ font-size: 8px;
+}
+
+/* Reduce width of +/- buttons. */
+.up,
+.down {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+notebook notebook header label {
+ margin:0;
+}
+
+notebook notebook header tab {
+ min-height:23px;
+ padding:3px 7px;
+}
+
+notebook notebook header {
+ padding:0;
+}
+
+notebook notebook header image {
+ -gtk-icon-transform:scale(0.8);
+ margin:-3px 0 -3px 0;
+}
+
+#PaintSelector .toggle,
+#PaintSelector .radio,
+#StrokeSelector .toggle,
+#StrokeSelector .radio{
+ padding:5px;
+ min-height:12px;
+}
+#StrokeSelector{
+ padding:0px;
+ margin:0px;
+}
+
+#AlignDistribute .toggle,
+#AlignDistribute .radio,
+#AlignDistribute button{
+ padding:4px;
+}
+
+#AlignDistribute #align {
+ margin-top:-15px;
+}
diff --git a/share/ui/Adwaita.css b/share/ui/Adwaita.css
new file mode 100644
index 0000000..a2053e9
--- /dev/null
+++ b/share/ui/Adwaita.css
@@ -0,0 +1,71 @@
+/* ADWAITA SPECIFIC STYLE */
+
+
+/*
+ * Keep as small as possible
+ */
+
+.inkswitch slider {
+ min-width: 18px;
+ min-height: 18px;
+}
+
+.inkswitch image {
+ color: transparent;
+ background-color: transparent;
+ background-image: image(transparent);
+ -gtk-icon-style:symbolic;
+}
+
+.inkswitch {
+ margin: 2px;
+ padding: 0;
+ font-size: 8px;
+}
+
+/* Reduce width of +/- buttons. */
+.up,
+.down {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+notebook notebook header label {
+ margin:0;
+}
+
+notebook notebook header tab {
+ min-height:23px;
+ padding:3px 7px;
+}
+
+notebook notebook header {
+ padding:0;
+}
+
+notebook notebook header image {
+ -gtk-icon-transform:scale(0.8);
+ margin:-3px 0 -3px 0;
+}
+
+#PaintSelector .toggle,
+#PaintSelector .radio,
+#StrokeSelector .toggle,
+#StrokeSelector .radio{
+ padding:5px;
+ min-height:12px;
+}
+#StrokeSelector{
+ padding:0px;
+ margin:0px;
+}
+
+#AlignDistribute .toggle,
+#AlignDistribute .radio,
+#AlignDistribute button{
+ padding:4px;
+}
+
+#AlignDistribute #align {
+ margin-top:-15px;
+}
diff --git a/share/ui/CMakeLists.txt b/share/ui/CMakeLists.txt
new file mode 100644
index 0000000..149d76e
--- /dev/null
+++ b/share/ui/CMakeLists.txt
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+file(GLOB _FILES "*.xml" "*.rc" "*.css" "*.ui" "*.glade" "*.svg")
+install(FILES ${_FILES} DESTINATION ${INKSCAPE_SHARE_INSTALL}/ui)
+
+file(GLOB _RESOURCES "resources/*.png" "resources/*.svg")
+install(FILES ${_RESOURCES} DESTINATION ${INKSCAPE_SHARE_INSTALL}/ui/resources)
diff --git a/share/ui/Minwaita-Inkscape.css b/share/ui/Minwaita-Inkscape.css
new file mode 100644
index 0000000..b3add34
--- /dev/null
+++ b/share/ui/Minwaita-Inkscape.css
@@ -0,0 +1,135 @@
+/* Minwaita-Inkscape SPECIFIC STYLE */
+
+
+/*
+ * Keep as small as possible
+ */
+
+toolbar toolbutton > button:disabled, toolbar toolbutton > button:backdrop:disabled, .toolbar toolbutton > button:disabled, .toolbar toolbutton > button:backdrop:disabled {
+ -gtk-icon-effect: dim;
+}
+
+scrollbar {
+ margin: -1px;
+}
+
+filechooser #pathbarbox button {
+ color: #2e3436;
+ outline-color: rgba(46, 52, 54, 0.3);
+ border-color: #c4c4bf;
+ border-bottom-color: #a0a097;
+ background-image: linear-gradient(to bottom, #f5f5f4, #ebebe9 60%, #ddddd9);
+ text-shadow: 0 1px rgba(255, 255, 255, 0.769231);
+ -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231);
+ box-shadow: inset 0 1px white;
+}
+
+filechooser #pathbarbox button:hover {
+ color: #2e3436;
+ outline-color: rgba(46, 52, 54, 0.3);
+ border-color: #c4c4bf;
+ border-bottom-color: #a0a097;
+ text-shadow: 0 1px rgba(255, 255, 255, 0.769231);
+ -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231);
+ box-shadow: inset 0 1px white;
+ background-image: linear-gradient(to bottom, white, #f5f5f4 60%, #ebebe9);
+}
+
+filechooser #pathbarbox button:active {
+ color: #2e3436;
+ outline-color: rgba(46, 52, 54, 0.3);
+ border-color: #c4c4bf;
+ background-image: image(#e6e6e4);
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+}
+
+filechooser #pathbarbox button:disabled {
+ border-color: #c4c4bf;
+ background-image: image(#f9f9f8);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+}
+
+filechooser #pathbarbox button:disabled label, filechooser #pathbarbox button:disabled {
+ color: #313739;
+}
+
+filechooser #pathbarbox button:backdrop {
+ border-color: #cecec9;
+ background-image: image(#f5f5f4);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+}
+
+filechooser #pathbarbox button:backdrop label, filechooser #pathbarbox button:backdrop {
+ color: #313739;
+}
+
+filechooser #pathbarbox button:backdrop:disabled {
+ border-color: #cecec9;
+ background-image: image(#f9f9f8);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+}
+
+filechooser #pathbarbox button:backdrop:disabled label, filechooser #pathbarbox button:backdrop:disabled {
+ color: #566164;
+}
+
+button.titlebutton {
+ color:inherit;
+ border-style: none;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-image: -gtk-scaled(url("assets/window-buttons/titlebutton.png"), url("assets/window-buttons/titlebutton@2.png"));
+ text-shadow: none;
+ -gtk-icon-shadow:none;
+}
+
+window.nautilus-desktop-window box.searchbar-container.vertical > searchbar, window.nautilus-desktop-window box.searchbar-container.vertical > searchbar:backdrop {
+ background-color: transparent;
+}
+
+viewport.frame > list.tweak-categories label:backdrop {
+ color: #313739;
+}
+
+.primary-toolbar button.raised {
+ margin: 0px;
+}
+
+scrolledwindow undershoot.top,scrolledwindow undershoot.bottom,scrolledwindow undershoot.left,scrolledwindow undershoot.right {
+ background-image: none;
+}
+
+#AuxToolbox {
+ min-height:38px;
+}
+
+notebook notebook header label {
+ font-weight:normal;
+}
+
+notebook notebook header image {
+ -gtk-icon-transform:scale(0.75);
+ margin:-1px 0 -1px -3px;
+}
+
+/* checked buttons: light theme version */
+button.radio:checked,
+button.toggle:checked {
+ background-color: transparent;
+ background-image: image(linear-gradient(rgba(0,0,0,0.16), rgba(0,0,0,0.04)));
+}
+
+/* checked buttons: dark theme version */
+.dark button.radio:checked,
+.dark button.toggle:checked {
+ background-color: transparent;
+ background-image: image(@theme_selected_bg_color);
+}
diff --git a/share/ui/align-and-distribute.ui b/share/ui/align-and-distribute.ui
new file mode 100644
index 0000000..e30536b
--- /dev/null
+++ b/share/ui/align-and-distribute.ui
@@ -0,0 +1,1339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.24"/>
+ <object class="GtkListStore" id="RelativeToNode">
+ <columns>
+ <!-- column-name RelativeTo -->
+ <column type="gchararray"/>
+ <!-- column-name Argument -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Last selected</col>
+ <col id="1">last</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">First selected</col>
+ <col id="1">first</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Middle of selection</col>
+ <col id="1">middle</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Min value</col>
+ <col id="1">min</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Max value</col>
+ <col id="1">max</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="RelativeToObject">
+ <columns>
+ <!-- column-name RelativeTo -->
+ <column type="gchararray"/>
+ <!-- column-name Argument -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Last selected</col>
+ <col id="1">last</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">First selected</col>
+ <col id="1">first</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Biggest object</col>
+ <col id="1">biggest</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Smallest object</col>
+ <col id="1">smallest</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Page</col>
+ <col id="1">page</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Drawing</col>
+ <col id="1">drawing</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Selection Area</col>
+ <col id="1">selection</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkAdjustment" id="RemoveOverlap_HGap">
+ <property name="lower">-1000</property>
+ <property name="upper">1000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">5</property>
+ </object>
+ <object class="GtkAdjustment" id="RemoveOverlap_VGap">
+ <property name="lower">-1000</property>
+ <property name="upper">1000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">5</property>
+ </object>
+ <object class="GtkImage" id="image-align-horizontal-baseline">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-baseline</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-horizontal-center">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-center</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-horizontal-left">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-left</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-horizontal-left-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-left-to-anchor</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-horizontal-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-node</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-horizontal-right">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-right</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-horizontal-right-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-right-to-anchor</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-on-canvas">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-on-canvas</property>
+ </object>
+ <object class="GtkImage" id="image-align-sel-as-group">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-sel-as-group</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-vertical-baseline">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-vertical-baseline</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-vertical-bottom">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-vertical-bottom</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-vertical-bottom-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-vertical-bottom-to-anchor</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-vertical-center">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-vertical-center</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-vertical-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-vertical-node</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-vertical-top">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-vertical-top</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-align-vertical-top-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-vertical-top-to-anchor</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-graph">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-graph</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-horizontal-baseline">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-horizontal-baseline</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-horizontal-center">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-horizontal-center</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-horizontal-gaps">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-horizontal-gaps</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-horizontal-left">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-horizontal-left</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-horizontal-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-horizontal-node</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-horizontal-right">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-horizontal-right</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-randomize">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-randomize</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-remove-overlaps">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-remove-overlaps</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-unclump">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-unclump</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-vertical-baseline">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-vertical-baseline</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-vertical-bottom">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-vertical-bottom</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-vertical-center">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-vertical-center</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-vertical-gaps">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-vertical-gaps</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-vertical-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-vertical-node</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-distribute-vertical-top">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">distribute-vertical-top</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-exchange-positions">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">exchange-positions</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-exchange-positions-clockwise">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">exchange-positions-clockwise</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkImage" id="image-exchange-positions-zorder">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">exchange-positions-zorder</property>
+ <property name="use-fallback">True</property>
+ </object>
+ <object class="GtkBox" id="align-and-distribute-box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="margin-end">4</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox" id="align-and-distribute-object">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-bottom">4</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="left-padding">12</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <!-- n-columns=2 n-rows=2 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkToggleButton" id="align-on-canvas">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-on-canvas</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Enable on-canvas alignment handles</property>
+ <property name="action-name">app.object-align-on-canvas</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="align-move-as-group">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-sel-as-group</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Treat selection as group</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="label" translatable="yes">Alignment handles with third click</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="label" translatable="yes">Move/align selection as group</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Relative to:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="align-relative-object">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="model">RelativeToObject</property>
+ <property name="active">0</property>
+ <property name="id-column">1</property>
+ <child>
+ <object class="GtkCellRendererText"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=6 n-rows=2 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton" id="align-horizontal-right-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-horizontal-right-to-anchor</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align right edges of objects to the left edge of anchor</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-horizontal-left">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-horizontal-left</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align left edges</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-horizontal-center">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-horizontal-center</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Center on vertical axis</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-horizontal-right">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-horizontal-right</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align right edges</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-horizontal-left-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-horizontal-left-to-anchor</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align left edges of objects to the right edge of anchor</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-horizontal-baseline">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-horizontal-baseline</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align baseline anchors of texts horizontally</property>
+ </object>
+ <packing>
+ <property name="left-attach">5</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-vertical-bottom-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-vertical-bottom-to-anchor</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align bottom edges of objects to the top edge of anchor</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-vertical-top">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-vertical-top</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align top edges</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-vertical-center">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-vertical-center</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Center on horizontal axis</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-vertical-bottom">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-vertical-bottom</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align bottom edges</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-vertical-top-to-anchor">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-vertical-top-to-anchor</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align top edges of objects to bottom edge of anchor</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-vertical-baseline">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-vertical-baseline</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align baselines of texts</property>
+ </object>
+ <packing>
+ <property name="left-attach">5</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="ypad">2</property>
+ <property name="label" translatable="yes">Align</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-bottom">4</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="left-padding">12</property>
+ <child>
+ <!-- n-columns=5 n-rows=2 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'left'</property>
+ <property name="image">image-distribute-horizontal-left</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute horizontally with even spacing between left edges.</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'hcenter'</property>
+ <property name="image">image-distribute-horizontal-center</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute horizontally with even spacing between centers.</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'right'</property>
+ <property name="image">image-distribute-horizontal-right</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute horizontally with even spacing between right edges.</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'hgap'</property>
+ <property name="image">image-distribute-horizontal-gaps</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute horizontally with even horizontal gaps.</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute-text</property>
+ <property name="action-target">'horizontal'</property>
+ <property name="image">image-distribute-horizontal-baseline</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute text alignment points horizontally</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'top'</property>
+ <property name="image">image-distribute-vertical-top</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute vertically with even spacing between top edges.</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'vcenter'</property>
+ <property name="image">image-distribute-vertical-center</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute vertically with even spacing between centers.</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'bottom'</property>
+ <property name="image">image-distribute-vertical-bottom</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute vertically with even spacing between bottom edges.</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute</property>
+ <property name="action-target">'vgap'</property>
+ <property name="image">image-distribute-vertical-gaps</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute vertically with even vertical gaps.</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-distribute-text</property>
+ <property name="action-target">'vertical'</property>
+ <property name="image">image-distribute-vertical-baseline</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute text alignment points vertically</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="ypad">2</property>
+ <property name="label" translatable="yes">Distribute</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-bottom">4</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="left-padding">12</property>
+ <child>
+ <!-- n-columns=6 n-rows=1 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-rearrange</property>
+ <property name="action-target">'graph'</property>
+ <property name="image">image-distribute-graph</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Nicely arrange selected connector network.</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-rearrange</property>
+ <property name="action-target">'exchange'</property>
+ <property name="image">image-exchange-positions</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Exchange positions of selected objects - selection order.</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-rearrange</property>
+ <property name="action-target">'exchangez'</property>
+ <property name="image">image-exchange-positions-zorder</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Exchange positions of selected objects - stacking order.</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-rearrange</property>
+ <property name="action-target">'rotate'</property>
+ <property name="image">image-exchange-positions-clockwise</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Exchange positions of selected objects - rotate around center point.</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-rearrange</property>
+ <property name="action-target">'randomize'</property>
+ <property name="image">image-distribute-randomize</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Randomize centers in both dimensions.</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">app.object-rearrange</property>
+ <property name="action-target">'unclump'</property>
+ <property name="image">image-distribute-unclump</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Unclump objects: try to equalize edge-to-edge distances.</property>
+ </object>
+ <packing>
+ <property name="left-attach">5</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="ypad">2</property>
+ <property name="label" translatable="yes">Rearrange</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="left-padding">12</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">H:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="remove-overlap-hgap">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="input-purpose">number</property>
+ <property name="adjustment">RemoveOverlap_HGap</property>
+ <property name="numeric">True</property>
+ <property name="tooltip-text" translatable="yes">Minimum horizontal gap (in pixel units) between bounding boxes</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="label" translatable="yes">V:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="remove-overlap-vgap">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="input-purpose">number</property>
+ <property name="adjustment">RemoveOverlap_VGap</property>
+ <property name="numeric">True</property>
+ <property name="tooltip-text" translatable="yes">Mininum vertical gap (in pixel units) between bounding boxes</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="remove-overlap-button">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="margin-start">4</property>
+ <property name="image">image-distribute-remove-overlaps</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Move objects as little as possible so that their bounding boxes do not overlap</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="ypad">2</property>
+ <property name="label" translatable="yes">Remove overlaps</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="align-and-distribute-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-bottom">4</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="left-padding">12</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Relative to:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="align-relative-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="model">RelativeToNode</property>
+ <property name="active">0</property>
+ <property name="id-column">1</property>
+ <child>
+ <object class="GtkCellRendererText"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=2 n-rows=1 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton" id="align-node-horizontal">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-vertical-node</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align selected nodes to a common horizontal line</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="align-node-vertical">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="image">image-align-horizontal-node</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Align selected nodes to a common vertical line</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="ypad">2</property>
+ <property name="label" translatable="yes">Align Nodes</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="left-padding">12</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <!-- n-columns=2 n-rows=1 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">win.node-distribute-horizontal</property>
+ <property name="image">image-distribute-horizontal-node</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute selected nodes horizontally.</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">win.node-distribute-vertical</property>
+ <property name="image">image-distribute-vertical-node</property>
+ <property name="relief">none</property>
+ <property name="always-show-image">True</property>
+ <property name="tooltip-text" translatable="yes">Distribute selected nodes vertically.</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="ypad">2</property>
+ <property name="label" translatable="yes">Distribute Nodes</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/bad-marker.svg b/share/ui/bad-marker.svg
new file mode 100644
index 0000000..85fde2d
--- /dev/null
+++ b/share/ui/bad-marker.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ width="16" height="16"
+ viewBox="0 0 16 16"
+ version="1.1" id="svg8"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <defs
+ id="defs2" />
+ <path
+ style="fill:#ff0000;fill-opacity:0.25;stroke:#ff0000;stroke-width:1"
+ d="M 5.9834892,7.3456354 2.0830116,9.2070762 1.5519342,14.198434 13.484581,15.468061 14.12518,9.4473561 8.8356711,11.95845 Z"
+ id="path2717" />
+ <path
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:1;fill-opacity:0.25"
+ d="M 1.4637433,2.0449526 2.1322594,7.4569446 5.7952963,4.5307307 9.6219492,8.3777362 13.91508,4.9604165 13.373228,0.57383395 Z"
+ id="rect797" />
+</svg>
diff --git a/share/ui/color-palette.glade b/share/ui/color-palette.glade
new file mode 100644
index 0000000..0a7f1a3
--- /dev/null
+++ b/share/ui/color-palette.glade
@@ -0,0 +1,415 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.24"/>
+ <object class="GtkAdjustment" id="adjustment-aspect">
+ <property name="lower">-1</property>
+ <property name="upper">1</property>
+ <property name="step-increment">0.10</property>
+ <property name="page-increment">0.20</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-border">
+ <property name="upper">8</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-rows">
+ <property name="lower">1</property>
+ <property name="upper">5</property>
+ <property name="value">1</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-size">
+ <property name="lower">4</property>
+ <property name="upper">32</property>
+ <property name="value">8</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">2</property>
+ </object>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">go-up</property>
+ </object>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">go-down</property>
+ </object>
+ <object class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">go-next</property>
+ </object>
+ <object class="GtkImage" id="image5">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">go-previous</property>
+ </object>
+ <object class="GtkMenu" id="menu">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkSeparatorMenuItem">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="config">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Configure...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ </object>
+ <object class="GtkBox" id="palette-box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scroll-wnd">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="valign">end</property>
+ <property name="margin-top">1</property>
+ <property name="margin-bottom">1</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="hscrollbar-policy">external</property>
+ <property name="vscrollbar-policy">never</property>
+ <property name="min-content-width">1</property>
+ <property name="min-content-height">1</property>
+ <property name="overlay-scrolling">False</property>
+ <child>
+ <object class="GtkViewport" id="view-port">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkFlowBox" id="flow-box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">end</property>
+ <property name="homogeneous">True</property>
+ <property name="column-spacing">1</property>
+ <property name="row-spacing">1</property>
+ <property name="min-children-per-line">6</property>
+ <property name="max-children-per-line">6</property>
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="color-palette"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="btn-left">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="no-show-all">True</property>
+ <property name="margin-start">1</property>
+ <property name="margin-end">1</property>
+ <property name="image">image5</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="small"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="btn-right">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="no-show-all">True</property>
+ <property name="margin-start">1</property>
+ <property name="margin-end">1</property>
+ <property name="image">image4</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="small"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox" id="scroll-buttons">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="orientation">vertical</property>
+ <property name="column-spacing">1</property>
+ <property name="max-children-per-line">2</property>
+ <property name="selection-mode">none</property>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="width-request">10</property>
+ <property name="height-request">10</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkButton" id="btn-up">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="margin-start">1</property>
+ <property name="margin-end">1</property>
+ <property name="image">image1</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="small"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="width-request">10</property>
+ <property name="height-request">10</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkButton" id="btn-down">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="margin-start">1</property>
+ <property name="margin-end">1</property>
+ <property name="image">image2</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="small"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btn-menu">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="halign">end</property>
+ <property name="valign">end</property>
+ <property name="margin-start">1</property>
+ <property name="margin-end">1</property>
+ <property name="popup">menu</property>
+ <property name="direction">none</property>
+ <property name="use-popover">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ <style>
+ <class name="small"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <style>
+ <class name="color-palette-main-box"/>
+ </style>
+ </object>
+ <object class="GtkPopover" id="config-popup">
+ <property name="can-focus">False</property>
+ <property name="relative-to">btn-menu</property>
+ <property name="position">left</property>
+ <child>
+ <!-- n-columns=2 n-rows=6 -->
+ <object class="GtkGrid" id="main-grid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="border-width">12</property>
+ <property name="row-spacing">7</property>
+ <property name="column-spacing">8</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Tile size:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="border-slider">
+ <property name="width-request">180</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-border</property>
+ <property name="show-fill-level">True</property>
+ <property name="fill-level">50</property>
+ <property name="round-digits">0</property>
+ <property name="digits">0</property>
+ <property name="value-pos">right</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Border:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="size-slider">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-size</property>
+ <property name="show-fill-level">True</property>
+ <property name="fill-level">50</property>
+ <property name="round-digits">0</property>
+ <property name="digits">0</property>
+ <property name="value-pos">right</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="row-label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Rows:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="row-slider">
+ <property name="width-request">180</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-rows</property>
+ <property name="show-fill-level">True</property>
+ <property name="fill-level">50</property>
+ <property name="round-digits">0</property>
+ <property name="digits">0</property>
+ <property name="value-pos">right</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="aspect-label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Aspect:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="aspect-slider">
+ <property name="width-request">180</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-aspect</property>
+ <property name="show-fill-level">True</property>
+ <property name="fill-level">50</property>
+ <property name="value-pos">right</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="use-sb">
+ <property name="label" translatable="yes">Use scrollbar</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="stretch">
+ <property name="label" translatable="yes">Stretch to fill</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/command-palette-main.glade b/share/ui/command-palette-main.glade
new file mode 100644
index 0000000..ae28c23
--- /dev/null
+++ b/share/ui/command-palette-main.glade
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.1 -->
+<interface>
+ <requires lib="gtk+" version="3.22"/>
+ <object class="GtkBox" id="CPBase">
+ <property name="name">CommandPaletteBase</property>
+ <property name="width-request">720</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkSearchBar" id="CPSearchBar">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="search-mode-enabled">True</property>
+ <child>
+ <object class="GtkBox" id="CPHeader">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkSearchEntry" id="CPFilter">
+ <property name="name">CPFilter</property>
+ <property name="width-request">696</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="primary-icon-name">edit-find-symbolic</property>
+ <property name="primary-icon-activatable">False</property>
+ <property name="primary-icon-sensitive">False</property>
+ <style>
+ <class name=".cpfilter"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="CPListBase">
+ <property name="height-request">300</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkScrolledWindow" id="CPSuggestionsScroll">
+ <property name="height-request">300</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="shadow-type">in</property>
+ <child>
+ <object class="GtkViewport">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkListBox" id="CPSuggestions">
+ <property name="name">CPSuggestions</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="CPHistoryScroll">
+ <property name="height-request">300</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="shadow-type">in</property>
+ <child>
+ <object class="GtkViewport">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkListBox" id="CPHistory">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/command-palette-operation.glade b/share/ui/command-palette-operation.glade
new file mode 100644
index 0000000..b3782cc
--- /dev/null
+++ b/share/ui/command-palette-operation.glade
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.36.0 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkImage" id="copy-icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">edit-copy</property>
+ </object>
+ <object class="GtkEventBox" id="CPOperation">
+ <property name="name">CPOperation</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="border_width">0</property>
+ <child>
+ <object class="GtkBox" id="CPSynapseBox">
+ <property name="name">CPSynapseBox</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="CPName">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text">Untranslated Name</property>
+ <property name="margin_start">10</property>
+ <property name="margin_end">10</property>
+ <property name="margin_top">6</property>
+ <property name="margin_bottom">6</property>
+ <property name="label">Name</property>
+ <property name="single_line_mode">True</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="weight" value="semibold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="CPDescription">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">A very long description to fill empty space until we encounter ellipsis may be wrong spelling</property>
+ <property name="ellipsize">end</property>
+ <property name="single_line_mode">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="CPActionFullName">
+ <property name="label"></property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Click to Copy</property>
+ <property name="image">copy-icon</property>
+ <property name="relief">none</property>
+ <property name="always_show_image">True</property>
+ <style>
+ <class name="flat"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="CPShortcut">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text" translatable="yes">Shortcut</property>
+ <property name="margin_start">10</property>
+ <property name="margin_end">10</property>
+ <property name="margin_top">10</property>
+ <property name="margin_bottom">10</property>
+ <property name="label" translatable="yes">Ctrl+F</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="CPGroup">
+ <property name="name">CPGroup</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">False</property>
+ <property name="margin_end">10</property>
+ <property name="label">Group</property>
+ <property name="single_line_mode">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/dialog-css.glade b/share/ui/dialog-css.glade
new file mode 100644
index 0000000..4a5febb
--- /dev/null
+++ b/share/ui/dialog-css.glade
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkBox" id="CSSSelectorContainer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="baseline_position">top</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEventBox" id="CSSSelectorEventAdd">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_right">5</property>
+ <property name="icon_name">list-add</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEventBox" id="CSSSelectorEventBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="CSSSelector">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Selector</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="CSSEditSelector">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"> {</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkTreeView" id="CSSTree">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="hscroll_policy">natural</property>
+ <property name="vscroll_policy">natural</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">True</property>
+ <property name="hover_selection">True</property>
+ <property name="show_expanders">False</property>
+ <property name="tooltip_column">6</property>
+ <property name="activate_on_single_click">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="CSSTreeData"/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="CSSSelectorFilled">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="label">}</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_top">6</property>
+ <property name="margin_bottom">6</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/dialog-export.glade b/share/ui/dialog-export.glade
new file mode 100644
index 0000000..e280be2
--- /dev/null
+++ b/share/ui/dialog-export.glade
@@ -0,0 +1,1145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkBox" id="Export Dialog Box">
+ <property name="name">ExportDialog</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="double-buffered">False</property>
+ <property name="orientation">vertical</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkNotebook" id="Export Notebook">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="double-buffered">False</property>
+ <property name="show-border">False</property>
+ <child>
+ <object class="GtkBox" id="Single Image">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="double-buffered">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkScrolledWindow" id="s_scroll">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="double-buffered">False</property>
+ <property name="vexpand">True</property>
+ <property name="hscrollbar-policy">never</property>
+ <property name="window-placement-set">False</property>
+ <property name="overlay-scrolling">False</property>
+ <child>
+ <object class="GtkViewport">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hscroll-policy">natural</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <!-- n-columns=6 n-rows=15 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">5</property>
+ <property name="row-spacing">5</property>
+ <property name="column-spacing">10</property>
+ <child>
+ <object class="GtkSpinButton" id="si_left_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ <property name="caps-lock-warning">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_bottom_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_width_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_height_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="label" translatable="yes">Image Size</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">8</property>
+ <property name="width">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="si_units_row">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Units</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="si_units">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="active">1</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">7</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="spacing">20</property>
+ <child>
+ <object class="GtkImage" id="si_preview">
+ <property name="name">export_preview_single</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="stock">gtk-missing-image</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="valign">center</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkCheckButton" id="si_show_preview">
+ <property name="label" translatable="yes">Show Preview</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">False</property>
+ <property name="no-show-all">True</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="si_hide_all">
+ <property name="label" translatable="yes">Export Selected only</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">False</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="si_default_opts">
+ <property name="label" translatable="yes">Hide Export Settings</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Don't pop up the export options and use the previously used or default options.</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="pack-type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">14</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_top_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_right_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="si_label_height">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Height</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="si_label_width">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Width</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="si_label_left">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Left</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="si_label_right">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Right</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="si_label_bottom">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Bottom</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="si_label_top">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Top</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Width
+(px)</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Height
+(px)</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_img_width_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="valign">center</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ <property name="input-purpose">number</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_img_height_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="valign">center</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">DPI</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="si_dpi_sb">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="valign">start</property>
+ <property name="hexpand">True</property>
+ <property name="width-chars">0</property>
+ <property name="max-width-chars">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=5 n-rows=1 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="row-spacing">2</property>
+ <property name="column-spacing">20</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">9</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=4 n-rows=1 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkRadioButton" id="si_s_selection">
+ <property name="label" translatable="yes">Selection</property>
+ <property name="name">export_selection</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Export selected objects</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">si_s_document</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="si_s_document">
+ <property name="label" translatable="yes">Document</property>
+ <property name="name">export_selection</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Export everything inside document</property>
+ <property name="hexpand">True</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="si_s_page">
+ <property name="label" translatable="yes">Page</property>
+ <property name="name">export_selection</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Export cropped content inside the page</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">si_s_document</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="si_s_custom">
+ <property name="label" translatable="yes">Custom</property>
+ <property name="name">export_selection</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Export custom area by specifying coordinates</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">si_s_document</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton" id="page_prev">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Select the previous page</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">pan-start</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="si_area_name">
+ <property name="can-focus">False</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="label">{name}</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="page_next">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Select the next page</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">pan-end</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">13</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=2 n-rows=3 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="row-spacing">5</property>
+ <property name="column-spacing">10</property>
+ <child>
+ <object class="GtkEntry" id="si_filename">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="secondary-icon-name">folder-open</property>
+ <property name="secondary-icon-tooltip-text" translatable="yes">Browse export directory</property>
+ <property name="placeholder-text" translatable="yes">Filename</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="si_extention">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Select export format</property>
+ <property name="valign">center</property>
+ <property name="active">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkProgressBar" id="si_progress">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="si_export">
+ <property name="label" translatable="yes">Export</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Export a part of document</property>
+ <property name="label" translatable="yes">Single Image</property>
+ <property name="justify">right</property>
+ </object>
+ <packing>
+ <property name="tab-expand">True</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="Batch Export">
+ <property name="visible">True</property>
+ <property name="no-show-all">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow" id="b_scroll">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="vexpand">True</property>
+ <property name="hscrollbar-policy">never</property>
+ <property name="window-placement-set">False</property>
+ <property name="overlay-scrolling">False</property>
+ <child>
+ <object class="GtkViewport">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <!-- n-columns=6 n-rows=6 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">5</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">10</property>
+ <property name="column-spacing">10</property>
+ <child>
+ <object class="GtkScrolledWindow" id="b_pbox_scroll">
+ <property name="height-request">150</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="shadow-type">in</property>
+ <child>
+ <object class="GtkViewport">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkFlowBox" id="b_preview_box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="column-spacing">6</property>
+ <property name="row-spacing">6</property>
+ <property name="max-children-per-line">10</property>
+ <property name="selection-mode">none</property>
+ <property name="activate-on-single-click">False</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="layout-style">expand</property>
+ <child>
+ <object class="GtkRadioButton" id="b_s_selection">
+ <property name="label" translatable="yes">Selection</property>
+ <property name="name">export_selection</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Export selected objects to separate files</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="b_s_layers">
+ <property name="label" translatable="yes">Layers</property>
+ <property name="name">export_selection</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Export layers as separate files</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">b_s_selection</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="b_s_pages">
+ <property name="label" translatable="yes">Pages</property>
+ <property name="name">export_selection</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Export pages as separate files</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">b_s_selection</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="b_show_preview">
+ <property name="label" translatable="yes">Preview</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ <property name="width">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="b_num_elements">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label">5 Items</property>
+ </object>
+ <packing>
+ <property name="left-attach">5</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="b_hide_all">
+ <property name="label" translatable="yes">Export Selected Only</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ <property name="width">6</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=2 n-rows=2 -->
+ <object class="GtkGrid" id="b_export_list">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="row-spacing">10</property>
+ <property name="column-spacing">10</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">4</property>
+ <property name="width">6</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=1 n-rows=3 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">5</property>
+ <property name="row-spacing">5</property>
+ <property name="column-spacing">10</property>
+ <child>
+ <object class="GtkEntry" id="b_filename">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="secondary-icon-name">folder-open</property>
+ <property name="placeholder-text" translatable="yes">Filename</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="b_export">
+ <property name="label" translatable="yes">Export</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkProgressBar" id="b_progress_bar">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Export to multiple files and file formats</property>
+ <property name="label" translatable="yes">Batch Export</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab-expand">True</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/dialog-filter-editor.glade b/share/ui/dialog-filter-editor.glade
new file mode 100644
index 0000000..908e0d7
--- /dev/null
+++ b/share/ui/dialog-filter-editor.glade
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
+<interface>
+ <requires lib="gtk+" version="3.18"/>
+ <object class="GtkListStore" id="FilterStore">
+ <columns>
+ <!-- column-name Effect -->
+ <column type="gchararray"/>
+ <!-- column-name Name -->
+ <column type="gchararray"/>
+ <!-- column-name gboolean1 -->
+ <column type="gboolean"/>
+ <!-- column-name Origin -->
+ <column type="GObject"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">test1</col>
+ <col id="1" translatable="yes">a</col>
+ <col id="2">False</col>
+ <col id="3"/>
+ </row>
+ <row>
+ <col id="0" translatable="yes">test2</col>
+ <col id="1" translatable="yes">b</col>
+ <col id="2">False</col>
+ <col id="3"/>
+ </row>
+ <row>
+ <col id="0" translatable="yes">test3</col>
+ <col id="1" translatable="yes">c</col>
+ <col id="2">False</col>
+ <col id="3"/>
+ </row>
+ <row>
+ <col id="0" translatable="yes"/>
+ <col id="1" translatable="yes"/>
+ <col id="2">False</col>
+ <col id="3"/>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="FilterStore1">
+ <columns>
+ <!-- column-name origin_name -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">whatever</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">second choice</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkBox" id="FilterEditor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkComboBoxText" id="FilterList">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <items>
+ <item translatable="yes">filter1</item>
+ <item translatable="yes">filter2</item>
+ </items>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">FER: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">X: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="FilterFERX">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="input_purpose">number</property>
+ <property name="orientation">vertical</property>
+ <property name="value">-0.10000000000000001</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Y: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="FilterFERY">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="orientation">vertical</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">W: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="FilterFERW">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="orientation">vertical</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">H: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">8</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="FilterFERH">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="orientation">vertical</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">9</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPaned">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkTreeView" id="FilterPrimitiveList">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="model">FilterStore</property>
+ <property name="headers_clickable">False</property>
+ <property name="reorderable">True</property>
+ <property name="fixed_height_mode">True</property>
+ <property name="enable_tree_lines">True</property>
+ <property name="activate_on_single_click">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn">
+ <property name="sizing">fixed</property>
+ <property name="title" translatable="yes">Effect</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext4"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn">
+ <property name="sizing">fixed</property>
+ <property name="title" translatable="yes">Name</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext44"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn">
+ <property name="sizing">fixed</property>
+ <property name="title" translatable="yes">Origin(s)</property>
+ <property name="expand">True</property>
+ <child>
+ <object class="GtkCellRendererCombo" id="cellrenderertext45">
+ <property name="model">FilterStore1</property>
+ <property name="text_column">0</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkComboBox" id="FilterPrimitiveDropDown">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="FilterPrimitiveAdd">
+ <property name="label" translatable="yes">Add</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkDrawingArea" id="FilterPreview">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage" id="FilterPrimitiveDescImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-dialog-info</property>
+ <property name="icon_size">6</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="FilterPrimitiveDescText">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">This effect does this and that.</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <object class="GtkComboBox" id="OptionList">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="model">FilterStore1</property>
+ <property name="active">0</property>
+ <property name="id_column">0</property>
+ </object>
+</interface>
diff --git a/share/ui/dialog-livepatheffect-add.glade b/share/ui/dialog-livepatheffect-add.glade
new file mode 100644
index 0000000..ff6d298
--- /dev/null
+++ b/share/ui/dialog-livepatheffect-add.glade
@@ -0,0 +1,449 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkDialog" id="LPEDialogSelector">
+ <property name="name">LPEDialogSelector</property>
+ <property name="can_focus">False</property>
+ <property name="title" translatable="yes">Live Path Effects Selector</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <property name="skip_taskbar_hint">True</property>
+ <property name="gravity">static</property>
+ <property name="has_resize_grip">True</property>
+ <child type="titlebar">
+ <placeholder/>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="baseline_position">top</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="LPESelector">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">start</property>
+ <property name="orientation">vertical</property>
+ <property name="baseline_position">top</property>
+ <child>
+ <object class="GtkSearchBar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="search_mode_enabled">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <child>
+ <object class="GtkSearchEntry" id="LPEFilter">
+ <property name="width_request">300</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="is_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="activates_default">True</property>
+ <property name="primary_icon_name">edit-find-symbolic</property>
+ <property name="primary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">False</property>
+ <style>
+ <class name="iconymbolic"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">5</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox" id="LPESelectorAllButtonBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="layout_style">expand</property>
+ <child>
+ <object class="GtkRadioButton" id="LPESelectorEffectRadioPackLess">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
+ <property name="draw_indicator">False</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectPackLessImage">
+ <property name="name">LPESelectorEffectPackLessImage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="pixel_size">22</property>
+ <property name="icon_name">pack-less</property>
+ <property name="icon_size">2</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ <property name="non_homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="LPESelectorEffectRadioPackMore">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="draw_indicator">False</property>
+ <property name="group">LPESelectorEffectRadioPackLess</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectPackMoreImage">
+ <property name="name">LPESelectorEffectPackMoreImage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="pixel_size">22</property>
+ <property name="icon_name">pack-more</property>
+ <property name="icon_size">2</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ <property name="non_homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="LPESelectorEffectRadioList">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="draw_indicator">False</property>
+ <property name="group">LPESelectorEffectRadioPackLess</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectListImage">
+ <property name="name">LPESelectorEffectListImage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="pixel_size">22</property>
+ <property name="icon_name">hamburger-menu</property>
+ <property name="icon_size">2</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ <property name="non_homogeneous">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">4</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEventBox" id="LPESelectorEffectEventFavShow">
+ <property name="name">LPESelectorEffectEventFavShow</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectFavShowImage">
+ <property name="name">LPESelectorEffectFavShowImage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="pixel_size">25</property>
+ <property name="icon_name">draw-star-outline</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="fab"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">5</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="LPEExperimental">
+ <property name="name">LPEExperimental</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Show Experimental</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">5</property>
+ <property name="position">8</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="searchbar"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="LPEInfo">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="label" translatable="yes">Message</property>
+ <property name="justify">center</property>
+ <property name="ellipsize">end</property>
+ <style>
+ <class name="lpeinfo"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="LPEScrolled">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">in</property>
+ <property name="min_content_width">800</property>
+ <property name="min_content_height">10</property>
+ <property name="propagate_natural_height">True</property>
+ <child>
+ <object class="GtkViewport" id="LPEViewport">
+ <property name="name">LPEViewport</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkFlowBox" id="LPESelectorFlowBox">
+ <property name="name">LPESelectorFlowBox</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="valign">start</property>
+ <property name="column_spacing">1</property>
+ <property name="row_spacing">1</property>
+ <property name="min_children_per_line">3</property>
+ <property name="max_children_per_line">30</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <style>
+ <class name="symbolic"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <object class="GtkPopover" id="LPESelectorEffectInfoPop">
+ <property name="name">LPESelectorEffectInfoPop</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="valign">start</property>
+ <property name="relative_to">LPEInfo</property>
+ <property name="position">bottom</property>
+ <property name="modal">False</property>
+ <property name="transitions_enabled">False</property>
+ <child>
+ <object class="GtkEventBox" id="LPESelectorEffectInfoEventBox">
+ <property name="name">LPESelectorEffectInfoEventBox</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectInfoIcon">
+ <property name="name">LPESelectorEffectInfoIcon</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="pixel_size">40</property>
+ <property name="icon_name">align-vertical-baseline</property>
+ <property name="icon_size">6</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="LPESelectorEffectInfoName">
+ <property name="name">LPESelectorEffectInfoName</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Name</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="max_width_chars">20</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="LPESelectorEffectInfoDescription">
+ <property name="name">LPESelectorEffectInfoDescription</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Description</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="max_width_chars">20</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="popover symbolic"/>
+ </style>
+ </object>
+</interface>
diff --git a/share/ui/dialog-livepatheffect-effect.glade b/share/ui/dialog-livepatheffect-effect.glade
new file mode 100644
index 0000000..bee2189
--- /dev/null
+++ b/share/ui/dialog-livepatheffect-effect.glade
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkEventBox" id="LPESelectorEffect">
+ <property name="name">LPESelectorEffect</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="valign">start</property>
+ <property name="visible_window">False</property>
+ <child>
+ <object class="GtkBox" id="LPESelectorEffectBox">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="double_buffered">False</property>
+ <property name="halign">start</property>
+ <property name="hexpand">False</property>
+ <property name="orientation">vertical</property>
+ <property name="baseline_position">top</property>
+ <child>
+ <object class="GtkOverlay" id="LPEOverlay">
+ <property name="name">LPEOverlay</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage" id="LPEIcon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="pixel_size">60</property>
+ <property name="icon_name">align-vertical-baseline</property>
+ <property name="icon_size">6</property>
+ </object>
+ <packing>
+ <property name="index">1</property>
+ </packing>
+ </child>
+ <child type="overlay">
+ <object class="GtkEventBox" id="LPESelectorEffectEventFavTop">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="halign">end</property>
+ <property name="valign">start</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectFavTop">
+ <property name="name">LPESelectorEffectFavTop</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="valign">start</property>
+ <property name="pixel_size">20</property>
+ <property name="icon_name">draw-star</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="fab"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="index">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="LPEName">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">LPEName</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="ellipsize">end</property>
+ <property name="width_chars">14</property>
+ <property name="max_width_chars">23</property>
+ <style>
+ <class name="lpename"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="LPEDescription">
+ <property name="width_request">200</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="label" translatable="yes">Description</property>
+ <property name="use_markup">True</property>
+ <property name="ellipsize">end</property>
+ <property name="single_line_mode">True</property>
+ <property name="lines">1</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="LPEExperimentalToggle">
+ <property name="label" translatable="yes">Experimental</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="no_show_all">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEventBox" id="LPESelectorEffectEventExpander">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectExpander">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="margin_left">5</property>
+ <property name="margin_right">5</property>
+ <property name="margin_top">5</property>
+ <property name="margin_bottom">5</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">go-down</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="info"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox" id="LPESelectorButtonBox">
+ <property name="name">LPESelectorButtonBox</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="baseline_position">top</property>
+ <property name="layout_style">center</property>
+ <child>
+ <object class="GtkEventBox" id="LPESelectorEffectEventInfo">
+ <property name="name">LPESelectorEffectEventInfo</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="valign">start</property>
+ <property name="visible_window">False</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectInfo">
+ <property name="name">LPESelectorEffectInfo</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="valign">start</property>
+ <property name="pixel_size">23</property>
+ <property name="icon_name">info-outline</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="info"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ <property name="non_homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEventBox" id="LPESelectorEffectEventFav">
+ <property name="name">LPESelectorEffectEventFav</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="visible_window">False</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectFav">
+ <property name="name">LPESelectorEffectFav</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="pixel_size">23</property>
+ <property name="icon_name">draw-star-outline</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="fab"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ <property name="non_homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEventBox" id="LPESelectorEffectEventApply">
+ <property name="name">LPESelectorEffectEventApply</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="visible_window">False</property>
+ <child>
+ <object class="GtkImage">
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="pixel_size">23</property>
+ <property name="icon_name">on-outline</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="apply"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
+ <property name="non_homogeneous">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <style>
+ <class name="lpeselectoreffect"/>
+ </style>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/dialog-save-template.glade b/share/ui/dialog-save-template.glade
new file mode 100644
index 0000000..ab34ee5
--- /dev/null
+++ b/share/ui/dialog-save-template.glade
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.2 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkDialog" id="dialog">
+ <property name="width_request">400</property>
+ <property name="height_request">200</property>
+ <property name="can_focus">False</property>
+ <property name="title" translatable="yes">Save Document as Template</property>
+ <property name="type_hint">dialog</property>
+ <child type="titlebar">
+ <placeholder/>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Name: </property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Author: </property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Description: </property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Keywords: </property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="name">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="author">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="description">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="keywords">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="set-default">
+ <property name="label" translatable="yes">Set as default template</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/dialog-text-edit.glade b/share/ui/dialog-text-edit.glade
new file mode 100644
index 0000000..135efae
--- /dev/null
+++ b/share/ui/dialog-text-edit.glade
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.2 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkTextBuffer" id="text_buffer"/>
+ <object class="GtkBox" id="contents">
+ <property name="name">TextEdit Dialog Box</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkNotebook" id="notebook">
+ <property name="name">TextEdit Notebook</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <object class="GtkBox" id="font_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">4</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkLabel" id="preview_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="no">text</property>
+ <property name="justify">center</property>
+ <property name="ellipsize">end</property>
+ <property name="single_line_mode">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">_Font</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="feat_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">4</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkLabel" id="preview_label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="no">text</property>
+ <property name="justify">center</property>
+ <property name="ellipsize">end</property>
+ <property name="single_line_mode">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">_Features</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTextView" id="text_view">
+ <property name="height_request">64</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="wrap_mode">word</property>
+ <property name="buffer">text_buffer</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">_Text</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">4</property>
+ <property name="layout_style">start</property>
+ <child>
+ <object class="GtkButton" id="setasdefault_button">
+ <property name="label" translatable="yes">Set as _default</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="apply_button">
+ <property name="label" translatable="yes">Apply</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/dialog-trace.glade b/share/ui/dialog-trace.glade
new file mode 100644
index 0000000..578bead
--- /dev/null
+++ b/share/ui/dialog-trace.glade
@@ -0,0 +1,1515 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkAdjustment" id="MS_scans">
+ <property name="lower">2</property>
+ <property name="upper">256</property>
+ <property name="value">8</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">5</property>
+ </object>
+ <object class="GtkAdjustment" id="PA_curves">
+ <property name="lower">-10</property>
+ <property name="upper">10</property>
+ <property name="value">1</property>
+ <property name="step-increment">0.20</property>
+ <property name="page-increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="PA_islands">
+ <property name="lower">-20</property>
+ <property name="upper">20</property>
+ <property name="value">5</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">2</property>
+ </object>
+ <object class="GtkAdjustment" id="PA_sparse1">
+ <property name="lower">2</property>
+ <property name="upper">8</property>
+ <property name="value">4</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="PA_sparse2">
+ <property name="lower">-10</property>
+ <property name="upper">10</property>
+ <property name="value">1</property>
+ <property name="step-increment">0.20</property>
+ <property name="page-increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="SS_AT_ET_T">
+ <property name="lower">1</property>
+ <property name="upper">10</property>
+ <property name="value">2</property>
+ <property name="step-increment">0.10</property>
+ <property name="page-increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="SS_AT_FI_T">
+ <property name="lower">1</property>
+ <property name="upper">20</property>
+ <property name="value">4</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">2</property>
+ </object>
+ <object class="GtkAdjustment" id="SS_BC_T">
+ <property name="upper">1</property>
+ <property name="value">0.45</property>
+ <property name="step-increment">0.01</property>
+ <property name="page-increment">0.10</property>
+ </object>
+ <object class="GtkAdjustment" id="SS_CQ_T">
+ <property name="lower">2</property>
+ <property name="upper">64</property>
+ <property name="value">8</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">2</property>
+ </object>
+ <object class="GtkAdjustment" id="SS_ED_T">
+ <property name="upper">1</property>
+ <property name="value">0.65</property>
+ <property name="step-increment">0.01</property>
+ <property name="page-increment">0.10</property>
+ </object>
+ <object class="GtkTextBuffer" id="helptext">
+ <property name="text" translatable="yes">This dialog allows you to automatically convert a raster graphic into vector paths. Several options are available for different use cases:
+ * "Brightness cutoff" detects areas that are darker than the threshold value and creates a path enclosing them (using potrace).
+ * "Edge detection" detects changes greater than the given threshold value in the brightness of color patches and creates paths to separate them (using potrace).
+ * "Color quantization" separates the image into the given number of colors, and separates them with a path (using potrace).
+ * "Autotrace" uses the autotrace algorithm with the given option.
+ * "Centerline tracing" tries to vectorize a line drawing (with autotrace).
+ * "Multicolor" options separate the image into a number of scans, depending on brightness, color separation, or gray levels (using potrace), or using the autotrace algorithm, and create several paths for those.
+ * The "Pixel art" tab allows to use an algorithm for pixel recognition or one for depixelizing to vectorize pixel art images.
+
+ * NOTE:
+ 1) Save your work before tracing
+ 2) Watch your pixel count: "Trace pixel art" creates up to one path per pixel. It is not recommended for images that are not pixel art.
+ 3) Autotrace is slower than potrace, it is not recommended for big images. Preprocessing your images to increase contrast is recommended.
+ 4) If your goal is to get few nodes and good precision, manual tracing is always best.</property>
+ </object>
+ <object class="GtkPopover" id="popover1">
+ <property name="width-request">300</property>
+ <property name="height-request">400</property>
+ <property name="can-focus">False</property>
+ <property name="constrain-to">none</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hscrollbar-policy">never</property>
+ <property name="overlay-scrolling">False</property>
+ <child>
+ <object class="GtkTextView">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hscroll-policy">natural</property>
+ <property name="vscroll-policy">natural</property>
+ <property name="editable">False</property>
+ <property name="wrap-mode">word</property>
+ <property name="buffer">helptext</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">off-outline-symbolic</property>
+ </object>
+ <object class="GtkAdjustment" id="optimize">
+ <property name="upper">5</property>
+ <property name="value">0.20</property>
+ <property name="step-increment">0.05</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="smooth">
+ <property name="upper">1.34</property>
+ <property name="value">1</property>
+ <property name="step-increment">0.01</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="speckles">
+ <property name="upper">1000</property>
+ <property name="value">2</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkBox" id="mainBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox" id="orient_box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="baseline-position">top</property>
+ <child>
+ <object class="GtkNotebook" id="choice_tab">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="no-show-all">True</property>
+ <property name="valign">start</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">False</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="valign">start</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <!-- n-columns=4 n-rows=14 -->
+ <object class="GtkGrid" id="_param_grid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="valign">start</property>
+ <property name="margin-start">8</property>
+ <property name="margin-end">8</property>
+ <property name="margin-top">4</property>
+ <property name="margin-bottom">4</property>
+ <property name="row-spacing">4</property>
+ <child>
+ <object class="GtkCheckButton" id="CB_speckles">
+ <property name="label" translatable="yes">Speckles</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Ignore small spots (speckles) in the bitmap</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_smooth">
+ <property name="label" translatable="yes">Smooth corners</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Smooth out sharp corners of the trace</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="width-request">60</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">speckles</property>
+ <property name="round-digits">1</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">10</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">smooth</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">11</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_optimize">
+ <property name="label" translatable="yes">Optimize</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Try to optimize paths by joining adjacent Bezier curve segments</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">optimize</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">12</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Threshold</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Edge threshold</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Colors</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Filter iterations</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Error threshold</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_invert">
+ <property name="label" translatable="yes">Invert image</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Invert black and white regions</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">7</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Details:</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">9</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_AT_ET_T</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">6</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_AT_FI_T</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">5</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_CQ_T</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_ED_T</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_BC_T</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="CBT_SS">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="active">0</property>
+ <items>
+ <item id="SS_BC" translatable="yes">Brightness cutoff</item>
+ <item id="SS_ED" translatable="yes">Edge detection</item>
+ <item id="SS_CQ" translatable="yes">Color quantization</item>
+ <item id="SS_AT" translatable="yes">Autotrace</item>
+ <item id="SS_CT" translatable="yes">Centerline tracing (autotrace)</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Detection mode:</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_BC_T</property>
+ <property name="digits">3</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_ED_T</property>
+ <property name="digits">3</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_CQ_T</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_AT_FI_T</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">SS_AT_ET_T</property>
+ <property name="digits">1</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Speckles of up to this many pixels will be suppressed</property>
+ <property name="adjustment">speckles</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Increase this to smooth corners more</property>
+ <property name="adjustment">smooth</property>
+ <property name="digits">2</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Increase this to reduce the number of nodes in the trace by more aggressive optimization</property>
+ <property name="adjustment">optimize</property>
+ <property name="digits">3</property>
+ <property name="value">0.20</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_SIOX">
+ <property name="label" translatable="yes">User-assisted trace</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Cover the area you want to select as the foreground then select both objects</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">13</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Single scan</property>
+ </object>
+ <packing>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="valign">start</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <!-- n-columns=4 n-rows=14 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="valign">start</property>
+ <property name="margin-start">8</property>
+ <property name="margin-end">8</property>
+ <property name="margin-top">4</property>
+ <property name="margin-bottom">4</property>
+ <property name="row-spacing">4</property>
+ <child>
+ <object class="GtkComboBoxText" id="CBT_MS">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="active">0</property>
+ <items>
+ <item id="MS_BS" translatable="yes">Brightness steps</item>
+ <item id="MS_C" translatable="yes">Colors</item>
+ <item id="MS_BW" translatable="yes">Grays</item>
+ <item id="MS_AT" translatable="yes">Autotrace (slower)</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Scans</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Detection mode:</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_MS_smooth">
+ <property name="label" translatable="yes">Smooth</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Apply Gaussian blur to the bitmap before tracing</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_MS_rb">
+ <property name="label" translatable="yes">Remove background</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Remove bottom (background) layer when done</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">5</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">The desired number of scans</property>
+ <property name="adjustment">MS_scans</property>
+ <property name="value">8</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Details:</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">8</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="width-request">60</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">speckles</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">10</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Speckles of up to this many pixels will be suppressed</property>
+ <property name="adjustment">speckles</property>
+ <property name="value">2</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_speckles1">
+ <property name="label" translatable="yes">Speckles</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Ignore small spots (speckles) in the bitmap</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_optimize1">
+ <property name="label" translatable="yes">Optimize</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Try to optimize paths by joining adjacent Bezier curve segments</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">optimize</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">12</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Increase this to smooth corners more</property>
+ <property name="adjustment">smooth</property>
+ <property name="digits">2</property>
+ <property name="value">1</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">smooth</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">11</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_smooth1">
+ <property name="label" translatable="yes">Smooth corners</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Smooth out sharp corners of the trace</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Increase this to reduce the number of nodes in the trace by more aggressive optimization</property>
+ <property name="adjustment">optimize</property>
+ <property name="digits">3</property>
+ <property name="value">0.20</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_SIOX1">
+ <property name="label" translatable="yes">User-assisted trace</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Cover the area you want to select as the foreground then select both objects</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">13</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">MS_scans</property>
+ <property name="round-digits">1</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_MS_stack">
+ <property name="label" translatable="yes">Stack</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Stack scans on top of one another (no gaps) instead of tiling (usually with gaps)</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Multicolor</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="valign">start</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <!-- n-columns=3 n-rows=10 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="valign">start</property>
+ <property name="margin-start">8</property>
+ <property name="margin-end">8</property>
+ <property name="margin-top">4</property>
+ <property name="margin-bottom">4</property>
+ <property name="row-spacing">4</property>
+ <property name="column-spacing">2</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Favors connections that are part of a long curve (multiplier)</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Curves</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Avoid single disconnected pixels (weight)</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Islands</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Favors connections that are part of foreground color</property>
+ <property name="halign">start</property>
+ <property name="margin-top">8</property>
+ <property name="label" translatable="yes">Sparse pixels:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">The heuristic computed vote will be multiplied by this value</property>
+ <property name="adjustment">PA_curves</property>
+ <property name="digits">3</property>
+ <property name="numeric">True</property>
+ <property name="value">1</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">A constant vote value</property>
+ <property name="adjustment">PA_islands</property>
+ <property name="numeric">True</property>
+ <property name="value">5</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">The radius of the window analyzed</property>
+ <property name="adjustment">PA_sparse1</property>
+ <property name="numeric">True</property>
+ <property name="value">2</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">The heuristic computed vote will be multiplied by this value</property>
+ <property name="adjustment">PA_sparse2</property>
+ <property name="digits">3</property>
+ <property name="numeric">True</property>
+ <property name="value">1</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes"> Heuristics:</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="width-request">60</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">PA_curves</property>
+ <property name="round-digits">1</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">PA_islands</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">PA_sparse1</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">PA_sparse2</property>
+ <property name="draw-value">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="label" translatable="yes">B-splines</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Preserve staircasing artifacts</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ <property name="group">RB_PA_voronoi</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">9</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="RB_PA_voronoi">
+ <property name="label" translatable="yes">Voronoi</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Output composed of straight lines</property>
+ <property name="halign">start</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">8</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes"> Output:</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">7</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="CB_PA_optimize">
+ <property name="label" translatable="yes">Optimize</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Try to optimize paths by joining adjacent Bezier curve segments</property>
+ <property name="halign">start</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">6</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Favors connections that are part of foreground color</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Multiplier</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Favors connections that are part of foreground color</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Window radius</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Pixel art</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="_preview_frame">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="margin-end">4</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-left">5</property>
+ <property name="margin-right">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkDrawingArea" id="previewArea">
+ <property name="width-request">100</property>
+ <property name="height-request">100</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-bottom">4</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkCheckButton" id="_live_preview">
+ <property name="label" translatable="yes">Live updates</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="B_Update">
+ <property name="label" translatable="yes">Update preview</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="halign">center</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack-type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">4</property>
+ <property name="label" translatable="yes">Preview:</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <child>
+ <object class="GtkMenuButton" id="help-btn">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Instructions</property>
+ <property name="margin-end">4</property>
+ <property name="direction">up</property>
+ <property name="popover">popover1</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">info-outline-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="B_STOP">
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Abort trace operation</property>
+ <property name="image">image1</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="halign">baseline</property>
+ <property name="spacing">3</property>
+ <property name="layout-style">center</property>
+ <child>
+ <object class="GtkButton" id="B_RESET">
+ <property name="label">gtk-revert-to-saved</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="use-stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="B_OK">
+ <property name="label" translatable="yes">Apply</property>
+ <property name="width-request">150</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/gradient-edit.glade b/share/ui/gradient-edit.glade
new file mode 100644
index 0000000..b556563
--- /dev/null
+++ b/share/ui/gradient-edit.glade
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.1 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkPopover" id="libraryPopover">
+ <property name="width-request">360</property>
+ <property name="height-request">440</property>
+ <property name="can-focus">False</property>
+ <property name="position">bottom</property>
+ <property name="constrain-to">none</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <object class="GtkAdjustment" id="offset">
+ <property name="upper">1</property>
+ <property name="step-increment">0.01</property>
+ <property name="page-increment">0.1</property>
+ </object>
+ <object class="GtkMenu" id="repeatMenu">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="reserve-toggle-size">False</property>
+ <child>
+ <object class="GtkMenuItem" id="repeatNone">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">None</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="repeatDirect">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Direct</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="repeatReflected">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Reflected</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ </object>
+ <!-- n-columns=2 n-rows=4 -->
+ <object class="GtkGrid" id="mainGrid">
+ <property name="name">mainGrid</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="column-spacing">4</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="width-request">65</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="margin-start">4</property>
+ <property name="label" translatable="yes">Gradient:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="libraryBtn">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Gradient library</property>
+ <property name="valign">center</property>
+ <property name="margin-left">4</property>
+ <property name="margin-start">4</property>
+ <property name="popover">libraryPopover</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">8</property>
+ <property name="icon-name">gradient-library</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">pan-down-symbolic</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="linearBtn">
+ <property name="sensitive">False</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="no-show-all">True</property>
+ <property name="tooltip-text" translatable="yes">Linear gradient</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="radialBtn">
+ <property name="sensitive">False</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="no-show-all">True</property>
+ <property name="tooltip-text" translatable="yes">Radial gradient</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="reverseBtn">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Reverse the direction of the gradient</property>
+ <property name="margin-end">16</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">4</property>
+ <property name="label" translatable="yes">Repeat:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="repeatMode">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
+ <property name="relief">none</property>
+ <property name="popup">repeatMenu</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkImage" id="repeatIco">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">8</property>
+ <property name="stock">gtk-missing-image</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">pan-down-symbolic</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">7</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="stopBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">12</property>
+ <property name="margin-top">3</property>
+ <property name="margin-bottom">3</property>
+ <property name="hexpand">True</property>
+ <child>
+ <object class="GtkExpander" id="stopsBtn">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="valign">center</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Stops</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">end</property>
+ <property name="margin-end">4</property>
+ <property name="label" translatable="yes">Stop Offset:</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="offsetSpin">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Offset of selected stop</property>
+ <property name="adjustment">offset</property>
+ <property name="digits">2</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="gradientBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">2</property>
+ <property name="margin-top">2</property>
+ <property name="hexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child>
+ <object class="GtkBox" id="stopsGallery">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="margin-left">4</property>
+ <property name="margin-start">4</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="margin-top">1</property>
+ <property name="margin-bottom">1</property>
+ <property name="shadow-type">in</property>
+ <child>
+ <object class="GtkTreeView" id="stopList">
+ <property name="width-request">65</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="border-width">1</property>
+ <property name="headers-visible">False</property>
+ <property name="enable-search">False</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection"/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="stopButtons">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton" id="stopAdd">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Insert new stop</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="stopDelete">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Delete stop</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="colorsBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/gradient-stop.svg b/share/ui/gradient-stop.svg
new file mode 100644
index 0000000..c2578ed
--- /dev/null
+++ b/share/ui/gradient-stop.svg
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ inkscape:version="1.1-dev (cafa0e10d4, 2021-01-08, custom)"
+ id="svg8"
+ version="1.1"
+ viewBox="0 0 16 23"
+ height="23"
+ width="16"
+ sodipodi:docname="gradient-stop.svg"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <style
+ id="style1008">
+.hole {
+ fill:black;
+}
+.selected { opacity:0.5; }
+.opacity { opacity:0.5; }
+.color { fill:#00ff00; }
+.inner { stroke:#ff0000; }
+.outer { fill: yellow; stroke: none; opacity: 0.3; }
+</style>
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ inkscape:showpageshadow="false"
+ width="1100px"
+ units="px"
+ showgrid="true"
+ inkscape:current-layer="layer1"
+ inkscape:document-units="px"
+ inkscape:cy="12"
+ inkscape:cx="10.15625"
+ inkscape:zoom="16"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ objecttolerance="10.0"
+ gridtolerance="10.0"
+ guidetolerance="10.0"
+ inkscape:pagecheckerboard="true"
+ inkscape:document-rotation="0"
+ inkscape:window-width="1500"
+ inkscape:window-height="933"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid1034" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <path
+ d="M 8,0 C 7.2449547,0 6.9403102,0.37592866 6.564904,0.75168557 L 1.108173,6.2202604 C 0.42651631,6.8892306 0,7.8276025 0,8.8605325 V 19.303137 C 0,21.340536 1.6574205,23 3.6923077,23 h 8.6153843 c 2.034888,0 3.692309,-1.659464 3.692309,-3.696863 V 8.8605325 c 0,-1.0458251 -0.438787,-1.9917877 -1.134616,-2.6619333 l 0.0096,0.00722 L 9.4350819,0.75168447 C 9,0.38626631 8.7550453,0 8,0 Z"
+ id="path38"
+ sodipodi:nodetypes="zccsssssscccz"
+ class="outer"
+ style="stroke-width:1" />
+ <path
+ id="rect1038"
+ style="fill-opacity:1;stroke-width:1;stroke-linejoin:round"
+ d="M 8.0000002,1.4308745 2.3125,7.1188375 C 1.8116302,7.6094544 1.5000001,8.2919714 1.5000001,9.051476 v 9.743544 c 0,1.499423 1.2079166,2.70654 2.7083333,2.70654 h 7.5833336 c 1.500417,0 2.708334,-1.207117 2.708334,-2.70654 V 9.051476 c 0,-0.768708 -0.319938,-1.4577659 -0.831543,-1.9495545 z"
+ sodipodi:nodetypes="ccsssssscc"
+ class="inner color" />
+ <path
+ id="path871"
+ style="fill:#ffffff;fill-opacity:1;stroke-width:1"
+ d="m 1.9999999,15 v 3.800001 C 1.9999999,20.02832 2.9636501,21 4.181818,21 h 3.8181817 v -6 z"
+ sodipodi:nodetypes="cssccc" />
+ <path
+ id="path878"
+ d="M 14,15 H 7.9999997 v 6.000019 h 3.8181823 c 1.218167,0 2.181817,-0.973616 2.181817,-2.200019 z"
+ style="fill:#cccccc;fill-opacity:1;stroke-width:1"
+ sodipodi:nodetypes="cccssc" />
+ <path
+ id="path970"
+ d="M 13.999999,15 H 1.9999999 v 3.8 c 0,1.226503 0.9636502,2.200029 2.1818181,2.200029 h 7.636364 c 1.218165,0 2.181817,-0.973623 2.181817,-2.200029 z"
+ style="stroke:none;stroke-width:1"
+ class="opacity color"
+ sodipodi:nodetypes="ccssssc" />
+ <g
+ id="g3389"
+ class="selected"
+ style="">
+ <circle
+ style="stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.779775;paint-order:stroke fill markers"
+ id="path3112"
+ cx="8"
+ cy="14"
+ r="3"
+ class="outer" />
+ <circle
+ style="opacity:1;stroke:none;stroke-width:2;stroke-opacity:0.3;paint-order:stroke fill markers"
+ id="path860"
+ cx="8"
+ cy="14"
+ r="2"
+ class="hole" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/gradient-tip.svg b/share/ui/gradient-tip.svg
new file mode 100644
index 0000000..2f557b0
--- /dev/null
+++ b/share/ui/gradient-tip.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="gradient-tip.svg"
+ width="10"
+ height="5"
+ viewBox="0 0 10 5"
+ version="1.1"
+ id="svg8"
+ inkscape:version="1.0 (4035a4f, 2020-05-01)">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ inkscape:document-rotation="0"
+ inkscape:window-maximized="1"
+ inkscape:window-y="0"
+ inkscape:window-x="0"
+ inkscape:window-height="933"
+ inkscape:window-width="1500"
+ inkscape:pagecheckerboard="false"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ id="base"
+ pagecolor="#3d3d3d"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="77.388909"
+ inkscape:cx="7.2426399"
+ inkscape:cy="3.2950458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ width="9px"
+ inkscape:showpageshadow="false">
+ <inkscape:grid
+ id="grid2455"
+ type="xygrid" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ d="M 0,0 5,5 10,0 H 8.5 L 5,3.5 1.5,0 Z"
+ style="fill:#000000;fill-opacity:0.7"
+ id="path2023" />
+ <path
+ sodipodi:nodetypes="cccc"
+ d="M 1.5,0 5,3.5 8.5,0 Z"
+ style="fill:#ffffff"
+ id="path2025" />
+ </g>
+</svg>
diff --git a/share/ui/highlight-colors.css b/share/ui/highlight-colors.css
new file mode 100644
index 0000000..1739d45
--- /dev/null
+++ b/share/ui/highlight-colors.css
@@ -0,0 +1,59 @@
+/* default highlight colors; variant for light backgrounds
+ *
+ * gray, blue, yellow, red, green, orange, cyan, purple
+ */
+
+.bright .highlight-color-1 {
+ color: #babdb6;
+}
+.bright .highlight-color-2 {
+ color: #729fcf;
+}
+.bright .highlight-color-3 {
+ color: #edd400;
+}
+.bright .highlight-color-4 {
+ color: #eb486a;
+}
+.bright .highlight-color-5 {
+ color: #73b92f;
+}
+.bright .highlight-color-6 {
+ color: #fcaf3e;
+}
+.bright .highlight-color-7 {
+ color: #54d5ba;
+}
+.bright .highlight-color-8 {
+ color: #ad7fa8;
+}
+
+/* default highlight colors; variant for dark backgrounds
+ *
+ * gray, blue, yellow, red, green, orange, cyan, purple
+ */
+
+.dark .highlight-color-1 {
+ color: #b1b5ad;
+}
+.dark .highlight-color-2 {
+ color: #3b80ee;
+}
+.dark .highlight-color-3 {
+ color: #c3e33e;
+}
+.dark .highlight-color-4 {
+ color: #f3215a;
+}
+.dark .highlight-color-5 {
+ color: #36a949;
+}
+.dark .highlight-color-6 {
+ color: #f37f35;
+}
+.dark .highlight-color-7 {
+ color: #3be3c2;
+}
+.dark .highlight-color-8 {
+ color: #b85ac9;
+}
diff --git a/share/ui/inkscape-about.glade b/share/ui/inkscape-about.glade
new file mode 100644
index 0000000..ef14cca
--- /dev/null
+++ b/share/ui/inkscape-about.glade
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkImage" id="bug_icon">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">bug</property>
+ </object>
+ <object class="GtkImage" id="copy-icon">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">3</property>
+ <property name="icon-name">edit-copy</property>
+ </object>
+ <object class="GtkWindow" id="about-screen-window">
+ <property name="name">about</property>
+ <property name="can-focus">False</property>
+ <property name="title" translatable="yes">Inkscape. Draw freely.</property>
+ <property name="resizable">False</property>
+ <property name="window-position">center-always</property>
+ <property name="icon-name">org.inkscape.Inkscape</property>
+ <property name="gravity">north</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkNotebook" id="tabs">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="show-border">False</property>
+ <property name="enable-popup">True</property>
+ <property name="group-name">about_stack</property>
+ <child>
+ <object class="GtkAspectFrame" id="aspect-frame">
+ <property name="width-request">750</property>
+ <property name="height-request">625</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label-xalign">0</property>
+ <property name="shadow-type">none</property>
+ <property name="yalign">0</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="about-label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Official splash artwork of this version</property>
+ <property name="hexpand">True</property>
+ <property name="label" translatable="yes">About</property>
+ </object>
+ <packing>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="authors-box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel" id="header-authors">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">3</property>
+ <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;Do you want to get involved with Inkscape? &lt;a href="https://inkscape.org/contribute/"&gt;Check this page!&lt;/a&gt;&lt;/b&gt;&lt;/big&gt;</property>
+ <property name="use-markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">10</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="content-author">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkTextView" id="credits-authors">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="editable">False</property>
+ <property name="justification">center</property>
+ <property name="left-margin">10</property>
+ <property name="right-margin">10</property>
+ <property name="top-margin">10</property>
+ <property name="bottom-margin">10</property>
+ <property name="cursor-visible">False</property>
+ <property name="accepts-tab">False</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="padding">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="authors-label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">List of authors who contributed to the code</property>
+ <property name="hexpand">True</property>
+ <property name="label" translatable="yes">Authors</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="translators-box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel" id="header-translators">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">3</property>
+ <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;Do you want to contribute to translation activities? &lt;a href="https://inkscape.org/contribute/translations/"&gt;Join us here!&lt;/a&gt;&lt;/b&gt;&lt;/big&gt;</property>
+ <property name="use-markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">10</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="content-translators">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkTextView" id="credits-translators">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="editable">False</property>
+ <property name="justification">center</property>
+ <property name="left-margin">10</property>
+ <property name="right-margin">10</property>
+ <property name="top-margin">10</property>
+ <property name="bottom-margin">10</property>
+ <property name="cursor-visible">False</property>
+ <property name="accepts-tab">False</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="padding">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="translators-label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">List of translators</property>
+ <property name="hexpand">True</property>
+ <property name="label" translatable="yes">Translators</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="license-box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel" id="header-license">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="margin-top">3</property>
+ <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;See the full details about the Inkscape licenses &lt;a href="https://inkscape.org/about/license/"&gt;here&lt;/a&gt;!&lt;/b&gt;&lt;/big&gt;</property>
+ <property name="use-markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">10</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkViewport">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkLabel" id="license-text">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">50</property>
+ <property name="margin-end">50</property>
+ <property name="margin-top">20</property>
+ <property name="margin-bottom">20</property>
+ <property name="label" translatable="yes">License file failed to load.</property>
+ <property name="use-markup">True</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="padding">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="license-label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Inkscape license</property>
+ <property name="hexpand">True</property>
+ <property name="label" translatable="yes">License</property>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ <property name="tab-fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="about-screen-footer">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">1</property>
+ <property name="margin-bottom">5</property>
+ <child>
+ <object class="GtkLabel" id="copyright">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">10</property>
+ <property name="label" translatable="yes" context="Brief copyright notice at the footer of the About screen">© 2022 Inkscape Developers</property>
+ <property name="wrap">True</property>
+ <property name="wrap-mode">char</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLinkButton" id="website">
+ <property name="label">www.inkscape.org</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Link to the official website</property>
+ <property name="margin-start">15</property>
+ <property name="relief">none</property>
+ <property name="uri">https://inkscape.org/?about-screen=1</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=1 n-rows=1 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkRevealer">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="transition-type">crossfade</property>
+ <property name="transition-duration">1000</property>
+ <property name="reveal-child">True</property>
+ <child>
+ <object class="GtkButton" id="version">
+ <property name="label">$version</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Click to copy the version number to the clipboard</property>
+ <property name="image">copy-icon</property>
+ <property name="always-show-image">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRevealer">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="transition-type">slide-right</property>
+ <property name="transition-duration">1000</property>
+ <child>
+ <object class="GtkLabel" id="version-copied">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Version Copied!</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRevealer">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="transition-type">slide-right</property>
+ <property name="transition-duration">1000</property>
+ <child>
+ <object class="GtkLabel" id="debug-info-copied">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">Debug Info Copied!</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="debug_info">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Click to copy debug info to the clipboard</property>
+ <property name="margin-start">4</property>
+ <property name="image">bug_icon</property>
+ <property name="always-show-image">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/inkscape-start.glade b/share/ui/inkscape-start.glade
new file mode 100644
index 0000000..f1af851
--- /dev/null
+++ b/share/ui/inkscape-start.glade
@@ -0,0 +1,2252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.2
+
+Copyright (C) Martin Owens
+
+This file is part of Inkscape Extensions Manager.
+
+Inkscape Extensions Manager is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Inkscape Extensions Manager is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Inkscape Extensions Manager. If not, see <http://www.gnu.org/licenses/>.
+
+-->
+<interface>
+ <requires lib="gtk+" version="3.18"/>
+ <!-- interface-license-type gplv3 -->
+ <!-- interface-name Inkscape Extensions Manager -->
+ <!-- interface-description Download and manage inkscape extensions -->
+ <!-- interface-copyright Martin Owens -->
+ <object class="GtkListStore" id="canvases">
+ <columns>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name preview -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name pagecolor -->
+ <column type="gchararray"/>
+ <!-- column-name checkered -->
+ <column type="gboolean"/>
+ <!-- column-name border -->
+ <column type="gchararray"/>
+ <!-- column-name shadow -->
+ <column type="gboolean"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">light</col>
+ <col id="1" translatable="yes">Default</col>
+ <col id="2">resources/canvas_aw.png</col>
+ <col id="3">rgba(255, 255, 255, 0)</col>
+ <col id="4">False</col>
+ <col id="5">#999999</col>
+ <col id="6">False</col>
+ </row>
+ <row>
+ <col id="0">dark</col>
+ <col id="1" translatable="yes">Dark</col>
+ <col id="2">resources/canvas_ad.png</col>
+ <col id="3">rgba(80, 80, 80, 0)</col>
+ <col id="4">False</col>
+ <col id="5">#eeeeee</col>
+ <col id="6">False</col>
+ </row>
+ <row>
+ <col id="0">light-check</col>
+ <col id="1" translatable="yes">Light Checkerboard</col>
+ <col id="2">resources/canvas_cw.png</col>
+ <col id="3">rgba(255, 255, 255, 0)</col>
+ <col id="4">True</col>
+ <col id="5">#111111</col>
+ <col id="6">False</col>
+ </row>
+ <row>
+ <col id="0">dark-check</col>
+ <col id="1" translatable="yes">Dark Checkerboard</col>
+ <col id="2">resources/canvas_cd.png</col>
+ <col id="3">rgba(80, 80, 80, 0)</col>
+ <col id="4">True</col>
+ <col id="5">#ffffff</col>
+ <col id="6">False</col>
+ </row>
+ <row>
+ <col id="0">light-solid</col>
+ <col id="1" translatable="yes">Solid White</col>
+ <col id="2">resources/canvas_sw.png</col>
+ <col id="3">#ffffff</col>
+ <col id="4">False</col>
+ <col id="5">#cccccc</col>
+ <col id="6">False</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="keyslist">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name keys_id -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Inkscape (default)</col>
+ <col id="1">default</col>
+ </row>
+ <row>
+ <col id="0">Filled by code</col>
+ <col id="1">nope</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="pages_other">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name icon -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name filename -->
+ <column type="gchararray"/>
+ <!-- column-name width -->
+ <column type="gchararray"/>
+ <!-- column-name height -->
+ <column type="gchararray"/>
+ <!-- column-name desc -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">About Screen</col>
+ <col id="1">resources/template_about.svg</col>
+ <col id="2">about_screen.svg</col>
+ <col id="3">750px</col>
+ <col id="4">625px</col>
+ <col id="5">750px × 625px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Icon 120x120</col>
+ <col id="1">resources/template_icon_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">120px</col>
+ <col id="4">120px</col>
+ <col id="5">120px × 120px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Icon 16x16</col>
+ <col id="1">resources/template_icon_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">16px</col>
+ <col id="4">16px</col>
+ <col id="5">16px × 16px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Icon 180x180</col>
+ <col id="1">resources/template_icon_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">180px</col>
+ <col id="4">180px</col>
+ <col id="5">180px × 180px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Icon 32x32</col>
+ <col id="1">resources/template_icon_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">32px</col>
+ <col id="4">32px</col>
+ <col id="5">32px × 32px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Icon 48x48</col>
+ <col id="1">resources/template_icon_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">48px</col>
+ <col id="4">48px</col>
+ <col id="5">48px × 48px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Icon 512x512</col>
+ <col id="1">resources/template_icon_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">512px</col>
+ <col id="4">512px</col>
+ <col id="5">512px × 512px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">ID Card (ISO 7810)</col>
+ <col id="1">resources/template_businesscard_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">85.6mm</col>
+ <col id="4">53.98mm</col>
+ <col id="5">85.6mm × 53.98mm</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="pages_print">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name icon -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name filename -->
+ <column type="gchararray"/>
+ <!-- column-name width -->
+ <column type="gchararray"/>
+ <!-- column-name height -->
+ <column type="gchararray"/>
+ <!-- column-name desc -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">A4</col>
+ <col id="1">resources/template_print_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">210mm</col>
+ <col id="4">297mm</col>
+ <col id="5">210mm × 297mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A4 (Landscape)</col>
+ <col id="1">resources/template_print_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">297mm</col>
+ <col id="4">210mm</col>
+ <col id="5">297mm × 210mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">US Letter</col>
+ <col id="1">resources/template_print_US_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">8.5in</col>
+ <col id="4">11in</col>
+ <col id="5">8.5in × 11in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">US Letter (Landscape)</col>
+ <col id="1">resources/template_print_US_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">11in</col>
+ <col id="4">8.5in</col>
+ <col id="5">11in × 8.5in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A0</col>
+ <col id="1">resources/template_print_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">841mm</col>
+ <col id="4">1189mm</col>
+ <col id="5">841mm × 1189mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A0 (Landscape)</col>
+ <col id="1">resources/template_print_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1189mm</col>
+ <col id="4">841mm</col>
+ <col id="5">1189mm × 841mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A1</col>
+ <col id="1">resources/template_print_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">594mm</col>
+ <col id="4">841mm</col>
+ <col id="5">594mm × 841mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A1 (Landscape)</col>
+ <col id="1">resources/template_print_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">841mm</col>
+ <col id="4">594mm</col>
+ <col id="5">841mm × 594mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A2</col>
+ <col id="1">resources/template_print_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">420mm</col>
+ <col id="4">594mm</col>
+ <col id="5">420mm × 594mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A2 (Landscape)</col>
+ <col id="1">resources/template_print_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">594mm</col>
+ <col id="4">420mm</col>
+ <col id="5">594mm × 420mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A3</col>
+ <col id="1">resources/template_print_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">297mm</col>
+ <col id="4">420mm</col>
+ <col id="5">297mm × 420mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A3 (Landscape)</col>
+ <col id="1">resources/template_print_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">420mm</col>
+ <col id="4">297mm</col>
+ <col id="5">420mm × 297mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A5</col>
+ <col id="1">resources/template_print_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">148mm</col>
+ <col id="4">210mm</col>
+ <col id="5">148mm × 210mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">A5 (Landscape)</col>
+ <col id="1">resources/template_print_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">210mm</col>
+ <col id="4">148mm</col>
+ <col id="5">210mm × 148mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card AU/NZ (Landscape)</col>
+ <col id="1">resources/template_businesscard_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">90mm</col>
+ <col id="4">55mm</col>
+ <col id="5">90mm × 55mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card AU/NZ (Portrait)</col>
+ <col id="1">resources/template_businesscard_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">55mm</col>
+ <col id="4">90mm</col>
+ <col id="5">55mm × 90mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card EU (Landscape)</col>
+ <col id="1">resources/template_businesscard_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">85mm</col>
+ <col id="4">55mm</col>
+ <col id="5">85mm × 55mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card EU (Portrait)</col>
+ <col id="1">resources/template_businesscard_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">55mm</col>
+ <col id="4">85mm</col>
+ <col id="5">55mm × 85mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card EU (Square)</col>
+ <col id="1">resources/template_businesscard_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">55mm</col>
+ <col id="4">55mm</col>
+ <col id="5">55mm × 55mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card US (Landscape)</col>
+ <col id="1">resources/template_businesscard_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">3.5in</col>
+ <col id="4">2in</col>
+ <col id="5">3.5in × 2in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card US (Portrait)</col>
+ <col id="1">resources/template_businesscard_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">2in</col>
+ <col id="4">3.5in</col>
+ <col id="5">2in × 3.5in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Business Card US (Square)</col>
+ <col id="1">resources/template_businesscard_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">2in</col>
+ <col id="4">2in</col>
+ <col id="5">2in × 2in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">DL Envelope</col>
+ <col id="1">resources/template_envelope_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">220mm</col>
+ <col id="4">110mm</col>
+ <col id="5">220mm × 110mm</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Ledger/Tabloid</col>
+ <col id="1">resources/template_print_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">11in</col>
+ <col id="4">17in</col>
+ <col id="5">11in × 17in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">US #10 Envelope</col>
+ <col id="1">resources/template_envelope_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">9.5in</col>
+ <col id="4">4.125in</col>
+ <col id="5">9.5in × 4.125in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">US Executive</col>
+ <col id="1">resources/template_print_US_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">7.25in</col>
+ <col id="4">10.5in</col>
+ <col id="5">7.25in × 10.5in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">US Executive (Landscape)</col>
+ <col id="1">resources/template_print_US_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">10.5in</col>
+ <col id="4">7.25in</col>
+ <col id="5">10.5in × 7.25in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">US Legal</col>
+ <col id="1">resources/template_print_US_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">8.5in</col>
+ <col id="4">14in</col>
+ <col id="5">8.5in × 14in</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">US Legal (Landscape)</col>
+ <col id="1">resources/template_print_US_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">14in</col>
+ <col id="4">8.5in</col>
+ <col id="5">14in × 8.5in</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="pages_screen">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name icon -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name filename -->
+ <column type="gchararray"/>
+ <!-- column-name width -->
+ <column type="gchararray"/>
+ <!-- column-name height -->
+ <column type="gchararray"/>
+ <!-- column-name desc -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Desktop 1080p</col>
+ <col id="1">resources/template_desktop_hd_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1920px</col>
+ <col id="4">1080px</col>
+ <col id="5">1920px × 1080px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Desktop 2K</col>
+ <col id="1">resources/template_desktop_hd_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">2560px</col>
+ <col id="4">1440px</col>
+ <col id="5">2560px × 1440px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Desktop 4K</col>
+ <col id="1">resources/template_desktop_hd_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">3840px</col>
+ <col id="4">2160px</col>
+ <col id="5">3840px × 2160px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Desktop 720p</col>
+ <col id="1">resources/template_desktop_hd_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1366px</col>
+ <col id="4">768px</col>
+ <col id="5">1366px × 768px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Desktop SD</col>
+ <col id="1">resources/template_desktop_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1024px</col>
+ <col id="4">768px</col>
+ <col id="5">1024px × 768px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">iPhone 5</col>
+ <col id="1">resources/template_mobile_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">640px</col>
+ <col id="4">1136px</col>
+ <col id="5">640px × 1136px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">iPhone X</col>
+ <col id="1">resources/template_mobile_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">1125px</col>
+ <col id="4">2436px</col>
+ <col id="5">1125px × 2436px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Mobile-smallest</col>
+ <col id="1">resources/template_mobile_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">360px</col>
+ <col id="4">640px</col>
+ <col id="5">360px × 640px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">iPad Pro</col>
+ <col id="1">resources/template_tablet_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">2388px</col>
+ <col id="4">1668px</col>
+ <col id="5">2388px × 1668px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Tablet-smallest</col>
+ <col id="1">resources/template_tablet_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1024px</col>
+ <col id="4">768px</col>
+ <col id="5">1024px × 768px</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="pages_social">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name icon -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name filename -->
+ <column type="gchararray"/>
+ <!-- column-name width -->
+ <column type="gchararray"/>
+ <!-- column-name height -->
+ <column type="gchararray"/>
+ <!-- column-name desc -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Facebook cover photo</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">820px</col>
+ <col id="4">462px</col>
+ <col id="5">820px × 462px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Facebook event image</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1920px</col>
+ <col id="4">1080px</col>
+ <col id="5">1920px × 1080px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Facebook image post</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1200px</col>
+ <col id="4">630px</col>
+ <col id="5">1200px × 630px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Facebook link image</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1200px</col>
+ <col id="4">630px</col>
+ <col id="5">1200px × 630px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Facebook profile picture</col>
+ <col id="1">resources/template_social_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">180px</col>
+ <col id="4">180px</col>
+ <col id="5">180px × 180px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Facebook video</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1280px</col>
+ <col id="4">720px</col>
+ <col id="5">1280px × 720px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Instagram landscape</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1080px</col>
+ <col id="4">608px</col>
+ <col id="5">1080px × 608px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Instagram portrait</col>
+ <col id="1">resources/template_social_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">1080px</col>
+ <col id="4">1350px</col>
+ <col id="5">1080px × 1350px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Instagram square</col>
+ <col id="1">resources/template_social_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">1080px</col>
+ <col id="4">1080px</col>
+ <col id="5">1080px × 1080px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">LinkedIn business banner image</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">646px</col>
+ <col id="4">220px</col>
+ <col id="5">646px × 220px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">LinkedIn company logo</col>
+ <col id="1">resources/template_social_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">300px</col>
+ <col id="4">300px</col>
+ <col id="5">300px × 300px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">LinkedIn cover photo</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1536px</col>
+ <col id="4">768px</col>
+ <col id="5">1536px × 768px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">LinkedIn dynamic ad</col>
+ <col id="1">resources/template_social_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">100px</col>
+ <col id="4">100px</col>
+ <col id="5">100px × 100px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">LinkedIn hero image</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1128px</col>
+ <col id="4">376px</col>
+ <col id="5">1128px × 376px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">LinkedIn sponsored content image</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1200px</col>
+ <col id="4">627px</col>
+ <col id="5">1200px × 627px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Snapchat advertisement</col>
+ <col id="1">resources/template_social_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">1080px</col>
+ <col id="4">1920px</col>
+ <col id="5">1080px × 1920px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Twitter card image</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1200px</col>
+ <col id="4">628px</col>
+ <col id="5">1200px × 628px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Twitter header</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1500px</col>
+ <col id="4">500px</col>
+ <col id="5">1500px × 500px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Twitter post image</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1024px</col>
+ <col id="4">512px</col>
+ <col id="5">1024px × 512px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Twitter profile picture</col>
+ <col id="1">resources/template_social_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">400px</col>
+ <col id="4">400px</col>
+ <col id="5">400px × 400px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Twitter video landscape</col>
+ <col id="1">resources/template_social_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1280px</col>
+ <col id="4">720px</col>
+ <col id="5">1280px × 720px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Twitter video portrait</col>
+ <col id="1">resources/template_social_portrait.svg</col>
+ <col id="2">-</col>
+ <col id="3">720px</col>
+ <col id="4">1280px</col>
+ <col id="5">720px × 1280px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Twitter video square</col>
+ <col id="1">resources/template_social_square.svg</col>
+ <col id="2">-</col>
+ <col id="3">720px</col>
+ <col id="4">720px</col>
+ <col id="5">720px × 720px</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="pages_video">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name icon -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name filename -->
+ <column type="gchararray"/>
+ <!-- column-name width -->
+ <column type="gchararray"/>
+ <!-- column-name height -->
+ <column type="gchararray"/>
+ <!-- column-name desc -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Video DCI 2k (Full Frame)</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">2048px</col>
+ <col id="4">1080px</col>
+ <col id="5">2048px × 1080px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video DCI 4k (Full Frame)</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">4096px</col>
+ <col id="4">2160px</col>
+ <col id="5">4096px × 2160px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video HD 1080p</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1920px</col>
+ <col id="4">1080px</col>
+ <col id="5">1920px × 1080px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video HD 720p</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1280px</col>
+ <col id="4">720px</col>
+ <col id="5">1280px × 720px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video SD / NTSC</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">544px</col>
+ <col id="4">480px</col>
+ <col id="5">544px × 480px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video SD / PAL</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">768px</col>
+ <col id="4">576px</col>
+ <col id="5">768px × 576px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video SD-Widescreen / NTSC</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">872px</col>
+ <col id="4">486px</col>
+ <col id="5">872px × 486px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video SD-Widescreen / PAL</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">1024px</col>
+ <col id="4">576px</col>
+ <col id="5">1024px × 576px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video UHD 4k</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">3840px</col>
+ <col id="4">2160px</col>
+ <col id="5">3840px × 2160px</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Video UHD 8k</col>
+ <col id="1">resources/template_video_landscape.svg</col>
+ <col id="2">-</col>
+ <col id="3">7680px</col>
+ <col id="4">4320px</col>
+ <col id="5">7680px × 4320px</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="recent_files">
+ <columns>
+ <!-- column-name filename -->
+ <column type="gchararray"/>
+ <!-- column-name filepath -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">test.svg</col>
+ <col id="1">a</col>
+ </row>
+ <row>
+ <col id="0">test2.svg</col>
+ <col id="1">b</col>
+ </row>
+ <row>
+ <col id="0">another_example_file.svg</col>
+ <col id="1">c</col>
+ </row>
+ <row>
+ <col id="0">drawing.eps</col>
+ <col id="1">d</col>
+ </row>
+ <row>
+ <col id="0">test3.svg</col>
+ <col id="1">e</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="themelist">
+ <columns>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name theme_id -->
+ <column type="gchararray"/>
+ <!-- column-name icons_id -->
+ <column type="gchararray"/>
+ <!-- column-name base_color -->
+ <column type="gchararray"/>
+ <!-- column-name base_color_dark -->
+ <column type="gchararray"/>
+ <!-- column-name success_color -->
+ <column type="gchararray"/>
+ <!-- column-name warn_color -->
+ <column type="gchararray"/>
+ <!-- column-name error_color -->
+ <column type="gchararray"/>
+ <!-- column-name symbolic_icons -->
+ <column type="gboolean"/>
+ <!-- column-name small_icons -->
+ <column type="gboolean"/>
+ <!-- column-name available -->
+ <column type="gboolean"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">colorful</col>
+ <col id="1" translatable="yes">Colorful</col>
+ <col id="2">Adwaita</col>
+ <col id="3">multicolor</col>
+ <col id="4">#000000</col>
+ <col id="5">#ebebeb</col>
+ <col id="6">#00990a</col>
+ <col id="7">#ff1990</col>
+ <col id="8">#0099e6</col>
+ <col id="9">True</col>
+ <col id="10">False</col>
+ <col id="11">False</col>
+ </row>
+ <row>
+ <col id="0">grayscale</col>
+ <col id="1" translatable="yes">Grayscale</col>
+ <col id="2">Adwaita</col>
+ <col id="3">multicolor</col>
+ <col id="4">#000000</col>
+ <col id="5">#e5e5e5</col>
+ <col id="6">#cccccc</col>
+ <col id="7">#808080</col>
+ <col id="8">#808080</col>
+ <col id="9">True</col>
+ <col id="10">False</col>
+ <col id="11">False</col>
+ </row>
+ <row>
+ <col id="0">symbolic</col>
+ <col id="1" translatable="yes">Classic Symbolic</col>
+ <col id="2">Adwaita</col>
+ <col id="3">Adwaita</col>
+ <col id="4">0</col>
+ <col id="5">0</col>
+ <col id="6">0</col>
+ <col id="7">0</col>
+ <col id="8">0</col>
+ <col id="9">True</col>
+ <col id="10">False</col>
+ <col id="11">False</col>
+ </row>
+ <row>
+ <col id="0">compacted</col>
+ <col id="1" translatable="yes">Compacted (Small Screens)</col>
+ <col id="2">Minwaita-Inkscape</col>
+ <col id="3">hicolor</col>
+ <col id="4">0</col>
+ <col id="5">0</col>
+ <col id="6">0</col>
+ <col id="7">0</col>
+ <col id="8">0</col>
+ <col id="9">True</col>
+ <col id="10">True</col>
+ <col id="11">False</col>
+ </row>
+ <row>
+ <col id="0">system</col>
+ <col id="1" translatable="yes">System Default</col>
+ <col id="2"></col>
+ <col id="3"></col>
+ <col id="4">0</col>
+ <col id="5">0</col>
+ <col id="6">0</col>
+ <col id="7">0</col>
+ <col id="8">0</col>
+ <col id="9">False</col>
+ <col id="10">False</col>
+ <col id="11">True</col>
+ </row>
+ <row>
+ <col id="0">classic</col>
+ <col id="1" translatable="yes">Classic Inkscape</col>
+ <col id="2">Adwaita</col>
+ <col id="3">Adwaita</col>
+ <col id="4">0</col>
+ <col id="5">0</col>
+ <col id="6">0</col>
+ <col id="7">0</col>
+ <col id="8">0</col>
+ <col id="9">False</col>
+ <col id="10">False</col>
+ <col id="11">False</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkWindow" id="start-screen-window">
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="is_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="modal">True</property>
+ <property name="window_position">center</property>
+ <property name="default_width">700</property>
+ <property name="default_height">360</property>
+ <property name="urgency_hint">True</property>
+ <child type="titlebar">
+ <object class="GtkFixed" id="banner">
+ <property name="width_request">700</property>
+ <property name="height_request">220</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRevealer">
+ <property name="width_request">100</property>
+ <property name="height_request">80</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="transition_type">crossfade</property>
+ <property name="transition_duration">1500</property>
+ <property name="reveal_child">True</property>
+ <child>
+ <object class="GtkFixed">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage">
+ <property name="width_request">100</property>
+ <property name="height_request">80</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">../screens/start-welcome.png</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage" id="welcome_text">
+ <property name="width_request">700</property>
+ <property name="height_request">220</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">../screens/start-welcome-text.svg</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">False</property>
+ <property name="label" translatable="yes" comments="Not automatic, but will be turned into start-welcome-text.svg">Welcome!</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">False</property>
+ <property name="label" translatable="yes" comments="Not automatic, but will be turned into start-welcome-text.svg">Let's set up a few things...</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRevealer">
+ <property name="width_request">100</property>
+ <property name="height_request">80</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="transition_type">crossfade</property>
+ <property name="transition_duration">1500</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">../screens/start-support.png</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRevealer">
+ <property name="width_request">100</property>
+ <property name="height_request">80</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="transition_type">crossfade</property>
+ <property name="transition_duration">1500</property>
+ <child>
+ <object class="GtkFixed">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage">
+ <property name="width_request">700</property>
+ <property name="height_request">220</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">../screens/start-splash.png</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <!-- n-columns=1 n-rows=1 -->
+ <object class="GtkGrid">
+ <property name="width-request">700</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkButton" id="close_window">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="relief">none</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">window-close</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkNotebook" id="tabs">
+ <property name="name">startscreennotebook</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="show_border">False</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkInfoBar" id="keys_warning">
+ <property name="can_focus">False</property>
+ <property name="message_type">error</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <property name="layout_style">end</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child internal-child="content_area">
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="spacing">16</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-dialog-warning</property>
+ <property name="icon_size">3</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">&lt;b&gt;Warning:&lt;/b&gt; Using a non-standard shortcut keyboard layout could make it harder to follow tutorials.</property>
+ <property name="use_markup">True</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_top">40</property>
+ <property name="margin_bottom">30</property>
+ <property name="row_spacing">8</property>
+ <property name="column_spacing">4</property>
+ <property name="row_homogeneous">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Appearance</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="scale" value="1.2"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Canvas</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="scale" value="1.2"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Keyboard</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="scale" value="1.2"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="themes">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="model">themelist</property>
+ <property name="id_column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="theme_namerenderer"/>
+ <attributes>
+ <attribute name="sensitive">11</attribute>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="keys">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="model">keyslist</property>
+ <property name="active">0</property>
+ <property name="id_column">1</property>
+ <child>
+ <object class="GtkCellRendererText" id="keys_cellrenderer"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="iconrow">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_top">4</property>
+ <property name="margin_bottom">4</property>
+ <property name="spacing">3</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">tool-pointer</property>
+ <property name="icon_size">3</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">tool-node-editor</property>
+ <property name="icon_size">3</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">draw-rectangle</property>
+ <property name="icon_size">3</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">draw-polygon-star</property>
+ <property name="icon_size">3</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">draw-path</property>
+ <property name="icon_size">3</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">draw-freehand</property>
+ <property name="icon_size">3</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">7</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="canvas">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text" translatable="yes">Select the default color background for the canvas</property>
+ <property name="model">canvases</property>
+ <property name="id_column">0</property>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="canvas_preview">
+ <property name="xpad">10</property>
+ </object>
+ <attributes>
+ <attribute name="pixbuf">2</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">end</property>
+ <property name="margin_bottom">2</property>
+ <property name="label" translatable="yes">Dark</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="dark_toggle">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Set to dark theme</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="margin_top">2</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">8</property>
+ <property name="margin_right">8</property>
+ <property name="layout_style">start</property>
+ <child>
+ <object class="GtkButton" id="save">
+ <property name="label">gtk-save</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ <style>
+ <class name="primary"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="label" translatable="no">Load Preferences</property>
+ <property name="can_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">4</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Quick Setup</property>
+ </object>
+ <packing>
+ <property name="tab_expand">True</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">30</property>
+ <property name="margin_right">30</property>
+ <property name="margin_top">10</property>
+ <property name="margin_bottom">10</property>
+ <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;The Inkscape project is supported by users like you.&lt;/b&gt; Through our collective time, money and skill, we have made this software for everyone in the world to enjoy free from restrictions and free from costs. &lt;b&gt;
+If you would like to get involved and make the next version of Inkscape even better, please consider joining the Inkscape project today.&lt;/b&gt;&lt;/big&gt;</property>
+ <property name="use_markup">True</property>
+ <property name="wrap">True</property>
+ <property name="max_width_chars">50</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">90</property>
+ <property name="margin_right">90</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">8</property>
+ <property name="baseline_position">top</property>
+ <child>
+ <object class="GtkLinkButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <property name="uri">https://inkscape.org/splash/contribute/</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">10</property>
+ <property name="margin_right">10</property>
+ <property name="margin_top">10</property>
+ <property name="margin_bottom">10</property>
+ <property name="pixbuf">../pixmaps/user.png</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">8</property>
+ <property name="margin_right">8</property>
+ <property name="margin_top">8</property>
+ <property name="margin_bottom">8</property>
+ <property name="label" translatable="yes">Learn how to
+Contribute Time</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ <attribute name="scale" value="1.4"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLinkButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <property name="uri">https://inkscape.org/splash/support/</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_top">10</property>
+ <property name="margin_bottom">10</property>
+ <property name="pixbuf">../pixmaps/support.png</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">8</property>
+ <property name="margin_right">8</property>
+ <property name="margin_top">8</property>
+ <property name="margin_bottom">8</property>
+ <property name="label" translatable="yes">Learn how to
+Fund Inkscape</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ <attribute name="scale" value="1.4"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">8</property>
+ <property name="margin_right">8</property>
+ <property name="layout_style">start</property>
+ <child>
+ <object class="GtkButton" id="thanks">
+ <property name="label" translatable="yes">Thanks!</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">True</property>
+ <style>
+ <class name="primary"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">4</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Supported by You</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_expand">True</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkNotebook" id="kinds">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tab_pos">left</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="recent_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="model">recent_files</property>
+ <property name="search_column">1</property>
+ <property name="tooltip_column">1</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="recent_name">
+ <property name="title" translatable="yes" context="Welcome dialog">Recent Files</property>
+ <property name="reorderable">True</property>
+ <property name="sort_indicator">True</property>
+ <child>
+ <object class="GtkCellRendererText"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Welcome dialog">Existing Files</property>
+ </object>
+ <packing>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkIconView" id="pages_print_view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="margin">6</property>
+ <property name="model">pages_print</property>
+ <child>
+ <object class="GtkCellRendererPixbuf">
+ <property name="xpad">6</property>
+ <property name="ypad">6</property>
+ </object>
+ <attributes>
+ <attribute name="pixbuf">1</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ </object>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ <property name="scale">0.9</property>
+ <property name="foreground_rgba">rgb(136,138,133)</property>
+ </object>
+ <attributes>
+ <attribute name="text">5</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Document format category">Print</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkIconView" id="pages_digital_view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="margin">6</property>
+ <property name="model">pages_screen</property>
+ <child>
+ <object class="GtkCellRendererPixbuf">
+ <property name="xpad">6</property>
+ <property name="ypad">6</property>
+ </object>
+ <attributes>
+ <attribute name="pixbuf">1</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ </object>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ <property name="scale">0.9</property>
+ <property name="foreground_rgba">rgb(136,138,133)</property>
+ </object>
+ <attributes>
+ <attribute name="text">5</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Document format category">Screen</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkIconView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="margin">6</property>
+ <property name="model">pages_video</property>
+ <child>
+ <object class="GtkCellRendererPixbuf">
+ <property name="xpad">6</property>
+ <property name="ypad">6</property>
+ </object>
+ <attributes>
+ <attribute name="pixbuf">1</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ </object>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ <property name="scale">0.9</property>
+ <property name="foreground_rgba">rgb(136,138,133)</property>
+ </object>
+ <attributes>
+ <attribute name="text">5</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Document format category">Video</property>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkIconView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="margin">6</property>
+ <property name="model">pages_social</property>
+ <child>
+ <object class="GtkCellRendererPixbuf">
+ <property name="xpad">6</property>
+ <property name="ypad">6</property>
+ </object>
+ <attributes>
+ <attribute name="pixbuf">1</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ </object>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ <property name="scale">0.9</property>
+ <property name="foreground_rgba">rgb(136,138,133)</property>
+ </object>
+ <attributes>
+ <attribute name="text">5</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Document format category" comments="Social Media">Social</property>
+ </object>
+ <packing>
+ <property name="position">4</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkIconView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="margin">6</property>
+ <property name="model">pages_other</property>
+ <child>
+ <object class="GtkCellRendererPixbuf">
+ <property name="xpad">6</property>
+ <property name="ypad">6</property>
+ </object>
+ <attributes>
+ <attribute name="pixbuf">1</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ </object>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText">
+ <property name="alignment">center</property>
+ <property name="xalign">0.5</property>
+ <property name="scale">0.9</property>
+ <property name="foreground_rgba">rgb(136,138,133)</property>
+ </object>
+ <attributes>
+ <attribute name="text">5</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Document format category">Other</property>
+ </object>
+ <packing>
+ <property name="position">5</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">8</property>
+ <property name="margin_right">8</property>
+ <property name="spacing">4</property>
+ <property name="layout_style">start</property>
+ <child>
+ <object class="GtkButton" id="load">
+ <property name="label" translatable="yes">Load</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="show_toggle">
+ <property name="label" translatable="yes">Show this every time</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="new">
+ <property name="label" translatable="yes">New Document</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">4</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Time to Draw</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab_expand">True</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/mac.css b/share/ui/mac.css
new file mode 100644
index 0000000..694aa6f
--- /dev/null
+++ b/share/ui/mac.css
@@ -0,0 +1,4 @@
+/* This fix a bad performance on Mac (maybe others) on some themes */
+button,
+spinbutton,
+combobox {box-shadow: none;} \ No newline at end of file
diff --git a/share/ui/marker-popup.glade b/share/ui/marker-popup.glade
new file mode 100644
index 0000000..eb163e6
--- /dev/null
+++ b/share/ui/marker-popup.glade
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.24"/>
+ <object class="GtkAdjustment" id="adjustment-angle">
+ <property name="lower">-360</property>
+ <property name="upper">360.00999999999999</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">15</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-offset">
+ <property name="lower">-10000</property>
+ <property name="upper">10000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-offset-2">
+ <property name="lower">-10000</property>
+ <property name="upper">10000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-scale">
+ <property name="lower">0.001</property>
+ <property name="upper">10000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">2</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-scale-2">
+ <property name="lower">0.001</property>
+ <property name="upper">10000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">2</property>
+ </object>
+ <object class="GtkImage" id="image-linked">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">entries-linked-symbolic</property>
+ <property name="icon_size">3</property>
+ </object>
+ <object class="GtkImage" id="image-unlinked">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">entries-unlinked-symbolic</property>
+ <property name="icon_size">3</property>
+ </object>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">orient-auto-reverse</property>
+ </object>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">orient-auto</property>
+ </object>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">orient-angle</property>
+ </object>
+ <object class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">object-flip-horizontal-symbolic</property>
+ </object>
+ <object class="GtkRadioButton" id="radio-orient">
+ <property name="label">radiobutton</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <object class="GtkPopover" id="popover">
+ <property name="can-focus">False</property>
+ <property name="constrain-to">none</property>
+ <child>
+ <object class="GtkBox">
+ <property name="width-request">378</property>
+ <property name="height-request">500</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="vexpand">True</property>
+ <property name="hscrollbar-policy">never</property>
+ <child>
+ <object class="GtkViewport">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="vscroll-policy">natural</property>
+ <child>
+ <object class="GtkFlowBox" id="flowbox">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="min-children-per-line">8</property>
+ <property name="max-children-per-line">8</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="valign">center</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=4 n-rows=8 -->
+ <object class="GtkGrid" id="input-grid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">4</property>
+ <property name="margin-bottom">4</property>
+ <property name="row-spacing">4</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Size X:</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="scale-x">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-scale</property>
+ <property name="digits">3</property>
+ <property name="numeric">True</property>
+ <property name="value">0.0001</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Size Y:</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="scale-y">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-scale-2</property>
+ <property name="digits">3</property>
+ <property name="numeric">True</property>
+ <property name="value">0.0001</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="scale-with-stroke">
+ <property name="label" translatable="yes">Scale with stroke</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">end</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="margin-end">4</property>
+ <property name="label" translatable="yes">Orientation:</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkRadioButton" id="orient-auto-rev">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Orient along the path, reversing at the start</property>
+ <property name="image">image1</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">radio-orient</property>
+ <style>
+ <class name="tight-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="orient-auto">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Orient along the path</property>
+ <property name="image">image2</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">radio-orient</property>
+ <style>
+ <class name="tight-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="orient-angle">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">Fixed specified angle</property>
+ <property name="image">image3</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">False</property>
+ <property name="group">radio-orient</property>
+ <style>
+ <class name="tight-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="btn-horz-flip">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Flip marker horizontally</property>
+ <property name="margin-start">8</property>
+ <property name="image">image4</property>
+ <style>
+ <class name="tight-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="margin-end">4</property>
+ <property name="label" translatable="yes">Fixed angle:</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="angle">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-angle</property>
+ <property name="digits">2</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="margin-end">4</property>
+ <property name="label" translatable="yes">Offset X:</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">6</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="margin-end">4</property>
+ <property name="label" translatable="yes">Offset Y:</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">7</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="offset-x">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-offset</property>
+ <property name="digits">3</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="offset-y">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="adjustment">adjustment-offset-2</property>
+ <property name="digits">3</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit-marker">
+ <property name="label" translatable="yes">Edit on canvas</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="halign">center</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">4</property>
+ <property name="hexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkImage" id="preview">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-end">4</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="pack-type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="marker-id">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-left">4</property>
+ <property name="margin-right">4</property>
+ <property name="margin-start">4</property>
+ <property name="margin-end">4</property>
+ <property name="label" translatable="yes">ID</property>
+ <property name="use-markup">True</property>
+ <property name="ellipsize">middle</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="height">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="link-scale">
+ <property name="name">LockGuides</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="halign">end</property>
+ <property name="margin-end">1</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="spacer">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="pixel-size">5</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <object class="GtkMenuButton" id="menu-btn">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="popover">popover</property>
+ <child>
+ <object class="GtkBox" id="btn-box">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkImage" id="current-img">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="stock">gtk-missing-image</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">pan-down-symbolic</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack-type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/menus.ui b/share/ui/menus.ui
new file mode 100644
index 0000000..99b0d07
--- /dev/null
+++ b/share/ui/menus.ui
@@ -0,0 +1,1293 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<interface>
+ <requires lib="gtk+" version="3.22" />
+ <menu id="menus">
+ <submenu id="file-menu">
+ <attribute name='label' translatable="yes">_File</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_New</attribute>
+ <attribute name='action'>win.document-new</attribute>
+ <attribute name='icon'>document-new</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">New from _Template...</attribute>
+ <attribute name='action'>win.document-dialog-templates</attribute>
+ <attribute name='icon'>dialog-templates</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Open...</attribute>
+ <attribute name='action'>win.document-open</attribute>
+ <attribute name='icon'>document-open</attribute>
+ </item>
+ </section>
+ <submenu id="recent-files">
+ <attribute name='label' translatable='yes'>Open _Recent</attribute>
+ </submenu>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Re_vert</attribute>
+ <attribute name='action'>win.document-revert</attribute>
+ <attribute name='icon'>document-revert</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Save</attribute>
+ <attribute name='action'>win.document-save</attribute>
+ <attribute name='icon'>document-save</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Save _As...</attribute>
+ <attribute name='action'>win.document-save-as</attribute>
+ <attribute name='icon'>document-save-as</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Save a Cop_y...</attribute>
+ <attribute name='action'>win.document-save-copy</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Save Template...</attribute>
+ <attribute name='action'>win.document-save-template</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Import...</attribute>
+ <attribute name='action'>win.document-import</attribute>
+ <attribute name='icon'>document-import</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Import _Web Image...</attribute>
+ <attribute name='action'>app.org.inkscape.import-web-image</attribute>
+ <attribute name='icon'>document-import-web</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Export...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Export</attribute>
+ <attribute name='icon'>document-export</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Print...</attribute>
+ <attribute name='action'>win.document-print</attribute>
+ <attribute name='icon'>document-print</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Clean _Up Document</attribute>
+ <attribute name='action'>win.document-cleanup</attribute>
+ <attribute name='icon'>document-cleanup</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Document Properties...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>DocumentProperties</attribute>
+ <attribute name='icon'>document-properties</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Close</attribute>
+ <attribute name='action'>win.document-close</attribute>
+ <attribute name='icon'>window-close</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Quit</attribute>
+ <attribute name='action'>app.quit</attribute>
+ <attribute name='icon'>application-exit</attribute>
+ <attribute name='hidden-when'>macos-menubar</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="edit-menu">
+ <attribute name='label' translatable="yes">_Edit</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Undo</attribute>
+ <attribute name='action'>app.undo</attribute>
+ <attribute name='icon'>edit-undo</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Redo</attribute>
+ <attribute name='action'>app.redo</attribute>
+ <attribute name='icon'>edit-redo</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Undo _History...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>UndoHistory</attribute>
+ <attribute name='icon'>edit-undo-history</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Cu_t</attribute>
+ <attribute name='action'>app.cut</attribute>
+ <attribute name='icon'>edit-cut</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Copy</attribute>
+ <attribute name='action'>app.copy</attribute>
+ <attribute name='icon'>edit-copy</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Paste</attribute>
+ <attribute name='action'>win.paste</attribute>
+ <attribute name='icon'>edit-paste</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste _In Place</attribute>
+ <attribute name='action'>win.paste-in-place</attribute>
+ <attribute name='icon'>edit-paste-in-place</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste _Style</attribute>
+ <attribute name='action'>app.paste-style</attribute>
+ <attribute name='icon'>edit-paste-style</attribute>
+ </item>
+ </section>
+ <submenu id="paste-size">
+ <attribute name='label' translatable="yes">Paste Si_ze</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Paste Si_ze</attribute>
+ <attribute name='action'>app.paste-size</attribute>
+ <attribute name='icon'>edit-paste-size</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste _Width</attribute>
+ <attribute name='action'>app.paste-width</attribute>
+ <attribute name='icon'>edit-paste-width</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste _Height</attribute>
+ <attribute name='action'>app.paste-height</attribute>
+ <attribute name='icon'>edit-paste-height</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste Size Separately</attribute>
+ <attribute name='action'>app.paste-size-separately</attribute>
+ <attribute name='icon'>edit-paste-size-separately</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste Width Separately</attribute>
+ <attribute name='action'>app.paste-width-separately</attribute>
+ <attribute name='icon'>edit-paste-width-separately</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste Height Separately</attribute>
+ <attribute name='action'>app.paste-height-separately</attribute>
+ <attribute name='icon'>edit-paste-height-separately</attribute>
+ </item>
+ </section>
+ </submenu>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Find/Replace...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Find</attribute>
+ <attribute name='icon'>edit-find</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Duplic_ate</attribute>
+ <attribute name='action'>app.duplicate</attribute>
+ <attribute name='icon'>edit-duplicate</attribute>
+ </item>
+ <submenu id="paste-size">
+ <attribute name='label' translatable="yes">Clo_ne</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Create Clo_ne</attribute>
+ <attribute name='action'>app.clone</attribute>
+ <attribute name='icon'>edit-clone</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Create Tiled Clones...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>CloneTiler</attribute>
+ <attribute name='icon'>dialog-tile-clones</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Unlin_k Clone</attribute>
+ <attribute name='action'>app.clone-unlink</attribute>
+ <attribute name='icon'>edit-clone-unlink</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Unlink Clones _recursively</attribute>
+ <attribute name='action'>app.clone-unlink-recursively</attribute>
+ <attribute name='icon'>edit-clone-unlink</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Relink to Copied</attribute>
+ <attribute name='action'>app.clone-link</attribute>
+ <attribute name='icon'>edit-clone-link</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Select _Original</attribute>
+ <attribute name='action'>app.select-original</attribute>
+ <attribute name='icon'>edit-select-original</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Clone original path (LPE)</attribute>
+ <attribute name='action'>app.clone-link-lpe</attribute>
+ <attribute name='icon'>edit-clone-link-lpe</attribute>
+ </item>
+ </section>
+ </submenu>
+ <item>
+ <attribute name='label' translatable="yes">Make a _Bitmap Copy</attribute>
+ <attribute name='action'>app.selection-make-bitmap-copy</attribute>
+ <attribute name='icon'>selection-make-bitmap-copy</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Delete</attribute>
+ <attribute name='action'>app.delete</attribute>
+ <attribute name='icon'>edit-delete</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Select Al_l</attribute>
+ <attribute name='action'>win.select-all</attribute>
+ <attribute name='icon'>edit-select-all</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Select All in All La_yers</attribute>
+ <attribute name='action'>win.select-all-layers</attribute>
+ <attribute name='icon'>edit-select-all-layers</attribute>
+ </item>
+ <submenu id="select-size">
+ <attribute name='label' translatable="yes">Select Sa_me</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Fill _and Stroke</attribute>
+ <attribute name='action'>win.select-same-fill-and-stroke</attribute>
+ <attribute name='icon'>edit-select-same-fill-and-stroke</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Fill Color</attribute>
+ <attribute name='action'>win.select-same-fill</attribute>
+ <attribute name='icon'>edit-select-same-fill</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Stroke Color</attribute>
+ <attribute name='action'>win.select-same-stroke-color</attribute>
+ <attribute name='icon'>edit-select-same-stroke-color</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Stroke St_yle</attribute>
+ <attribute name='action'>win.select-same-stroke-style</attribute>
+ <attribute name='icon'>edit-select-same-stroke-style</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Object Type</attribute>
+ <attribute name='action'>win.select-same-object-type</attribute>
+ <attribute name='icon'>edit-select-same-object-type</attribute>
+ </item>
+ </section>
+ </submenu>
+ <item>
+ <attribute name='label' translatable="yes">In_vert Selection</attribute>
+ <attribute name='action'>win.select-invert</attribute>
+ <attribute name='icon'>edit-select-invert</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">D_eselect</attribute>
+ <attribute name='action'>win.select-none</attribute>
+ <attribute name='icon'>edit-select-none</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Resize Page to Selection</attribute>
+ <attribute name='action'>app.page-fit-to-selection</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Create _Guides Around the Page</attribute>
+ <attribute name='action'>doc.create-guides-around-page</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Lock All Guides</attribute>
+ <attribute name='action'>doc.lock-all-guides</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Delete All Guides</attribute>
+ <attribute name='action'>doc.delete-all-guides</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_XML Editor...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>XMLEditor</attribute>
+ <attribute name='icon'>dialog-xml-editor</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Input Devices...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Input</attribute>
+ <attribute name='icon'>dialog-input-devices</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">P_references</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Preferences</attribute>
+ <attribute name='icon'>preferences-system</attribute>
+ <attribute name='use-icon'>true</attribute>
+ <attribute name='hidden-when'>macos-menubar</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="view-menu">
+ <attribute name='label' translatable="yes">_View</attribute>
+ <submenu id="zoom-menu">
+ <attribute name='label' translatable='yes'>_Zoom</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Zoom in</attribute>
+ <attribute name='action'>win.canvas-zoom-in</attribute>
+ <attribute name='icon'>zoom-in</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Zoom out</attribute>
+ <attribute name='action'>win.canvas-zoom-out</attribute>
+ <attribute name='icon'>zoom-out</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Zoom to 1:1</attribute>
+ <attribute name='action'>win.canvas-zoom-1-1</attribute>
+ <attribute name='icon'>zoom-original</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Zoom to 1:2</attribute>
+ <attribute name='action'>win.canvas-zoom-1-2</attribute>
+ <attribute name='icon'>zoom-half-size</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Zoom to 2:1</attribute>
+ <attribute name='action'>win.canvas-zoom-2-1</attribute>
+ <attribute name='icon'>zoom-double-size</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Zoom Selection</attribute>
+ <attribute name='action'>win.canvas-zoom-selection</attribute>
+ <attribute name='icon'>zoom-fit-selection</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Zoom Drawing</attribute>
+ <attribute name='action'>win.canvas-zoom-drawing</attribute>
+ <attribute name='icon'>zoom-fit-drawing</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Zoom Page</attribute>
+ <attribute name='action'>win.canvas-zoom-page</attribute>
+ <attribute name='icon'>zoom-fit-page</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Zoom Page Width</attribute>
+ <attribute name='action'>win.canvas-zoom-page-width</attribute>
+ <attribute name='icon'>zoom-fit-width</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Center Page</attribute>
+ <attribute name='action'>win.canvas-zoom-center-page</attribute>
+ <attribute name='icon'>zoom-center-page</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Zoom Previous</attribute>
+ <attribute name='action'>win.canvas-zoom-prev</attribute>
+ <attribute name='icon'>zoom-previous</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Zoom Next</attribute>
+ <attribute name='action'>win.canvas-zoom-next</attribute>
+ <attribute name='icon'>zoom-next</attribute>
+ </item>
+ </section>
+ </submenu>
+ <submenu id="orientation-menu">
+ <attribute name='label' translatable='yes'>_Orientation</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Rotate Clockwise</attribute>
+ <attribute name='action'>win.canvas-rotate-cw</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Rotate Counter-Clockwise</attribute>
+ <attribute name='action'>win.canvas-rotate-ccw</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Reset Rotation</attribute>
+ <attribute name='action'>win.canvas-rotate-reset</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Lock Rotation</attribute>
+ <attribute name='action'>win.canvas-rotate-lock</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Flip Horizontally</attribute>
+ <attribute name='action'>win.canvas-flip-horizontal</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Flip Vertically</attribute>
+ <attribute name='action'>win.canvas-flip-vertical</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Reset Flipping</attribute>
+ <attribute name='action'>win.canvas-flip-reset</attribute>
+ </item>
+ </section>
+ </submenu>
+ <submenu id="display-mode-menu">
+ <attribute name='label' translatable='yes'>_Display Mode</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Normal</attribute>
+ <attribute name='action'>win.canvas-display-mode</attribute>
+ <attribute name='target' type='i'>0</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Outline</attribute>
+ <attribute name='action'>win.canvas-display-mode</attribute>
+ <attribute name='target' type='i'>1</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">No Filters</attribute>
+ <attribute name='action'>win.canvas-display-mode</attribute>
+ <attribute name='target' type='i'>2</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Visible Hairlines</attribute>
+ <attribute name='action'>win.canvas-display-mode</attribute>
+ <attribute name='target' type='i'>3</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Outline Overlay</attribute>
+ <attribute name='action'>win.canvas-display-mode</attribute>
+ <attribute name='target' type='i'>4</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Cycle</attribute>
+ <attribute name='action'>win.canvas-display-mode-cycle</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Toggle</attribute>
+ <attribute name='action'>win.canvas-display-mode-toggle</attribute>
+ </item>
+ </section>
+ </submenu>
+ <submenu id="split-mode-menu">
+ <attribute name='label' translatable='yes'>_Split Mode</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">None</attribute>
+ <attribute name='action'>win.canvas-split-mode</attribute>
+ <attribute name='target' type='i'>0</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Split</attribute>
+ <attribute name='action'>win.canvas-split-mode</attribute>
+ <attribute name='target' type='i'>1</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">X-Ray</attribute>
+ <attribute name='action'>win.canvas-split-mode</attribute>
+ <attribute name='target' type='i'>2</attribute>
+ </item>
+ </section>
+ </submenu>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Gray Scale</attribute>
+ <attribute name='action'>win.canvas-color-mode</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Color Management</attribute>
+ <attribute name='action'>win.canvas-color-manage</attribute>
+ </item>
+ </section>
+ <item>
+ <attribute name='label' translatable="yes">Page _Grid</attribute>
+ <attribute name='action'>win.canvas-show-grid</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">G_uides</attribute>
+ <attribute name='action'>doc.show-all-guides</attribute>
+ </item>
+ <section>
+ <submenu id="display-show-hide">
+ <attribute name='label' translatable='yes'>Sh_ow/Hide</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Commands Bar</attribute>
+ <attribute name='action'>win.canvas-commands-bar</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Sn_ap Controls Bar</attribute>
+ <attribute name='action'>win.canvas-snap-controls-bar</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">T_ool Controls Bar</attribute>
+ <attribute name='action'>win.canvas-tool-control-bar</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Toolbox</attribute>
+ <attribute name='action'>win.canvas-toolbox</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Rulers</attribute>
+ <attribute name='action'>win.canvas-rulers</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Scroll_bars</attribute>
+ <attribute name='action'>win.canvas-scroll-bars</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Palette</attribute>
+ <attribute name='action'>win.canvas-palette</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Statusbar</attribute>
+ <attribute name='action'>win.canvas-statusbar</attribute>
+ </item>
+ </section>
+ </submenu>
+ <item>
+ <attribute name='label' translatable="yes">Show/Hide D_ialogs</attribute>
+ <attribute name='action'>win.dialog-toggle</attribute>
+ <attribute name='icon'>show-dialogs</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Command Palette</attribute>
+ <attribute name='action'>win.canvas-command-palette</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">S_watches...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Swatches</attribute>
+ <attribute name='icon'>swatches</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Messages...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Messages</attribute>
+ <attribute name='icon'>dialog-messages</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">P_revious Window</attribute>
+ <attribute name='action'>win.window-previous</attribute>
+ <attribute name='icon'>window-previous</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">N_ext Window</attribute>
+ <attribute name='action'>win.window-next</attribute>
+ <attribute name='icon'>window-next</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Icon Preview</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>IconPreview</attribute>
+ <attribute name='icon'>dialog-icon-preview</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Duplic_ate Window</attribute>
+ <attribute name='action'>win.window-new</attribute>
+ <attribute name='icon'>window-new</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Fullscreen</attribute>
+ <attribute name='action'>win.view-fullscreen</attribute>
+ <attribute name='icon'>view-fullscreen</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Wide Screen</attribute>
+ <attribute name='action'>win.canvas-interface-mode</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="layer-menu">
+ <attribute name='label' translatable="yes">_Layer</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Layers and Objects...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Objects</attribute>
+ <attribute name='icon'>dialog-objects</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Add Layer...</attribute>
+ <attribute name='action'>win.layer-new</attribute>
+ <attribute name='icon'>layer-new</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Re_name Layer...</attribute>
+ <attribute name='action'>win.layer-rename</attribute>
+ <attribute name='icon'>layer-rename</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Show/Hide Current Layer</attribute>
+ <attribute name='action'>win.layer-hide-toggle</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Lock/Unlock Current Layer</attribute>
+ <attribute name='action'>win.layer-lock-toggle</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Switch to Layer Abov_e</attribute>
+ <attribute name='action'>win.layer-previous</attribute>
+ <attribute name='icon'>layer-previous</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Switch to Layer Belo_w</attribute>
+ <attribute name='action'>win.layer-next</attribute>
+ <attribute name='icon'>layer-next</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Move Selection to Layer Abo_ve</attribute>
+ <attribute name='action'>win.selection-move-to-layer-above</attribute>
+ <attribute name='icon'>selection-move-to-layer-above</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Move Selection to Layer Bel_ow</attribute>
+ <attribute name='action'>win.selection-move-to-layer-below</attribute>
+ <attribute name='icon'>selection-move-to-layer-below</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Move Selection to Layer...</attribute>
+ <attribute name='action'>win.selection-move-to-layer</attribute>
+ <attribute name='icon'>selection-move-to-layer</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Layer to _Top</attribute>
+ <attribute name='action'>win.layer-top</attribute>
+ <attribute name='icon'>layer-top</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Raise Layer</attribute>
+ <attribute name='action'>win.layer-raise</attribute>
+ <attribute name='icon'>layer-raise</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Lower Layer</attribute>
+ <attribute name='action'>win.layer-lower</attribute>
+ <attribute name='icon'>layer-lower</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Layer to _Bottom</attribute>
+ <attribute name='action'>win.layer-bottom</attribute>
+ <attribute name='icon'>layer-bottom</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">D_uplicate Current Layer</attribute>
+ <attribute name='action'>win.layer-duplicate</attribute>
+ <attribute name='icon'>layer-duplicate</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Delete Current Layer</attribute>
+ <attribute name='action'>win.layer-delete</attribute>
+ <attribute name='icon'>layer-delete</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="object-menu">
+ <attribute name='label' translatable="yes">_Object</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Layers and Objects...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Objects</attribute>
+ <attribute name='icon'>dialog-objects</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Fill and Stroke...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>FillStroke</attribute>
+ <attribute name='icon'>dialog-fill-and-stroke</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Object Properties...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>ObjectProperties</attribute>
+ <attribute name='icon'>dialog-object-properties</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">S_ymbols...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Symbols</attribute>
+ <attribute name='icon'>symbols</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Paint Servers...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>PaintServers</attribute>
+ <attribute name='icon'>symbols</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Selectors and CSS...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Selectors</attribute>
+ <attribute name='icon'>dialog-selectors</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Group</attribute>
+ <attribute name='action'>app.selection-group</attribute>
+ <attribute name='icon'>object-group</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Ungroup</attribute>
+ <attribute name='action'>app.selection-ungroup</attribute>
+ <attribute name='icon'>object-ungroup</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Pop Selected Objects out of Group</attribute>
+ <attribute name='action'>app.selection-ungroup-pop</attribute>
+ <attribute name='icon'>object-ungroup-pop-selection</attribute>
+ </item>
+ </section>
+ <section>
+ <submenu id="object-clip">
+ <attribute name='label' translatable='yes'>Cli_p</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Set Clip</attribute>
+ <attribute name='action'>app.object-set-clip</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Set Inverse Clip (LPE)</attribute>
+ <attribute name='action'>app.object-set-inverse-clip</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Release Clip</attribute>
+ <attribute name='action'>app.object-release-clip</attribute>
+ </item>
+ </section>
+ </submenu>
+ </section>
+ <submenu id="object-mask">
+ <attribute name='label' translatable='yes'>Mas_k</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Set Mask</attribute>
+ <attribute name='action'>app.object-set-mask</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Set Inverse Mask (LPE)</attribute>
+ <attribute name='action'>app.object-set-inverse-mask</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Release Mask</attribute>
+ <attribute name='action'>app.object-release-mask</attribute>
+ </item>
+ </section>
+ </submenu>
+ <submenu id="object-mask">
+ <attribute name='label' translatable='yes'>Patter_n</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Objects to Patter_n</attribute>
+ <attribute name='action'>app.object-to-pattern</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Pattern to _Objects</attribute>
+ <attribute name='action'>app.pattern-to-object</attribute>
+ </item>
+ </section>
+ </submenu>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Objects to _Marker</attribute>
+ <attribute name='action'>app.object-to-marker</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Objects to Gu_ides</attribute>
+ <attribute name='action'>app.object-to-guides</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Raise to _Top</attribute>
+ <attribute name='action'>app.selection-top</attribute>
+ <attribute name='icon'>selection-top</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Raise</attribute>
+ <attribute name='action'>app.selection-raise</attribute>
+ <attribute name='icon'>selection-raise</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Lower</attribute>
+ <attribute name='action'>app.selection-lower</attribute>
+ <attribute name='icon'>selection-lower</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Lower to _Bottom</attribute>
+ <attribute name='action'>app.selection-bottom</attribute>
+ <attribute name='icon'>selection-bottom</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Rotate 90° CW</attribute>
+ <attribute name='action'>app.object-rotate-90-cw</attribute>
+ <attribute name='icon'>object-rotate-right</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Rotate 90° CCW</attribute>
+ <attribute name='action'>app.object-rotate-90-ccw</attribute>
+ <attribute name='icon'>object-rotate-left</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Flip _Horizontal</attribute>
+ <attribute name='action'>app.object-flip-horizontal</attribute>
+ <attribute name='icon'>object-flip-horizontal</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Flip _Vertical</attribute>
+ <attribute name='action'>app.object-flip-vertical</attribute>
+ <attribute name='icon'>object-flip-vertical</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Unhide All</attribute>
+ <attribute name='action'>app.unhide-all</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Unlock All</attribute>
+ <attribute name='action'>app.unlock-all</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Transfor_m...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Transform</attribute>
+ <attribute name='icon'>dialog-transform</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Align and Distribute...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>AlignDistribute</attribute>
+ <attribute name='icon'>dialog-align-and-distribute</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="path-menu">
+ <attribute name='label' translatable="yes">_Path</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Object to Path</attribute>
+ <attribute name='action'>app.object-to-path</attribute>
+ <attribute name='icon'>object-to-path</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Stroke to Path</attribute>
+ <attribute name='action'>app.object-stroke-to-path</attribute>
+ <attribute name='icon'>stroke-to-path</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Trace Bitmap...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Trace</attribute>
+ <attribute name='icon'>bitmap-trace</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Union</attribute>
+ <attribute name='action'>app.path-union</attribute>
+ <attribute name='icon'>path-union</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Difference</attribute>
+ <attribute name='action'>app.path-difference</attribute>
+ <attribute name='icon'>path-difference</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Intersection</attribute>
+ <attribute name='action'>app.path-intersection</attribute>
+ <attribute name='icon'>path-intersection</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">E_xclusion</attribute>
+ <attribute name='action'>app.path-exclusion</attribute>
+ <attribute name='icon'>path-exclusion</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Di_vision</attribute>
+ <attribute name='action'>app.path-division</attribute>
+ <attribute name='icon'>path-division</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Cut _Path</attribute>
+ <attribute name='action'>app.path-cut</attribute>
+ <attribute name='icon'>path-cut</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Combine</attribute>
+ <attribute name='action'>app.path-combine</attribute>
+ <attribute name='icon'>path-combine</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Break _Apart</attribute>
+ <attribute name='action'>app.path-break-apart</attribute>
+ <attribute name='icon'>path-break-apart</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Split Pat_h</attribute>
+ <attribute name='action'>app.path-split</attribute>
+ <attribute name='icon'>path-split</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">I_nset</attribute>
+ <attribute name='action'>win.path-inset</attribute>
+ <attribute name='icon'>path-inset</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Outs_et</attribute>
+ <attribute name='action'>win.path-offset</attribute>
+ <attribute name='icon'>path-outset</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">D_ynamic Offset</attribute>
+ <attribute name='action'>win.path-offset-dynamic</attribute>
+ <attribute name='icon'>path-offset-dynamic</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Linked Offset</attribute>
+ <attribute name='action'>win.path-offset-linked</attribute>
+ <attribute name='icon'>path-offset-linked</attribute>
+ <attribute name='use-icon'>true</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Fill between paths</attribute>
+ <attribute name='action'>app.path-fill-between-paths</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Si_mplify</attribute>
+ <attribute name='action'>app.path-simplify</attribute>
+ <attribute name='icon'>path-simplify</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Reverse</attribute>
+ <attribute name='action'>win.path-reverse</attribute>
+ <attribute name='icon'>path-reverse</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Path E_ffects...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>LivePathEffect</attribute>
+ <attribute name='icon'>dialog-path-effects</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Paste Path _Effect</attribute>
+ <attribute name='action'>app.paste-path-effect</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Remove Path _Effect</attribute>
+ <attribute name='action'>app.remove-path-effect</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="text-menu">
+ <attribute name='label' translatable="yes">_Text</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Text and Font...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Text</attribute>
+ <attribute name='icon'>dialog-text-and-font</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">SVG Font Editor...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>SVGFonts</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Unicode Characters...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Glyphs</attribute>
+ <attribute name='icon'>accessories-character-map</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Put on Path</attribute>
+ <attribute name='action'>app.text-put-on-path</attribute>
+ <attribute name='icon'>text-put-on-path</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Remove from Path</attribute>
+ <attribute name='action'>app.text-remove-from-path</attribute>
+ <attribute name='icon'>text-remove-from-path</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">_Flow into Frame</attribute>
+ <attribute name='action'>app.text-flow-into-frame</attribute>
+ <attribute name='icon'>text-flow-into-frame</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Set _Subtraction Frames</attribute>
+ <attribute name='action'>app.text-flow-subtract-frame</attribute>
+ <attribute name='icon'>text-flow-subtract-frame</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Unflow</attribute>
+ <attribute name='action'>app.text-unflow</attribute>
+ <attribute name='icon'>text-unflow</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Convert to Text</attribute>
+ <attribute name='action'>app.text-convert-to-regular</attribute>
+ <attribute name='icon'>text-convert-to-regular</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Remove Manual _Kerns</attribute>
+ <attribute name='action'>app.text-unkern</attribute>
+ <attribute name='icon'>text-unkern</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Check Spellin_g...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Spellcheck</attribute>
+ <attribute name='icon'>tools-check-spelling</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="filter-menu">
+ <attribute name='label' translatable="yes">Filter_s</attribute>
+ <section id="filter-menu-filters"/>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Filter _Editor...</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>FilterEffects</attribute>
+ <attribute name='icon'>dialog-filters</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Remove Filters</attribute>
+ <attribute name='action'>app.edit-remove-filter</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="effect-menu">
+ <attribute name='label' translatable="yes">Exte_nsions</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Previous Exte_nsion</attribute>
+ <attribute name='action'>app.last-effect</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Previous Extension Settings...</attribute>
+ <attribute name='action'>app.last-effect-pref</attribute>
+ </item>
+ </section>
+ <section id="effect-menu-effects"/>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Manage Extensions...</attribute>
+ <attribute name='action'>app.org.inkscape.extension.manager</attribute>
+ </item>
+ </section>
+ </submenu>
+
+ <submenu id="help-menu">
+ <attribute name='label' translatable="yes">_Help</attribute>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape Manual</attribute>
+ <attribute name='action'>win.help-url-manual</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Keys and Mouse Reference</attribute>
+ <attribute name='action'>win.help-url-keys</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Ask Us a Question</attribute>
+ <attribute name='action'>win.help-url-ask-question</attribute>
+ </item>
+ <submenu id="tutiorial">
+ <attribute name='label' translatable='yes'>Tutorials</attribute>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape: _Basic</attribute>
+ <attribute name='action'>app.tutorial-basic</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape: _Shapes</attribute>
+ <attribute name='action'>app.tutorial-shapes</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape: _Advanced</attribute>
+ <attribute name='action'>app.tutorial-advanced</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape: T_racing</attribute>
+ <attribute name='action'>app.tutorial-tracing</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape: Tracing Pixel Art</attribute>
+ <attribute name='action'>app.tutorial-tracing-pixelart</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape: _Calligraphy</attribute>
+ <attribute name='action'>app.tutorial-calligraphy</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Inkscape: _Interpolate</attribute>
+ <attribute name='action'>app.tutorial-interpolate</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Elements of Design</attribute>
+ <attribute name='action'>app.tutorial-design</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_Tips and Tricks</attribute>
+ <attribute name='action'>app.tutorial-tips</attribute>
+ </item>
+ </submenu>
+ <item>
+ <attribute name='label' translatable="yes">Command Line Options</attribute>
+ <attribute name='action'>win.help-url-man</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">FAQ</attribute>
+ <attribute name='action'>win.help-url-faq</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">New in This Version</attribute>
+ <attribute name='action'>win.help-url-release-notes</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Report a Bug</attribute>
+ <attribute name='action'>win.help-url-report-bug</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">Donate</attribute>
+ <attribute name='action'>win.help-url-donate</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">SVG 1.1 Specification</attribute>
+ <attribute name='action'>win.help-url-svg11-spec</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">SVG 2 Specification</attribute>
+ <attribute name='action'>win.help-url-svg2-spec</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name='label' translatable="yes">About _Memory</attribute>
+ <attribute name='action'>win.dialog-open</attribute>
+ <attribute name='target'>Memory</attribute>
+ <attribute name='icon'>dialog-memory</attribute>
+ </item>
+ <item>
+ <attribute name='label' translatable="yes">_About Inkscape</attribute>
+ <attribute name='action'>app.about</attribute>
+ <attribute name='icon'>inkscape-logo</attribute>
+ <attribute name='use-icon'>true</attribute>
+ <attribute name='hidden-when'>macos-menubar</attribute>
+ </item>
+ </section>
+ </submenu>
+ </menu>
+
+</interface>
diff --git a/share/ui/page-properties.glade b/share/ui/page-properties.glade
new file mode 100644
index 0000000..22415f2
--- /dev/null
+++ b/share/ui/page-properties.glade
@@ -0,0 +1,989 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.24"/>
+ <object class="GtkAdjustment" id="adj-page-height">
+ <property name="lower">0.001</property>
+ <property name="upper">10000000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adj-page-width">
+ <property name="lower">0.001</property>
+ <property name="upper">10000000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adj-scale-x">
+ <property name="lower">9.9999999999999995e-07</property>
+ <property name="upper">1000000</property>
+ <property name="value">1</property>
+ <property name="step-increment">0.10</property>
+ <property name="page-increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adj-viewbox-height">
+ <property name="lower">0.001</property>
+ <property name="upper">10000000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adj-viewbox-width">
+ <property name="lower">0.001</property>
+ <property name="upper">10000000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adj-viewbox-x">
+ <property name="lower">-10000000</property>
+ <property name="upper">10000000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adj-viewbox-y">
+ <property name="lower">-10000000</property>
+ <property name="upper">10000000</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkImage" id="image-resize">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">pages-resize-symbolic</property>
+ </object>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="pixel-size">20</property>
+ <property name="icon-name">page-portrait-symbolic</property>
+ </object>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="pixel-size">20</property>
+ <property name="icon-name">page-landscape-symbolic</property>
+ </object>
+ <object class="GtkMenu" id="page-templates-menu">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="reserve-toggle-size">False</property>
+ </object>
+ <!-- n-columns=3 n-rows=2 -->
+ <object class="GtkGrid" id="main-grid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <child>
+ <!-- n-columns=4 n-rows=16 -->
+ <object class="GtkGrid" id="left-grid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="row-spacing">4</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Front page</property>
+ <style>
+ <class name="heading"/>
+ <class name="top"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Width:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Height:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="page-width">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Width of front page</property>
+ <property name="width-chars">9</property>
+ <property name="adjustment">adj-page-width</property>
+ <property name="digits">3</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="page-height">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Height of front page</property>
+ <property name="width-chars">9</property>
+ <property name="adjustment">adj-page-height</property>
+ <property name="digits">3</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Resize to content:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">6</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-top">3</property>
+ <property name="margin-bottom">3</property>
+ <property name="hexpand">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Orientation:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="page-landscape">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="margin-end">5</property>
+ <property name="image">image2</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ <property name="group">page-portrait</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack-type">end</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="page-portrait">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="margin-end">5</property>
+ <property name="image">image1</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack-type">end</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">5</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="page-resize">
+ <property name="width-request">50</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Fit the page to the current selection or the drawing if there's no selection.</property>
+ <property name="halign">end</property>
+ <property name="image">image-resize</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="link-width-height">
+ <property name="name">LockGuides</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="halign">start</property>
+ <property name="margin-start">2</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="link-edit-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">2</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="scale-x-label">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Scale:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="scale-x">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="tooltip-text" translatable="yes">Document scale establishes size of user units.
+SVG element positions are expressed in user units.</property>
+ <property name="width-chars">9</property>
+ <property name="adjustment">adj-scale-x</property>
+ <property name="digits">6</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">7</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">X:</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Y:</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Width:</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">13</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Height:</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">14</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="viewbox-x">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="width-chars">9</property>
+ <property name="adjustment">adj-viewbox-x</property>
+ <property name="digits">3</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">11</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="viewbox-y">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="width-chars">9</property>
+ <property name="adjustment">adj-viewbox-y</property>
+ <property name="digits">3</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">12</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="viewbox-width">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="width-chars">9</property>
+ <property name="adjustment">adj-viewbox-width</property>
+ <property name="digits">3</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">13</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="viewbox-height">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="width-chars">9</property>
+ <property name="adjustment">adj-viewbox-height</property>
+ <property name="digits">3</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">14</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="margin-end">2</property>
+ <property name="label" translatable="yes">Format:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="page-menu-btn">
+ <property name="width-request">80</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Predefined paper sizes to choose from</property>
+ <property name="margin-end">2</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">True</property>
+ <property name="popup">page-templates-menu</property>
+ <property name="use-popover">False</property>
+ <child>
+ <object class="GtkLabel" id="page-template-name">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">A4</property>
+ <property name="ellipsize">end</property>
+ <property name="single-line-mode">True</property>
+ <property name="max-width-chars">8</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="page-units">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Document's units used to specify document size only</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkExpander" id="viewbox-expander">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="margin-top">6</property>
+ <property name="margin-bottom">4</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Advanced viewbox scaling options</property>
+ <property name="label" translatable="yes">Viewbox</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">10</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="linked-scale-img">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="margin-start">2</property>
+ <property name="stock">gtk-missing-image</property>
+ <style>
+ <class name="viewbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">13</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkLabel" id="nonuniform-scale">
+ <property name="name">non-uniform-scale</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Non-uniform scale!</property>
+ <attributes>
+ <attribute name="style" value="italic"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">9</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkLabel" id="user-units">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label">xx</property>
+ <style>
+ <class name="small-font"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">4</property>
+ <property name="label" translatable="yes">per user unit</property>
+ <style>
+ <class name="small-font"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">8</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="unsupported">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Unsupported percentage size!</property>
+ <attributes>
+ <attribute name="style" value="italic"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=5 n-rows=5 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="row-spacing">4</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Display</property>
+ <style>
+ <class name="heading"/>
+ <class name="top"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Display units:</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="display-units">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="tooltip-text" translatable="yes">Units used throughout the user interface</property>
+ <property name="halign">end</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="preview-box">
+ <property name="height-request">132</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <!-- n-columns=3 n-rows=2 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">center</property>
+ <property name="margin-bottom">6</property>
+ <property name="row-spacing">2</property>
+ <property name="column-spacing">4</property>
+ <property name="column-homogeneous">True</property>
+ <child>
+ <object class="GtkButton" id="background-color">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Page background color used during editing and exporting</property>
+ <property name="halign">center</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="border-color">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Page border and drop shadow color</property>
+ <property name="halign">center</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="desk-color">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Desk background color surrounding pages</property>
+ <property name="halign">center</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">center</property>
+ <property name="label" translatable="yes">Border</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">center</property>
+ <property name="label" translatable="yes">Page</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">center</property>
+ <property name="label" translatable="yes">Desk</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkCheckButton" id="checkerboard">
+ <property name="label" translatable="yes">Checkerboard</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">If set, use a colored checkerboard for the desk background.</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="border">
+ <property name="label" translatable="yes">Border</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">If set, a rectangular page border is shown.</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="border-top">
+ <property name="label" translatable="yes">Always on top</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">If set, the page border is always on top of the drawing.</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="draw-indicator">True</property>
+ <style>
+ <class name="indent"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="shadow">
+ <property name="label" translatable="yes">Show shadow</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">If set, the page border shows a shadow on its right and lower side.</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="draw-indicator">True</property>
+ <style>
+ <class name="indent"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Render</property>
+ <style>
+ <class name="heading"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="use-antialias">
+ <property name="label" translatable="yes">Use antialiasing</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="tooltip-text" translatable="yes">If unset, no antialiasing will be done on the drawing.</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">4</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label"> </property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/resources/canvas_ad.png b/share/ui/resources/canvas_ad.png
new file mode 100644
index 0000000..733104d
--- /dev/null
+++ b/share/ui/resources/canvas_ad.png
Binary files differ
diff --git a/share/ui/resources/canvas_aw.png b/share/ui/resources/canvas_aw.png
new file mode 100644
index 0000000..6f4a4e5
--- /dev/null
+++ b/share/ui/resources/canvas_aw.png
Binary files differ
diff --git a/share/ui/resources/canvas_cd.png b/share/ui/resources/canvas_cd.png
new file mode 100644
index 0000000..1005785
--- /dev/null
+++ b/share/ui/resources/canvas_cd.png
Binary files differ
diff --git a/share/ui/resources/canvas_cw.png b/share/ui/resources/canvas_cw.png
new file mode 100644
index 0000000..96f1584
--- /dev/null
+++ b/share/ui/resources/canvas_cw.png
Binary files differ
diff --git a/share/ui/resources/canvas_sw.png b/share/ui/resources/canvas_sw.png
new file mode 100644
index 0000000..ef0cfb6
--- /dev/null
+++ b/share/ui/resources/canvas_sw.png
Binary files differ
diff --git a/share/ui/resources/template_about.svg b/share/ui/resources/template_about.svg
new file mode 100644
index 0000000..62daafe
--- /dev/null
+++ b/share/ui/resources/template_about.svg
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.1-alpha (5235699526, 2021-01-18, custom)"
+ sodipodi:docname="template_about.svg"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6902632"
+ inkscape:cx="52.282292"
+ inkscape:cy="53.160985"
+ inkscape:document-units="px"
+ inkscape:current-layer="g9916"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1"
+ objecttolerance="10.0"
+ gridtolerance="10.0"
+ guidetolerance="10.0"
+ inkscape:pagecheckerboard="0" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g9916"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1011.3254,-2133.5604)">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0312034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 439.32907,868.28615 -0.29724,5.5e-4 v 7.71575 h -0.19093 -7.34063 v 0.25237 h 7.8288 z"
+ id="path9852"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.139726;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 431.09054,867.93653 v 7.89023 h 0.0155 7.73488 0.0154 v -7.89023 z"
+ id="path9816"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path9789"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.082192;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 431.40166,868.72867 v 0.10342 6.18218 h 0.1171 6.9094 0.11667 v -6.2856 z m 0.10353,0.10321 h 6.93643 v 6.07907 h -0.0135 -6.9094 -0.0136 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ id="path9791"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.082192;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 431.50519,868.83188 v 6.07907 h 0.0136 6.9094 0.0135 v -6.07907 z"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path9814"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.139726;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 430.91466,867.7608 v 0.17565 8.06588 h 0.19146 7.73478 0.19093 v -8.24153 z m 0.17587,0.17575 h 7.76575 v 7.89024 h -0.0154 -7.73488 -0.0155 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ d="m 431.50519,868.22601 v 0.18898 h 0.0136 6.9094 0.0135 v -0.18898 z m -0.10353,-0.10321 v 0.10342 0.29209 h 0.1171 6.9094 0.11667 v -0.39551 z m 0.10353,0.10321 h 6.93643 v 0.18898 h -0.0135 -6.9094 -0.0136 z"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0146964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ id="path447"
+ sodipodi:nodetypes="cccccccccccccccccccccc" />
+ <g
+ id="g5079"
+ transform="matrix(0.05214083,0,0,0.05214083,432.35854,861.02782)"
+ style="stroke-width:2.15171">
+ <path
+ id="path5071"
+ transform="matrix(0.93750002,0,0,0.93750002,144.76645,63.145892)"
+ d="m -99.322266,116.44727 c -2.933084,-0.004 -5.842014,1.07671 -7.986324,3.27148 l -30.58008,31.29102 -0.043,0.0547 c -2.69882,3.34217 -3.8595,5.99418 -3.45117,8.40235 0.40833,2.40818 2.41291,3.88539 4.60351,4.81445 3.98898,1.69175 9.25342,2.38555 12.64063,3.69141 -0.62698,0.40099 -1.50459,0.87064 -2.58399,1.37109 -1.27719,0.59215 -2.59266,1.16864 -3.63281,1.97656 -0.52008,0.40397 -1.04709,0.87906 -1.28515,1.71094 -0.23807,0.83188 0.12661,1.86531 0.70312,2.45508 1.0265,1.04926 2.46041,1.66859 4.20508,2.35742 1.74467,0.68883 3.77975,1.35162 5.79492,2.00781 2.01517,0.65619 4.00946,1.30728 5.62109,1.94336 1.61164,0.6361 2.86008,1.35184 3.16797,1.66602 0.14914,0.15311 0.11885,0.15953 0.11719,0.14453 -0.002,-0.0152 0.0107,0.0334 -0.0762,0.20898 -0.10569,0.21349 -0.53798,0.66279 -0.87696,1.04688 l -0.29296,-0.39063 c -1.00025,-1.32904 -2.56513,-1.86778 -4.06446,-1.98242 -1.49932,-0.11464 -3.02667,0.1651 -4.36914,0.72266 -1.34246,0.55755 -2.57371,1.36616 -3.18164,2.74218 -0.30396,0.68803 -0.38469,1.54289 -0.14258,2.33008 0.24212,0.78719 0.75437,1.47356 1.44336,2.07032 l 0.002,0.002 c 1.87484,1.62119 4.42575,1.39343 6.31445,0.35547 0.5437,-0.2988 0.97341,-0.76387 1.44922,-1.16992 -0.003,0.12646 -0.0829,0.21659 -0.0684,0.34765 0.0781,0.70539 0.44237,1.38805 0.95508,1.91211 1.90268,1.94488 4.48808,1.86093 6.2832,2.28906 0.89756,0.21407 1.59838,0.49419 2.11328,0.94532 0.5149,0.45111 0.94302,1.0984 1.18555,2.41992 0.30987,1.69316 1.71546,2.87828 3.2207,3.3125 1.50525,0.43423 3.200236,0.38164 4.988282,0.0898 3.576095,-0.58361 7.518,-2.18242 10.292969,-4.21289 l 0.09961,-0.0723 0.08789,-0.0879 c 0.456329,-0.46684 0.828525,-0.98811 0.955078,-1.67188 0.126554,-0.68375 -0.127343,-1.4313 -0.472656,-1.87695 -0.690627,-0.89132 -1.479666,-1.14054 -2.117187,-1.44922 -0.376345,-0.18222 -0.435369,-0.23035 -0.623047,-0.34766 2.966648,-2.9455 5.613691,-3.4451 8.259765,-4.06055 1.349933,-0.31397 2.727053,-0.64507 4.003907,-1.48242 1.276854,-0.83734 2.333637,-2.19946 2.980468,-4.13672 0.261892,-0.7846 0.153987,-1.67139 -0.169921,-2.33007 -0.323909,-0.6587 -0.795754,-1.14124 -1.302735,-1.56446 -1.013964,-0.84644 -2.244287,-1.48072 -3.363281,-2.08593 -0.986187,-0.53339 -1.749894,-1.01768 -2.197266,-1.375 1.728256,-0.89259 4.300724,-1.8331 7.365235,-2.83399 3.364353,-1.09881 7.05279,-2.28419 10.195312,-3.7793 3.142522,-1.49511 5.873323,-3.26733 6.966797,-6.02929 0.546736,-1.38097 0.572396,-2.98691 0.0039,-4.57032 -0.567048,-1.5794 -1.669317,-3.15715 -3.33789,-4.82812 l -0.0098,-0.0117 -31.650391,-32.34961 -0.01758,-0.0176 c -2.233767,-2.14457 -5.189958,-3.23222 -8.123047,-3.23632 z m 33.707032,59.30468 c -2.958898,0.10187 -6.101266,1.66242 -6.998047,4.82227 l -0.05664,0.20117 v 0.20899 c 0,0.55736 0.268841,1.01763 0.519531,1.29296 0.250691,0.27534 0.502432,0.43701 0.753907,0.57422 0.50295,0.27443 1.038157,0.44523 1.648437,0.59766 1.220562,0.30483 2.718727,0.48785 4.244141,0.53125 1.525413,0.0434 3.050745,-0.0448 4.365234,-0.4043 0.657245,-0.17975 1.276534,-0.41779 1.835938,-0.86523 0.559402,-0.44745 1.052734,-1.24039 1.052734,-2.09375 v -0.25196 l -0.08203,-0.23828 c -1.078532,-3.1211 -4.324305,-4.4769 -7.283203,-4.375 z m -7.425782,6.79493 -0.5625,0.5039 c -1.068232,0.95821 -1.724948,2.06647 -1.845703,3.23242 -0.120755,1.16596 0.356131,2.28944 1.123047,3.03125 1.53383,1.48361 4.086275,1.73472 6.3125,0.42578 l 0.169922,-0.0996 0.138672,-0.14257 c 0.589077,-0.59783 0.733647,-1.35694 0.6875,-2.03907 -0.04614,-0.68211 -0.287624,-1.34871 -0.701172,-1.97656 -0.827095,-1.25571 -2.362009,-2.32991 -4.582031,-2.7832 z"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.45514;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ inkscape:connector-curvature="0" />
+ <g
+ style="stroke-width:4.40958"
+ transform="matrix(0.21304811,0,0,0.21304811,10.404497,170.43035)"
+ id="inkscape-logo">
+ <path
+ style="fill:#292929;fill-opacity:1;stroke-width:4.40958"
+ inkscape:connector-curvature="0"
+ id="path2313"
+ d="M 163.15,27.83 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 104.13,243.15 47.44,252 59.17,264 c 11.73,11.99 70.93,23.1 82.68,35.09 11.73,11.99 -24.01,24.71 -12.28,36.7 11.73,11.99 38.86,0.63 43.94,28.31 3.62,19.78 48.89,8.5 71.03,-7.7 11.73,-12 -22.44,-10.87 -10.71,-22.86 29.17,-29.83 56.33,-10.84 66.31,-40.73 4.93,-14.77 -42.94,-22.77 -31.19,-34.76 33.75,-19.71 150.4,-32.54 95.05,-87.89 L 224.75,27.83 c -17.03,-16.35 -45.45,-16.53 -61.6,0 z m 154.31,264.98 c 0,6.82 50.25,11.29 50.25,-1.61 -7.16,-20.72 -44.31,-19.32 -50.25,1.61 z M 91.1,329.05 c 11.9,10.29 30.28,-2.56 35.79,-16.92 -11.53,-15.32 -54.69,0.55 -35.79,16.92 z m 220.06,-22.23 c -15.34,13.76 1.72,27.72 16.84,18.83 3.37,-3.42 -0.09,-15.41 -16.84,-18.83 z" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ffffff;stroke-width:4.40958"
+ id="path2315"
+ d="m 131,238.6 c 3.59,2.23 57.89,13.26 71.16,15.46 4.6,0.97 1.34,5.71 -5,8.91 -14.3,3.8 -83.66,-24.37 -66.16,-24.37 z" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ffffff;stroke-width:4.40958"
+ id="path2317"
+ d="m 216.63,37.47 53.15,53.98 c 5.04,5.15 4.97,15.13 2.15,18 L 245.54,88.34 240.35,119.6 218.3,107.96 182.99,130.27 171.3,83.24 152.33,116.06 h -29 c -11.82,0 -13.21,-15 -2.47,-25.74 18.76,-20.25 40.29,-40.89 51.99,-52.85 11.76,-12.02 32.25,-11.68 43.78,0 z" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_businesscard_landscape.svg b/share/ui/resources/template_businesscard_landscape.svg
new file mode 100644
index 0000000..4181147
--- /dev/null
+++ b/share/ui/resources/template_businesscard_landscape.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_businesscard_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.57223357"
+ inkscape:cx="92.995917"
+ inkscape:cy="-313.39749"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-73.136612,-70.036242)">
+ <g
+ id="g9025"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(0.51006179,0,0,0.51006179,-150.53749,-584.1933)">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 439.37269,1291.731 v 0.075 32.119 0.074 h 48.74534 l 0.0837,-32.2321 h -0.0837 v -0.036 z"
+ id="path8942" />
+ <path
+ id="path8974"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 702.40625,5217.4297 -0.30469,117.6816 H 518.83008 v 5.4336 h 188.55664 l 0.11719,-123.1152 h -0.72266 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ id="rect2877"
+ style="display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.35223;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke;stop-color:#000000"
+ d="m 566.38477,5224.4238 a 35.751159,35.751159 0 0 0 -35.75391,35.752 35.751159,35.751159 0 0 0 14.22656,28.543 21.822816,21.822816 0 0 1 21.27149,-16.9454 21.822816,21.822816 0 0 1 21.33984,17.2715 35.751159,35.751159 0 0 0 14.66602,-28.8691 35.751159,35.751159 0 0 0 -35.75,-35.752 z m -0.26368,14.2696 h 0.002 a 13.91193,13.91193 0 0 1 0.006,0 13.91193,13.91193 0 0 1 13.91211,13.9121 13.91193,13.91193 0 0 1 -13.91211,13.9101 13.91193,13.91193 0 0 1 -13.91211,-13.9101 13.91193,13.91193 0 0 1 13.90429,-13.9121 z m 51.09571,32.5918 c -1.81754,0 -3.28125,1.4636 -3.28125,3.2812 0,1.8176 1.46371,3.2793 3.28125,3.2793 h 61.20508 c 1.81749,0 3.27929,-1.4617 3.27929,-3.2793 0,-1.8176 -1.4618,-3.2812 -3.27929,-3.2812 z m 0,16.2949 c -1.81754,0 -3.28125,1.4637 -3.28125,3.2812 0,1.8176 1.46371,3.2793 3.28125,3.2793 h 61.20508 c 1.81749,0 3.27929,-1.4617 3.27929,-3.2793 0,-1.8175 -1.4618,-3.2812 -3.27929,-3.2812 z m -80.38672,16.2949 c -1.81754,0 -3.28125,1.4637 -3.28125,3.2812 0,1.8176 1.46371,3.2793 3.28125,3.2793 h 141.5918 c 1.81753,0 3.27929,-1.4617 3.27929,-3.2793 0,-1.8175 -1.46176,-3.2812 -3.27929,-3.2812 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ id="path8940"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 438.52354,1290.8811 v 0.8496 0.076 32.119 0.924 h 50.44343 l 0.0879,-33.9339 h -0.0858 v -0.035 z m 49.59439,0.8496 v 0.036 h 0.0837 l -0.0837,32.2321 h -48.74535 v -0.074 -32.119 -0.075 z" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_businesscard_portrait.svg b/share/ui/resources/template_businesscard_portrait.svg
new file mode 100644
index 0000000..7c18b66
--- /dev/null
+++ b/share/ui/resources/template_businesscard_portrait.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_businesscard_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.1241887"
+ inkscape:cx="85.668108"
+ inkscape:cy="62.14388"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-93.810753,-49.58248)">
+ <g
+ id="g8914"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(0.51207932,0,0,0.51207932,-127.23883,-639.88721)">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 650.1543,5426.2109 -5.4336,0.01 v 181.0371 h -3.49023 -114.19141 v 4.6309 H 650.1543 Z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ id="path8889" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 440.66682,1347.2632 v 0.022 h -0.0284 l 0.0284,48.7231 h 0.0749 32.11897 0.0744 v -48.7453 z"
+ id="path8861" />
+ <path
+ id="path5084-3-0-1"
+ style="opacity:0.2;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50247;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 580.47656,5440.0547 a 37.260898,37.260898 0 0 0 -37.26367,37.2598 37.260898,37.260898 0 0 0 14.82617,29.75 22.744373,22.744373 0 0 1 22.16992,-17.6602 22.744373,22.744373 0 0 1 22.24219,18 37.260898,37.260898 0 0 0 15.28516,-30.0898 37.260898,37.260898 0 0 0 -37.25977,-37.2598 z m -0.30859,14.8711 a 14.499419,14.499419 0 0 1 0.0352,0 14.499419,14.499419 0 0 1 0.006,0 14.499419,14.499419 0 0 1 14.5,14.498 14.499419,14.499419 0 0 1 -14.5,14.5 14.499419,14.499419 0 0 1 -14.5,-14.5 14.499419,14.499419 0 0 1 14.45899,-14.498 z m -30.29492,78.7539 c -1.81754,0 -3.28125,1.4637 -3.28125,3.2812 0,1.8176 1.46371,3.2793 3.28125,3.2793 h 61.20312 c 1.8175,0 3.28125,-1.4617 3.28125,-3.2793 0,-1.8175 -1.46375,-3.2812 -3.28125,-3.2812 z m 0,16.2949 c -1.81754,0 -3.28125,1.4637 -3.28125,3.2813 0,1.8172 1.46371,3.2793 3.28125,3.2793 h 61.20312 c 1.8175,0 3.28125,-1.4621 3.28125,-3.2793 0,-1.8176 -1.46375,-3.2813 -3.28125,-3.2813 z m 0,16.2949 c -1.81754,0 -3.28125,1.4637 -3.28125,3.2813 0,1.8172 1.46371,3.2793 3.28125,3.2793 h 61.20312 c 1.8175,0 3.28125,-1.4621 3.28125,-3.2793 0,-1.8176 -1.46375,-3.2813 -3.28125,-3.2813 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ id="path8859"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 439.81653,1346.4121 v 0.021 h -0.0295 l 0.0295,50.4217 h 0.92552 32.11949 0.92345 v -50.4429 z m 0.85059,0.8511 h 32.2678 v 48.7448 h -0.0744 -32.11897 -0.0744 l -0.0284,-48.7225 h 0.0284 z" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_businesscard_square.svg b/share/ui/resources/template_businesscard_square.svg
new file mode 100644
index 0000000..8ea5fb3
--- /dev/null
+++ b/share/ui/resources/template_businesscard_square.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_businesscard_square.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.83770112"
+ inkscape:cx="473.51996"
+ inkscape:cy="164.8865"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g9103"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(0.52010061,0,0,0.52010061,-155.74775,-592.43484)">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 667.61328,5000.9473 -5.43359,0.01 v 24.4941 13.9453 102.6075 H 658.6875 524.5 v 4.6132 h 143.11328 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ id="path9068" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 439.99399,1234.7442 v 0.014 8.3235 3.6898 26.1343 h 0.0749 37.41063 0.0744 v -26.2976 -3.6897 -8.1603 -0.014 z"
+ id="path9037" />
+ <path
+ id="path5084-3"
+ style="opacity:0.2;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50248;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 589.32031,5011.166 a 44.092471,44.092471 0 0 0 -44.0957,44.0918 44.092471,44.092471 0 0 0 17.54492,35.2031 26.914425,26.914425 0 0 1 26.23438,-20.8964 26.914425,26.914425 0 0 1 26.32031,21.2988 44.092471,44.092471 0 0 0 18.08789,-35.6055 44.092471,44.092471 0 0 0 -44.0918,-44.0918 z m -0.44922,17.5977 a 17.157804,17.157804 0 0 1 0.12305,0 h 0.002 a 17.157804,17.157804 0 0 1 0.006,0 17.157804,17.157804 0 0 1 17.15821,17.1582 17.157804,17.157804 0 0 1 -17.15821,17.1562 17.157804,17.157804 0 0 1 -17.15625,-17.1562 17.157804,17.157804 0 0 1 17.02539,-17.1582 z m -31.67968,73.6445 c -1.81754,0 -3.28125,1.4617 -3.28125,3.2793 0,1.8172 1.46371,3.2813 3.28125,3.2813 h 61.20312 c 1.8175,0 3.28125,-1.4641 3.28125,-3.2813 0,-1.8176 -1.46375,-3.2793 -3.28125,-3.2793 z m 0,12.8594 c -1.81754,0 -3.28125,1.4617 -3.28125,3.2793 0,1.8175 1.46371,3.2812 3.28125,3.2812 h 61.20312 c 1.8175,0 3.28125,-1.4637 3.28125,-3.2812 0,-1.8176 -1.46375,-3.2793 -3.28125,-3.2793 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ id="path9035"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 439.14469,1233.8944 v 0.8495 0.014 8.3246 3.6892 26.9844 h 0.92346 37.41218 0.92398 v -27.1483 -3.6896 -8.1603 -0.863 z m 0.84904,0.8495 h 37.55998 v 0.014 8.1608 3.6897 26.2976 h -0.0744 -37.41064 -0.0749 v -26.1343 -3.6902 -8.3236 z" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_desktop_hd_landscape.svg b/share/ui/resources/template_desktop_hd_landscape.svg
new file mode 100644
index 0000000..a784bee
--- /dev/null
+++ b/share/ui/resources/template_desktop_hd_landscape.svg
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.2-dev (1:1.0+devel+202104111158+4657bc26cf)"
+ sodipodi:docname="template_desktop_landscape (1).svg.2021_04_12_17_43_45.0.svg"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="117.73328"
+ inkscape:cy="39.951533"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2789"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1360"
+ inkscape:window-height="716"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ objecttolerance="10.0"
+ gridtolerance="10.0"
+ guidetolerance="10.0"
+ inkscape:pagecheckerboard="true" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-72.443085,-59.353406)">
+ <g
+ id="g2789"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1047.0197,-428.33444)">
+ <g
+ id="g3302"
+ transform="translate(0,-0.73626046)">
+ <g
+ id="g3284">
+ <g
+ id="g3267">
+ <g
+ id="g3251">
+ <g
+ id="g3236">
+ <g
+ id="g3222">
+ <g
+ id="g3209">
+ <g
+ id="g3197">
+ <g
+ id="g3186">
+ <g
+ id="g3176">
+ <g
+ id="g3149">
+ <path
+ id="path2301"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0302792px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 455.17108,196.50158 c 0.056,0.093 0.0888,0.20131 0.0888,0.31705 v 5.40425 c 0,0.34052 -0.27939,0.61991 -0.6199,0.61991 h -8.99869 c -0.0894,0 -0.17446,-0.0196 -0.25152,-0.0542 0.10878,0.18061 0.30622,0.30274 0.53084,0.30274 h 8.99868 c 0.34052,0 0.62001,-0.2798 0.62001,-0.62031 v -5.40395 c 0,-0.25098 -0.1521,-0.46829 -0.36827,-0.56546 z"
+ sodipodi:nodetypes="csssscsssscc" />
+ <path
+ id="path4258"
+ style="font-variation-settings:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:0.0797578;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 448.99269,202.84279 c -0.11639,0.22507 -0.34492,0.37005 -0.59813,0.37947 -0.0796,0.0223 -0.13665,0.0809 -0.13665,0.15085 0,0.0891 -0.0291,0.16092 0.0917,0.16092 h 1.36205 0.85836 1.36204 c 0.12077,0 0.0917,-0.0718 0.0917,-0.16092 0,-0.07 -0.057,-0.12858 -0.13665,-0.15085 -0.25317,-0.009 -0.48166,-0.15444 -0.59803,-0.37947 z"
+ sodipodi:nodetypes="ccssccssccc" />
+ <path
+ id="path2405"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.135588;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.64134,196.19873 c -0.34052,0 -0.62,0.27939 -0.62,0.6199 v 5.40426 c 0,0.34051 0.27948,0.6199 0.62,0.6199 h 8.99869 c 0.34051,0 0.6199,-0.27939 0.6199,-0.6199 v -5.40426 c 0,-0.34051 -0.27939,-0.6199 -0.6199,-0.6199 z m 1.1e-4,0.17045 h 8.99869 c 0.24898,0 0.44945,0.20047 0.44945,0.44945 v 5.40405 c 0,0.24899 -0.20047,0.44945 -0.44945,0.44945 h -8.99869 c -0.249,0 -0.44946,-0.20046 -0.44946,-0.44945 v -5.40405 c 0,-0.24898 0.20046,-0.44945 0.44946,-0.44945 z"
+ sodipodi:nodetypes="ssssssssssssssssss" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.135588;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.64145,196.36922 h 8.99868 c 0.24898,0 0.44943,0.20044 0.44943,0.44943 v 5.40407 c 0,0.24899 -0.20045,0.44944 -0.44943,0.44944 h -8.99868 c -0.24899,0 -0.44944,-0.20045 -0.44944,-0.44944 v -5.40407 c 0,-0.24899 0.20045,-0.44943 0.44944,-0.44943 z"
+ id="path2407"
+ sodipodi:nodetypes="sssssssss" />
+ <path
+ id="path2444"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0797578;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.69142,196.78224 c -0.16814,0 -0.30679,0.13823 -0.30679,0.30637 v 4.86388 c 0,0.16814 0.13865,0.30689 0.30679,0.30689 h 8.89884 c 0.16814,0 0.30679,-0.13875 0.30679,-0.30689 v -4.86388 c 0,-0.16813 -0.13865,-0.30637 -0.30679,-0.30637 z m -1.1e-4,0.10026 h 8.89895 c 0.1143,0 0.20632,0.092 0.20632,0.20633 v 4.86376 c 0,0.1143 -0.092,0.20633 -0.20632,0.20633 h -8.89895 c -0.11429,0 -0.20632,-0.092 -0.20632,-0.20633 v -4.86376 c 0,-0.11431 0.092,-0.20633 0.20632,-0.20633 z"
+ sodipodi:nodetypes="ssssssssssssssssss" />
+ <path
+ id="path2447"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.615399;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 6.3691406,28.630859 c -1.0868974,0 -1.9609375,0.874136 -1.9609375,1.960938 v 46.242187 c 0,0.21857 0.044014,0.425078 0.109375,0.621094 V 75.201172 H 92.9375 V 30.591797 c 0,-1.086993 -0.87423,-1.960938 -1.960938,-1.960938 z m 0.3984375,1.074219 h 5.6328129 c 0.592317,0 1.066406,0.477468 1.066406,1.06836 0,0.592317 -0.47485,1.068359 -1.066406,1.068359 H 6.7675781 c -0.5913665,0 -1.0683593,-0.476708 -1.0683593,-1.068359 0,-0.592318 0.4768978,-1.06836 1.0683593,-1.06836 z m 35.7695309,0 h 0.429688 c 0.592317,0 1.068359,0.477468 1.068359,1.06836 0,0.592317 -0.476898,1.068359 -1.068359,1.068359 h -0.429688 c -0.592317,0 -1.066406,-0.476708 -1.066406,-1.068359 0,-0.592318 0.47542,-1.06836 1.066406,-1.06836 z m 4.40625,0 h 4.927735 c 0.591366,0 1.068359,0.477468 1.068359,1.06836 0,0.592317 -0.476803,1.068359 -1.068359,1.068359 h -4.927735 c -0.591366,0 -1.068359,-0.476708 -1.068359,-1.068359 0,-0.592318 0.476803,-1.06836 1.068359,-1.06836 z m 35.648438,0 h 0.427734 c 0.592317,0 1.06836,0.477468 1.06836,1.06836 0,0.592317 -0.476423,1.068359 -1.06836,1.068359 h -0.427734 c -0.591367,0 -1.068359,-0.476708 -1.068359,-1.068359 0,-0.592318 0.476517,-1.06836 1.068359,-1.06836 z m 3.566406,0 h 0.429688 c 0.592317,0 1.066406,0.477468 1.066406,1.06836 0,0.592317 -0.474469,1.068359 -1.066406,1.068359 h -0.429688 c -0.592317,0 -1.066406,-0.476708 -1.066406,-1.068359 0,-0.592318 0.474849,-1.06836 1.066406,-1.06836 z m 3.519531,0 h 0.351563 c 0.592317,0 1.066406,0.379991 1.066406,0.851563 v 0.43164 c 0,0.472523 -0.474849,0.853516 -1.066406,0.853516 h -0.351563 c -0.592317,0 -1.066406,-0.381944 -1.066406,-0.853516 v -0.43164 c 0,-0.472523 0.474755,-0.851563 1.066406,-0.851563 z m -78.486328,6.6875 h 1.63086 c 1.101539,0 1.988281,0.884504 1.988281,1.986328 v 1.708985 c 0,1.101539 -0.886838,1.988281 -1.988281,1.988281 h -1.63086 c -1.101634,0 -1.988281,-0.886838 -1.988281,-1.988281 v -1.708985 c 0,-1.101539 0.886457,-1.986328 1.988281,-1.986328 z m 10.042969,0.01758 h 1.630859 c 1.101539,0 1.986328,0.886362 1.986328,1.988282 v 1.708984 c 0,1.101634 -0.884599,1.988281 -1.986328,1.988281 h -1.630859 c -1.101634,0 -1.988281,-0.886457 -1.988281,-1.988281 v -1.708984 c 0,-1.101635 0.886457,-1.988282 1.988281,-1.988282 z m -10.042969,10.09375 h 1.63086 c 1.101539,0 1.988281,0.886457 1.988281,1.988282 v 1.707031 c 0,1.101634 -0.886838,1.990234 -1.988281,1.990234 h -1.63086 c -1.101634,0 -1.988281,-0.88841 -1.988281,-1.990234 v -1.707031 c 0,-1.101635 0.886457,-1.988282 1.988281,-1.988282 z m 10.042969,0.01953 h 1.630859 c 1.101539,0 1.986328,0.886552 1.986328,1.988281 v 1.708984 c 0,1.101539 -0.884599,1.986328 -1.986328,1.986328 h -1.630859 c -1.101634,0 -1.988281,-0.884599 -1.988281,-1.986328 v -1.708984 c 0,-1.101539 0.886457,-1.988281 1.988281,-1.988281 z m -10.042969,10.09375 h 1.63086 c 1.101539,0 1.988281,0.886457 1.988281,1.988281 v 1.708984 c 0,1.101444 -0.886838,1.986328 -1.988281,1.986328 h -1.63086 c -1.101634,0 -1.988281,-0.884504 -1.988281,-1.986328 v -1.708984 c 0,-1.101634 0.886457,-1.988281 1.988281,-1.988281 z m -0.04687,9.820312 h 1.63086 c 1.101539,0 1.988281,0.8886 1.988281,1.990234 v 1.707032 c 0,1.101539 -0.886457,1.988281 -1.988281,1.988281 h -1.63086 c -1.101634,0 -1.988281,-0.886457 -1.988281,-1.988281 v -1.707032 c 0,-1.101729 0.886457,-1.990234 1.988281,-1.990234 z m 81.271485,12.914062 c -0.42741,0.247188 -0.915075,0.400391 -1.439454,0.400391 h 0.384766 c 0.406175,0 0.774403,-0.151896 1.054688,-0.400391 z m -87.4433598,0.02148 c 0.2767907,0.2331 0.6297277,0.378906 1.0214844,0.378906 h 0.3769532 c -0.5079434,0 -0.9804024,-0.145891 -1.3984376,-0.378906 z"
+ transform="matrix(0.10518012,0,0,0.10518012,445.02134,193.87111)" />
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_desktop_landscape.svg b/share/ui/resources/template_desktop_landscape.svg
new file mode 100644
index 0000000..397a41d
--- /dev/null
+++ b/share/ui/resources/template_desktop_landscape.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_desktop_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="234.17695"
+ inkscape:cy="293.4747"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2789"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-72.443085,-59.353406)">
+ <g
+ id="g2789"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1047.0197,-428.33444)">
+ <g
+ id="g20"
+ transform="matrix(0.2006328,0,0,0.2006328,355.73546,155.82931)">
+ <path
+ id="path2301"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 727.20898,1066.252 c 1.0546,1.7527 1.67383,3.7923 1.67383,5.9726 v 129.5449 c 0,6.4147 -5.26312,11.6778 -11.67773,11.6778 H 547.6875 c -1.68497,0 -3.28655,-0.3698 -4.73828,-1.0215 2.04925,3.4023 5.76872,5.7031 10,5.7031 H 722.4668 c 6.41469,0 11.67968,-5.2709 11.67968,-11.6855 v -129.5391 c 0,-4.7281 -2.86513,-8.8218 -6.9375,-10.6523 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="csssscssssc" />
+ <path
+ id="path4258"
+ style="font-variation-settings:normal;vector-effect:none;fill:#999999;fill-opacity:1;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 464.81547,234.326 c -0.58012,1.12177 -1.71918,1.84442 -2.98121,1.89135 -0.39691,0.11099 -0.6811,0.40322 -0.6811,0.75189 0,0.44429 -0.14509,0.80203 0.45682,0.80203 h 6.78874 4.27829 6.78873 c 0.60191,0 0.45682,-0.35774 0.45682,-0.80203 0,-0.34867 -0.2842,-0.6409 -0.6811,-0.75189 -1.26184,-0.0471 -2.40066,-0.76974 -2.98069,-1.89135 z"
+ sodipodi:nodetypes="ccssccssccc" />
+ <path
+ id="path2405"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 448.11158,193.87111 c -1.69722,0 -3.09025,1.39252 -3.09025,3.08972 v 34.27542 c 0,1.69722 1.39303,3.08975 3.09025,3.08975 h 44.85153 c 1.6972,0 3.08973,-1.39253 3.08973,-3.08975 v -34.27542 c 0,-1.6972 -1.39253,-3.08972 -3.08973,-3.08972 z m 5.3e-4,0.84955 h 44.85153 c 1.241,0 2.24017,0.99917 2.24017,2.24017 v 34.27439 c 0,1.24103 -0.99917,2.24017 -2.24017,2.24017 H 448.1121 c -1.24103,0 -2.24017,-0.99914 -2.24017,-2.24017 v -34.27439 c 0,-1.241 0.99914,-2.24017 2.24017,-2.24017 z" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 448.11212,194.72083 h 44.85149 c 1.241,0 2.24009,0.99908 2.24009,2.24009 v 34.27452 c 0,1.24101 -0.99909,2.24009 -2.24009,2.24009 h -44.85149 c -1.24103,0 -2.24011,-0.99908 -2.24011,-2.24009 v -34.27452 c 0,-1.24101 0.99908,-2.24009 2.24011,-2.24009 z"
+ id="path2407" />
+ <path
+ id="path2444"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 448.36118,196.77946 c -0.83804,0 -1.52911,0.68897 -1.52911,1.52702 v 31.58206 c 0,0.83805 0.69107,1.52961 1.52911,1.52961 h 44.35388 c 0.83804,0 1.52911,-0.69156 1.52911,-1.52961 v -31.58206 c 0,-0.83802 -0.69107,-1.52702 -1.52911,-1.52702 z m -5.3e-4,0.49969 h 44.3544 c 0.56968,0 1.02836,0.45868 1.02836,1.02838 v 31.58152 c 0,0.5697 -0.45868,1.02838 -1.02836,1.02838 h -44.35439 c -0.56969,0 -1.02836,-0.45868 -1.02836,-1.02838 v -31.58152 c 0,-0.5697 0.45867,-1.02838 1.02836,-1.02838 z" />
+ <path
+ id="path2447"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 40.960938,79.964844 c -5.416328,0 -9.777344,4.361016 -9.777344,9.777344 V 390.00391 c 0,5.41623 4.361016,9.77734 9.777344,9.77734 H 462.6582 c 3.29124,0 6.18701,-1.617 7.95703,-4.0957 -2.04346,2.32494 -5.50094,3.84765 -9.43945,3.84765 H 43.279297 c -6.310984,0 -11.388672,-3.90872 -11.388672,-8.76562 V 371.83203 H 472.43555 V 89.742188 c 0,-5.416328 -4.36111,-9.777344 -9.77735,-9.777344 z m 4.75,12.455078 h 34.589843 c 3.633196,0 6.552735,2.927161 6.552735,6.560547 0,3.633481 -2.919539,6.558591 -6.552735,6.558591 H 45.710938 c -3.633292,0 -6.558594,-2.92511 -6.558594,-6.558591 0,-3.633386 2.925302,-6.560547 6.558594,-6.560547 z m 168.417972,0 h 2.63867 c 3.63329,0 6.55273,2.927161 6.55273,6.560547 0,3.633481 -2.91944,6.558591 -6.55273,6.558591 h -2.63867 c -3.63339,0 -6.55469,-2.92511 -6.55469,-6.558591 0,-3.633386 2.9213,-6.560547 6.55469,-6.560547 z m 27.06054,0 h 30.26563 c 3.63338,0 6.55859,2.927161 6.55859,6.560547 0,3.633481 -2.92521,6.558591 -6.55859,6.558591 h -30.26563 c -3.63338,0 -6.55859,-2.92511 -6.55859,-6.558591 0,-3.633386 2.92521,-6.560547 6.55859,-6.560547 z m 167.60352,0 h 2.63672 c 3.63329,0 6.55469,2.927161 6.55469,6.560547 0,3.633481 -2.9214,6.558591 -6.55469,6.558591 h -2.63672 c -3.63329,0 -6.55469,-2.92511 -6.55469,-6.558591 0,-3.633386 2.9214,-6.560547 6.55469,-6.560547 z m 21.90625,0 h 2.63867 c 3.63329,0 6.55469,2.927161 6.55469,6.560547 0,3.633481 -2.9214,6.558591 -6.55469,6.558591 h -2.63867 c -3.63329,0 -6.55274,-2.92511 -6.55274,-6.558591 0,-3.633386 2.91945,-6.560547 6.55274,-6.560547 z m 21.62305,0 h 2.15234 c 3.63339,0 6.55859,2.33425 6.55859,5.232422 v 2.654296 c 0,2.89789 -2.9252,5.23223 -6.55859,5.23242 h -2.15234 c -3.63339,0 -6.5586,-2.33453 -6.5586,-5.23242 v -2.654296 c 0,-2.898172 2.92521,-5.232422 6.5586,-5.232422 z M 72.880859,133.48438 h 10.013672 c 6.765632,0 12.212891,5.44354 12.212891,12.20898 v 10.49023 c 0,6.76545 -5.447259,12.21289 -12.212891,12.21289 H 72.880859 c -6.765632,0 -12.208984,-5.44744 -12.208984,-12.21289 v -10.49023 c 0,-6.76544 5.443352,-12.20898 12.208984,-12.20898 z m 61.673831,0.16015 h 10.01367 c 6.76563,0 12.20898,5.44316 12.20898,12.20899 v 10.49023 c 0,6.76582 -5.44335,12.21484 -12.20898,12.21484 h -10.01367 c -6.76563,0 -12.20899,-5.44902 -12.20899,-12.21484 v -10.49023 c 0,-6.76583 5.44336,-12.20899 12.20899,-12.20899 z m -61.673831,61.99024 h 10.013672 c 6.765632,0 12.212891,5.44316 12.212891,12.20898 v 10.48828 c 0,6.76554 -5.447259,12.21485 -12.212891,12.21485 H 72.880859 c -6.765632,0 -12.208984,-5.44931 -12.208984,-12.21485 v -10.48828 c 0,-6.76582 5.443352,-12.20898 12.208984,-12.20898 z m 61.673831,0.16015 h 10.01367 c 6.76563,0 12.20898,5.44912 12.20898,12.21485 v 10.48828 c 0,6.76544 -5.44335,12.20898 -12.20898,12.20898 h -10.01367 c -6.76563,0 -12.20899,-5.44354 -12.20899,-12.20898 v -10.48828 c 0,-6.76573 5.44336,-12.21485 12.20899,-12.21485 z M 72.880859,257.7832 h 10.013672 c 6.765632,0 12.212891,5.44912 12.212891,12.21485 v 10.49023 c 0,6.76544 -5.447259,12.20899 -12.212891,12.20899 H 72.880859 c -6.765632,0 -12.208984,-5.44355 -12.208984,-12.20899 v -10.49023 c 0,-6.76573 5.443352,-12.21485 12.208984,-12.21485 z m -0.285156,60.32032 h 10.013672 c 6.765632,0 12.208984,5.44716 12.208984,12.21289 v 10.49023 c 0,6.76554 -5.443352,12.20898 -12.208984,12.20898 H 72.595703 c -6.765632,0 -12.208984,-5.44344 -12.208984,-12.20898 v -10.49023 c 0,-6.76573 5.443352,-12.21289 12.208984,-12.21289 z"
+ transform="matrix(0.10518012,0,0,0.10518012,444.05245,188.86835)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_envelope_landscape.svg b/share/ui/resources/template_envelope_landscape.svg
new file mode 100644
index 0000000..f94d873
--- /dev/null
+++ b/share/ui/resources/template_envelope_landscape.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_envelope_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.20176033"
+ inkscape:cx="-76.377776"
+ inkscape:cy="9.3044914"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-73.136668,-70.036597)">
+ <g
+ id="g9393"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(0.51006177,0,0,0.51006177,-151.07144,-489.92616)">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 489.16561,1106.9171 h -48.74535 v 0.075 32.119 0.074 h 48.74535 z"
+ id="path9295" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 706.06445,4518.918 v 117.6816 H 522.79492 v 5.4336 h 188.54883 l 0.11719,-123.1152 h -0.7168 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ id="path9380" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.55421;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 702.89258,4546.2754 -92.83594,53.1934 -91.33008,-52.7344 v 10.2363 l 91.07032,52.582 93.00195,-53.9453 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ id="path9342" />
+ <path
+ id="path9317"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.55421;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 515.40625,4508.2148 v 3.4981 121.3945 3.4922 h 190.6582 v -92.1426 l 0.31836,-0.1816 v -35.9219 h -0.31836 v -0.1387 h -3.21093 z m 3.32031,3.3516 h 184.125 v 31.0254 l -92.78711,53.1719 -91.33789,-52.7364 z m 184.125,34.7324 v 87.0879 H 518.61719 v -0.2793 -86.4355 l 91.43945,52.7969 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_envelope_portrait.svg b/share/ui/resources/template_envelope_portrait.svg
new file mode 100644
index 0000000..867e38e
--- /dev/null
+++ b/share/ui/resources/template_envelope_portrait.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_envelope_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.9833186"
+ inkscape:cx="164.58883"
+ inkscape:cy="116.96603"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-93.81273,-49.587939)">
+ <g
+ id="g9243"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(0.51212222,0,0,0.51212222,-126.90596,-542.00213)">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 474.53736,1157.7146 h -1.43764 v 47.902 h -0.92397 -30.21263 v 1.2211 h 32.57424 z"
+ id="path9194" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 439.98103,1156.0232 v 48.7454 h 0.0749 32.11896 0.0744 v -48.7454 z"
+ id="path9121" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 439.95859,1166.5647 -0.005,2.7053 16.54007,9.5498 15.76545,-9.1023 v -2.7074 l -15.76545,9.1013 z"
+ id="path9180" />
+ <path
+ id="path9113"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.55421;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 513.64062,4693.8984 v 3.211 l 0.008,37.8984 0.0957,0.055 v -38.0352 -3.1289 z m 3.31641,3.1289 v 0.084 h 121.82031 l 0.0547,37.7989 -59.46484,34.332 -62.41016,-36.0332 v 3.709 l 62.41211,36.0332 59.54688,-34.377 v -41.5469 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ id="path9119"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 439.13073,1155.1736 v 0.8496 49.5959 h 0.92604 32.11897 0.92398 v -50.4455 z m 0.85008,0.8496 h 32.26831 v 48.7453 h -0.0744 -32.11897 -0.0749 z" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_icon_square.svg b/share/ui/resources/template_icon_square.svg
new file mode 100644
index 0000000..e406433
--- /dev/null
+++ b/share/ui/resources/template_icon_square.svg
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_icon_square.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.62531566"
+ inkscape:cx="-186.1635"
+ inkscape:cy="425.44915"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3646"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g3646"
+ transform="matrix(2.5155261,0,0,2.5155261,-1010.6406,-1991.4387)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="g18"
+ transform="matrix(0.2116264,0,0,0.2116264,338.1847,638.33559)">
+ <path
+ id="path3494"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 445.69778,818.02162 c -4.40699,0 -7.94112,3.53415 -7.94112,7.94113 v 21.41418 c 0,4.40701 3.53413,7.94165 7.94112,7.94165 h 20.81268 c 4.40699,0 7.94112,-3.53464 7.94112,-7.94165 v -21.41418 c 0,-4.40698 -3.53413,-7.94113 -7.94112,-7.94113 z" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 445.69792,817.15625 c -4.87069,0 -8.80664,3.93595 -8.80664,8.80664 v 21.41406 c 0,4.8707 3.93595,8.80664 8.80664,8.80664 h 20.8125 c 4.87069,0 8.80664,-3.93594 8.80664,-8.80664 v -21.41406 c 0,-4.87069 -3.93595,-8.80664 -8.80664,-8.80664 z m 0,0.86523 h 20.8125 c 4.40699,0 7.94141,3.53443 7.94141,7.94141 v 21.41406 c 0,4.40699 -3.53442,7.94141 -7.94141,7.94141 h -20.8125 c -4.40699,0 -7.94141,-3.53442 -7.94141,-7.94141 v -21.41406 c 0,-4.40698 3.53442,-7.94141 7.94141,-7.94141 z"
+ id="path3496" />
+ <path
+ id="path3511"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 445.73551,819.16936 c -3.79399,0 -6.86211,3.07014 -6.86211,6.86419 v 21.27364 c 0,3.79404 3.06812,6.8621 6.86211,6.8621 h 20.73621 c 3.79399,0 6.86366,-3.06806 6.86366,-6.8621 v -21.27364 c 0,-3.79405 -3.06967,-6.86419 -6.86366,-6.86419 z m 5.2e-4,0.45061 h 20.7362 c 3.55247,0 6.41253,2.86001 6.41253,6.41255 v 21.27414 c 0,3.55253 -2.86006,6.41252 -6.41253,6.41252 h -20.7362 c -3.55248,0 -6.41253,-2.85999 -6.41253,-6.41252 v -21.27414 c 0,-3.55254 2.86005,-6.41255 6.41253,-6.41255 z" />
+ <path
+ id="path3513"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 153.50391,89.076172 c -33.77521,0 -60.966801,27.191118 -60.966801,60.966798 v 202.26562 c 0,33.77568 27.191591,60.9668 60.966801,60.9668 h 197.14843 c 33.77511,0 60.96485,-27.19112 60.96485,-60.9668 V 150.04297 c 0,-33.77568 -27.18974,-60.966798 -60.96485,-60.966798 z m 99.87695,50.128908 c 60.63532,0 109.89258,49.2554 109.89258,109.89062 0,60.63523 -49.25726,109.87334 -109.89258,109.87305 -60.63522,0 -109.89063,-49.23782 -109.89063,-109.87305 0,-60.63522 49.25541,-109.89062 109.89063,-109.89062 z m 0,9.50586 c -55.49699,0 -100.38477,44.88777 -100.38477,100.38476 0,55.49709 44.88778,100.36719 100.38477,100.36719 55.49708,0 100.38672,-44.8701 100.38672,-100.36719 0,-55.49699 -44.88964,-100.38476 -100.38672,-100.38476 z m -16.35547,30.89844 h 32.72656 v 26.69335 h -32.72656 z m 0,39.86132 h 32.72656 v 102.37891 h -32.72656 z"
+ transform="matrix(0.10518012,0,0,0.10518012,429.59063,810.251)" />
+ <path
+ id="path3455"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 472.65427,819.65098 c 1.64251,1.59893 2.66289,3.8336 2.66289,6.31177 v 21.41418 c 0,4.87071 -3.93601,8.80671 -8.8067,8.80671 h -20.81268 c -1.7743,0 -3.42322,-0.52417 -4.80436,-1.4237 1.58549,1.54157 3.75012,2.49132 6.14123,2.49132 h 20.81216 c 4.87069,0 8.80515,-3.93393 8.80515,-8.80462 v -21.41627 c 0,-3.09489 -1.58995,-5.80983 -3.99769,-7.37939 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_image_landscape.svg b/share/ui/resources/template_image_landscape.svg
new file mode 100644
index 0000000..e832e17
--- /dev/null
+++ b/share/ui/resources/template_image_landscape.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_image_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.9198058"
+ inkscape:cx="16.719675"
+ inkscape:cy="39.232201"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-73.136026,-70.036683)">
+ <g
+ id="g9776"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(0.51005666,0,0,0.51005666,-149.61725,-400.4861)">
+ <g
+ id="g9746"
+ style="stroke-width:0.397531">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 695.30273,3856.209 v 117.6816 H 512.03125 v 5.4336 h 188.55664 l 0.11133,-123.1152 h -0.7168 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ id="path9762" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 486.31862,931.57551 h -48.74535 v 0.0749 32.11896 0.0744 h 48.74535 z"
+ id="path9687" />
+ <path
+ id="path9709"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50248;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 514.24609,3855.1387 v 2.1406 104.8457 2.1406 h 171.82813 v -109.1269 h -1.88867 z m 1.89063,1.8867 H 684.18555 V 3962.375 H 516.13672 v -0.252 -104.8437 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ id="path9711"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50248;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 516.13672,3857.0254 v 0.2539 104.8437 0.252 h 168.04883 v -105.3496 z m 105.91211,17.2988 a 23.537457,23.537457 0 0 1 0.40039,0 23.537457,23.537457 0 0 1 0.0352,0 23.537457,23.537457 0 0 1 0.40039,0 23.537457,23.537457 0 0 1 0.40039,0.012 23.537457,23.537457 0 0 1 0.40234,0.02 23.537457,23.537457 0 0 1 0.40039,0.021 23.537457,23.537457 0 0 1 0.40039,0.031 23.537457,23.537457 0 0 1 0.40039,0.037 23.537457,23.537457 0 0 1 0.39844,0.045 23.537457,23.537457 0 0 1 0.39844,0.051 23.537457,23.537457 0 0 1 0.39648,0.059 23.537457,23.537457 0 0 1 0.39649,0.064 23.537457,23.537457 0 0 1 0.39648,0.072 23.537457,23.537457 0 0 1 0.39258,0.076 23.537457,23.537457 0 0 1 0.39258,0.086 23.537457,23.537457 0 0 1 0.39062,0.094 23.537457,23.537457 0 0 1 0.39063,0.098 23.537457,23.537457 0 0 1 0.38671,0.1036 23.537457,23.537457 0 0 1 0.38672,0.1113 23.537457,23.537457 0 0 1 0.38282,0.1191 23.537457,23.537457 0 0 1 0.38086,0.1231 23.537457,23.537457 0 0 1 0.38086,0.1328 23.537457,23.537457 0 0 1 0.37695,0.1367 23.537457,23.537457 0 0 1 0.375,0.1445 23.537457,23.537457 0 0 1 0.37109,0.1504 23.537457,23.537457 0 0 1 0.36914,0.1563 23.537457,23.537457 0 0 1 0.36719,0.1621 23.537457,23.537457 0 0 1 0.36523,0.1699 23.537457,23.537457 0 0 1 0.36133,0.1758 23.537457,23.537457 0 0 1 0.35742,0.1797 23.537457,23.537457 0 0 1 0.35547,0.1875 23.537457,23.537457 0 0 1 0.35157,0.1953 23.537457,23.537457 0 0 1 0.34961,0.1992 23.537457,23.537457 0 0 1 0.34374,0.2051 23.537457,23.537457 0 0 1 0.3418,0.2109 23.537457,23.537457 0 0 1 0.33789,0.2168 23.537457,23.537457 0 0 1 0.33399,0.2246 23.537457,23.537457 0 0 1 0.33008,0.2285 23.537457,23.537457 0 0 1 0.32617,0.2344 23.537457,23.537457 0 0 1 0.32226,0.2383 23.537457,23.537457 0 0 1 0.31836,0.2461 23.537457,23.537457 0 0 1 0.3125,0.25 23.537457,23.537457 0 0 1 0.3086,0.2578 23.537457,23.537457 0 0 1 0.30664,0.2617 23.537457,23.537457 0 0 1 0.29882,0.2637 23.537457,23.537457 0 0 1 0.29688,0.2734 23.537457,23.537457 0 0 1 0.29297,0.2754 23.537457,23.537457 0 0 1 0.28515,0.2813 23.537457,23.537457 0 0 1 0.28125,0.2871 23.537457,23.537457 0 0 1 0.27735,0.289 23.537457,23.537457 0 0 1 0.27148,0.2969 23.537457,23.537457 0 0 1 0.26758,0.2989 23.537457,23.537457 0 0 1 0.26172,0.3046 23.537457,23.537457 0 0 1 0.25586,0.3106 23.537457,23.537457 0 0 1 0.25,0.3125 23.537457,23.537457 0 0 1 0.24609,0.3183 23.537457,23.537457 0 0 1 0.24024,0.3204 23.537457,23.537457 0 0 1 0.23437,0.3281 23.537457,23.537457 0 0 1 0.23047,0.3301 23.537457,23.537457 0 0 1 0.22266,0.332 23.537457,23.537457 0 0 1 0.21875,0.3379 23.537457,23.537457 0 0 1 0.21093,0.3418 23.537457,23.537457 0 0 1 0.20704,0.3437 23.537457,23.537457 0 0 1 0.20117,0.3477 23.537457,23.537457 0 0 1 0.19336,0.3515 23.537457,23.537457 0 0 1 0.1875,0.3555 23.537457,23.537457 0 0 1 0.18164,0.3594 23.537457,23.537457 0 0 1 0.17773,0.3594 23.537457,23.537457 0 0 1 0.16992,0.3652 23.537457,23.537457 0 0 1 0.16211,0.3652 23.537457,23.537457 0 0 1 0.15821,0.3692 23.537457,23.537457 0 0 1 0.15039,0.373 23.537457,23.537457 0 0 1 0.14453,0.375 23.537457,23.537457 0 0 1 0.13867,0.377 23.537457,23.537457 0 0 1 0.13086,0.3769 23.537457,23.537457 0 0 1 0.12305,0.3828 23.537457,23.537457 0 0 1 0.11914,0.3848 23.537457,23.537457 0 0 1 0.11132,0.3848 23.537457,23.537457 0 0 1 0.10743,0.3867 23.537457,23.537457 0 0 1 0.0976,0.3887 23.537457,23.537457 0 0 1 0.0918,0.3925 23.537457,23.537457 0 0 1 0.0859,0.3907 23.537457,23.537457 0 0 1 0.0801,0.3945 23.537457,23.537457 0 0 1 0.0703,0.3945 23.537457,23.537457 0 0 1 0.0664,0.3965 23.537457,23.537457 0 0 1 0.0586,0.3965 23.537457,23.537457 0 0 1 0.0508,0.4004 23.537457,23.537457 0 0 1 0.0469,0.3984 23.537457,23.537457 0 0 1 0.0371,0.3985 23.537457,23.537457 0 0 1 0.0332,0.4004 23.537457,23.537457 0 0 1 0.0273,0.4003 23.537457,23.537457 0 0 1 0.0176,0.4004 23.537457,23.537457 0 0 1 0.0117,0.4024 23.537457,23.537457 0 0 1 0.004,0.4023 23.537457,23.537457 0 0 1 0,0.033 23.537457,23.537457 0 0 1 -0.004,0.4024 23.537457,23.537457 0 0 1 -0.0117,0.4004 23.537457,23.537457 0 0 1 -0.0176,0.4004 23.537457,23.537457 0 0 1 -0.0234,0.4023 23.537457,23.537457 0 0 1 -0.0293,0.3984 23.537457,23.537457 0 0 1 -0.0391,0.4004 23.537457,23.537457 0 0 1 -0.0449,0.4004 23.537457,23.537457 0 0 1 -0.0508,0.3965 23.537457,23.537457 0 0 1 -0.0586,0.3984 23.537457,23.537457 0 0 1 -0.0645,0.3965 23.537457,23.537457 0 0 1 -0.0723,0.3946 23.537457,23.537457 0 0 1 -0.0762,0.3945 23.537457,23.537457 0 0 1 -0.0859,0.3906 23.537457,23.537457 0 0 1 -0.0898,0.3926 23.537457,23.537457 0 0 1 -0.0996,0.3887 23.537457,23.537457 0 0 1 -0.10547,0.3867 23.537457,23.537457 0 0 1 -0.11133,0.3867 23.537457,23.537457 0 0 1 -0.11719,0.3828 23.537457,23.537457 0 0 1 -0.125,0.3828 23.537457,23.537457 0 0 1 -0.1289,0.3789 23.537457,23.537457 0 0 1 -0.13868,0.377 23.537457,23.537457 0 0 1 -0.14453,0.375 23.537457,23.537457 0 0 1 -0.15039,0.373 23.537457,23.537457 0 0 1 -0.15625,0.3692 23.537457,23.537457 0 0 1 -0.16406,0.3672 23.537457,23.537457 0 0 1 -0.16797,0.3652 23.537457,23.537457 0 0 1 -0.17578,0.3613 23.537457,23.537457 0 0 1 -0.18164,0.3574 23.537457,23.537457 0 0 1 -0.1875,0.3536 23.537457,23.537457 0 0 1 -0.19336,0.3515 23.537457,23.537457 0 0 1 -0.20117,0.3496 23.537457,23.537457 0 0 1 -0.20313,0.3457 23.537457,23.537457 0 0 1 -0.21289,0.3399 23.537457,23.537457 0 0 1 -0.2168,0.3379 23.537457,23.537457 0 0 1 -0.22461,0.334 23.537457,23.537457 0 0 1 -0.22656,0.33 23.537457,23.537457 0 0 1 -0.23437,0.3262 23.537457,23.537457 0 0 1 -0.24024,0.3242 23.537457,23.537457 0 0 1 -0.24414,0.3164 23.537457,23.537457 0 0 1 -0.25195,0.3125 23.537457,23.537457 0 0 1 -0.25586,0.3106 23.537457,23.537457 0 0 1 -0.26172,0.3047 23.537457,23.537457 0 0 1 -0.26562,0.3007 23.537457,23.537457 0 0 1 -0.27149,0.2969 23.537457,23.537457 0 0 1 -0.27539,0.291 23.537457,23.537457 0 0 1 -0.2832,0.2871 23.537457,23.537457 0 0 1 -0.28516,0.2813 23.537457,23.537457 0 0 1 -0.29101,0.2754 23.537457,23.537457 0 0 1 -0.29493,0.2734 23.537457,23.537457 0 0 1 -0.30078,0.2676 23.537457,23.537457 0 0 1 -0.0859,0.072 l -10.79102,-10.9278 -0.91406,0.9278 -12.24805,12.4023 -14.35156,-14.8047 a 23.537457,23.537457 0 0 1 -0.0449,-0.1914 23.537457,23.537457 0 0 1 -0.0879,-0.3945 23.537457,23.537457 0 0 1 -0.0762,-0.3926 23.537457,23.537457 0 0 1 -0.0723,-0.3965 23.537457,23.537457 0 0 1 -0.0664,-0.3945 23.537457,23.537457 0 0 1 -0.0586,-0.3965 23.537457,23.537457 0 0 1 -0.0508,-0.3984 23.537457,23.537457 0 0 1 -0.0449,-0.3985 23.537457,23.537457 0 0 1 -0.0391,-0.4004 23.537457,23.537457 0 0 1 -0.0332,-0.4004 23.537457,23.537457 0 0 1 -0.0273,-0.4003 23.537457,23.537457 0 0 1 -0.0176,-0.4024 23.537457,23.537457 0 0 1 -0.0117,-0.4004 23.537457,23.537457 0 0 1 -0.004,-0.4004 23.537457,23.537457 0 0 1 0,-0.035 23.537457,23.537457 0 0 1 0.004,-0.4024 23.537457,23.537457 0 0 1 0.0117,-0.4004 23.537457,23.537457 0 0 1 0.0176,-0.4023 23.537457,23.537457 0 0 1 0.0234,-0.4004 23.537457,23.537457 0 0 1 0.0293,-0.3984 23.537457,23.537457 0 0 1 0.0391,-0.4024 23.537457,23.537457 0 0 1 0.0449,-0.3984 23.537457,23.537457 0 0 1 0.0508,-0.3965 23.537457,23.537457 0 0 1 0.0566,-0.3984 23.537457,23.537457 0 0 1 0.0664,-0.3965 23.537457,23.537457 0 0 1 0.0703,-0.3945 23.537457,23.537457 0 0 1 0.0781,-0.3946 23.537457,23.537457 0 0 1 0.0859,-0.3926 23.537457,23.537457 0 0 1 0.0898,-0.3906 23.537457,23.537457 0 0 1 0.0996,-0.3887 23.537457,23.537457 0 0 1 0.10352,-0.3867 23.537457,23.537457 0 0 1 0.11132,-0.3867 23.537457,23.537457 0 0 1 0.11915,-0.3848 23.537457,23.537457 0 0 1 0.125,-0.3808 23.537457,23.537457 0 0 1 0.13085,-0.3789 23.537457,23.537457 0 0 1 0.13672,-0.3789 23.537457,23.537457 0 0 1 0.14453,-0.3731 23.537457,23.537457 0 0 1 0.14844,-0.373 23.537457,23.537457 0 0 1 0.15625,-0.3692 23.537457,23.537457 0 0 1 0.16406,-0.3672 23.537457,23.537457 0 0 1 0.16993,-0.3632 23.537457,23.537457 0 0 1 0.17382,-0.3614 23.537457,23.537457 0 0 1 0.18164,-0.3593 23.537457,23.537457 0 0 1 0.18946,-0.3536 23.537457,23.537457 0 0 1 0.1914,-0.3515 23.537457,23.537457 0 0 1 0.19922,-0.3477 23.537457,23.537457 0 0 1 0.20703,-0.3476 23.537457,23.537457 0 0 1 0.21094,-0.3399 23.537457,23.537457 0 0 1 0.21875,-0.3379 23.537457,23.537457 0 0 1 0.2207,-0.3339 23.537457,23.537457 0 0 1 0.22852,-0.3301 23.537457,23.537457 0 0 1 0.23633,-0.3262 23.537457,23.537457 0 0 1 0.24023,-0.3223 23.537457,23.537457 0 0 1 0.24414,-0.3164 23.537457,23.537457 0 0 1 0.25196,-0.3144 23.537457,23.537457 0 0 1 0.2539,-0.3106 23.537457,23.537457 0 0 1 0.26172,-0.3047 23.537457,23.537457 0 0 1 0.26758,-0.3007 23.537457,23.537457 0 0 1 0.26953,-0.295 23.537457,23.537457 0 0 1 0.27735,-0.291 23.537457,23.537457 0 0 1 0.28124,-0.289 23.537457,23.537457 0 0 1 0.28516,-0.2813 23.537457,23.537457 0 0 1 0.29297,-0.2773 23.537457,23.537457 0 0 1 0.29492,-0.2715 23.537457,23.537457 0 0 1 0.30078,-0.2676 23.537457,23.537457 0 0 1 0.30469,-0.2598 23.537457,23.537457 0 0 1 0.30859,-0.2558 23.537457,23.537457 0 0 1 0.3125,-0.252 23.537457,23.537457 0 0 1 0.31836,-0.2461 23.537457,23.537457 0 0 1 0.32227,-0.2402 23.537457,23.537457 0 0 1 0.32422,-0.2344 23.537457,23.537457 0 0 1 0.33008,-0.2285 23.537457,23.537457 0 0 1 0.33398,-0.2246 23.537457,23.537457 0 0 1 0.33789,-0.2168 23.537457,23.537457 0 0 1 0.33985,-0.2129 23.537457,23.537457 0 0 1 0.34374,-0.2051 23.537457,23.537457 0 0 1 0.34961,-0.2011 23.537457,23.537457 0 0 1 0.35157,-0.1934 23.537457,23.537457 0 0 1 0.35547,-0.1894 23.537457,23.537457 0 0 1 0.35742,-0.1817 23.537457,23.537457 0 0 1 0.36133,-0.1758 23.537457,23.537457 0 0 1 0.36328,-0.1699 23.537457,23.537457 0 0 1 0.36718,-0.1621 23.537457,23.537457 0 0 1 0.36914,-0.1563 23.537457,23.537457 0 0 1 0.37305,-0.1523 23.537457,23.537457 0 0 1 0.37305,-0.1445 23.537457,23.537457 0 0 1 0.37695,-0.1367 23.537457,23.537457 0 0 1 0.38086,-0.1329 23.537457,23.537457 0 0 1 0.37891,-0.125 23.537457,23.537457 0 0 1 0.38476,-0.1191 23.537457,23.537457 0 0 1 0.38672,-0.1113 23.537457,23.537457 0 0 1 0.38672,-0.1055 23.537457,23.537457 0 0 1 0.38867,-0.1 23.537457,23.537457 0 0 1 0.39063,-0.092 23.537457,23.537457 0 0 1 0.39258,-0.086 23.537457,23.537457 0 0 1 0.39257,-0.08 23.537457,23.537457 0 0 1 0.39649,-0.07 23.537457,23.537457 0 0 1 0.39648,-0.064 23.537457,23.537457 0 0 1 0.39649,-0.059 23.537457,23.537457 0 0 1 0.39843,-0.053 23.537457,23.537457 0 0 1 0.39844,-0.045 23.537457,23.537457 0 0 1 0.40039,-0.039 23.537457,23.537457 0 0 1 0.40039,-0.031 23.537457,23.537457 0 0 1 0.40039,-0.021 23.537457,23.537457 0 0 1 0.40235,-0.02 23.537457,23.537457 0 0 1 0.40039,-0.012 z m -34.22852,20.5059 5.09375,5.2558 2.99805,3.0918 6.09766,6.2871 8.24804,8.5079 1.86719,1.9238 -2.05078,2.0762 -1.87891,1.9023 -14.57226,14.7559 h -48.27344 z m 39.26563,13.5664 8.74609,8.8535 2.53906,2.5684 1.81836,1.8418 16.45899,16.664 h -23.07813 -3.58203 -32.45898 l 13.09179,-13.2558 1.94336,-1.9668 1.34571,-1.3633 1.43164,-1.4492 0.375,-0.3789 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ </g>
+ <path
+ id="path9685"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 436.72261,930.72482 v 0.92551 32.11896 0.92398 h 50.4455 v -33.96845 h -0.84956 z m 0.85059,0.85058 h 48.74535 v 32.26832 H 437.5732 v -0.0744 -32.11896 z" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_image_portrait.svg b/share/ui/resources/template_image_portrait.svg
new file mode 100644
index 0000000..6166fee
--- /dev/null
+++ b/share/ui/resources/template_image_portrait.svg
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_image_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.0875"
+ inkscape:cx="-1010.0819"
+ inkscape:cy="-119.91468"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-93.848627,-49.584595)">
+ <g
+ id="g9652"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(0.51209599,0,0,0.51209599,-126.29457,-452.76396)">
+ <path
+ id="path9640"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 642.63281,4044.998 -4.71289,0.01 v 181.0449 h -3.49219 -114.1875 v 4.6153 h 123.11133 v -185.67 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 438.86734,981.81619 v 48.74531 h 0.0749 32.11896 0.0744 v -48.74531 z"
+ id="path9554" />
+ <path
+ id="path9552"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 438.01721,980.96561 v 0.84955 49.59594 h 0.92552 32.11897 0.92398 v -50.44549 z m 0.85008,0.85058 h 32.26831 v 48.74541 h -0.0744 -32.11897 -0.0749 z" />
+ <path
+ id="path9546"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.39753;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 440.76681,983.49321 v 0.49972 44.79317 h 0.56431 27.342 0.56275 v -45.29289 z m 0.50023,0.49972 h 27.46912 v 44.29337 h -0.0636 -27.342 -0.0636 z" />
+ <path
+ id="path9548"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50247;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 521.81836,4046.834 v 167.4082 h 0.24023 103.33985 0.24023 V 4046.834 Z m 68.7793,50.3515 a 19.230789,19.230789 0 0 1 0.32812,0 19.230789,19.230789 0 0 1 0.0254,0 19.230789,19.230789 0 0 1 0.32813,0 19.230789,19.230789 0 0 1 0.32812,0.012 19.230789,19.230789 0 0 1 0.32617,0.016 19.230789,19.230789 0 0 1 0.32813,0.018 19.230789,19.230789 0 0 1 0.32812,0.023 19.230789,19.230789 0 0 1 0.32618,0.031 19.230789,19.230789 0 0 1 0.32617,0.037 19.230789,19.230789 0 0 1 0.32422,0.041 19.230789,19.230789 0 0 1 0.32421,0.049 19.230789,19.230789 0 0 1 0.32422,0.051 19.230789,19.230789 0 0 1 0.32422,0.059 19.230789,19.230789 0 0 1 0.32032,0.066 19.230789,19.230789 0 0 1 0.32031,0.068 19.230789,19.230789 0 0 1 0.32031,0.074 19.230789,19.230789 0 0 1 0.31836,0.082 19.230789,19.230789 0 0 1 0.31641,0.084 19.230789,19.230789 0 0 1 0.3164,0.092 19.230789,19.230789 0 0 1 0.3125,0.1 19.230789,19.230789 0 0 1 0.3125,0.1 19.230789,19.230789 0 0 1 0.31055,0.1074 19.230789,19.230789 0 0 1 0.30664,0.1113 19.230789,19.230789 0 0 1 0.30664,0.1192 19.230789,19.230789 0 0 1 0.30469,0.123 19.230789,19.230789 0 0 1 0.30078,0.1289 19.230789,19.230789 0 0 1 0.30078,0.1329 19.230789,19.230789 0 0 1 0.29687,0.1367 19.230789,19.230789 0 0 1 0.29493,0.1445 19.230789,19.230789 0 0 1 0.29297,0.1484 19.230789,19.230789 0 0 1 0.29101,0.1524 19.230789,19.230789 0 0 1 0.28711,0.1582 19.230789,19.230789 0 0 1 0.28516,0.1641 19.230789,19.230789 0 0 1 0.28125,0.1679 19.230789,19.230789 0 0 1 0.27929,0.1719 19.230789,19.230789 0 0 1 0.27539,0.1777 19.230789,19.230789 0 0 1 0.27344,0.1817 19.230789,19.230789 0 0 1 0.26758,0.1875 19.230789,19.230789 0 0 1 0.26758,0.1914 19.230789,19.230789 0 0 1 0.26367,0.1953 19.230789,19.230789 0 0 1 0.25977,0.2012 19.230789,19.230789 0 0 1 0.25585,0.2031 19.230789,19.230789 0 0 1 0.25196,0.2109 19.230789,19.230789 0 0 1 0.25,0.211 19.230789,19.230789 0 0 1 0.24414,0.2187 19.230789,19.230789 0 0 1 0.24414,0.2227 19.230789,19.230789 0 0 1 0.23828,0.2226 19.230789,19.230789 0 0 1 0.23242,0.2305 19.230789,19.230789 0 0 1 0.23047,0.2344 19.230789,19.230789 0 0 1 0.22461,0.2363 19.230789,19.230789 0 0 1 0.22266,0.2422 19.230789,19.230789 0 0 1 0.21875,0.2441 19.230789,19.230789 0 0 1 0.21289,0.2481 19.230789,19.230789 0 0 1 0.21094,0.2539 19.230789,19.230789 0 0 1 0.20312,0.2558 19.230789,19.230789 0 0 1 0.20117,0.2598 19.230789,19.230789 0 0 1 0.19727,0.2637 19.230789,19.230789 0 0 1 0.1914,0.2676 19.230789,19.230789 0 0 1 0.1875,0.2675 19.230789,19.230789 0 0 1 0.18164,0.2715 19.230789,19.230789 0 0 1 0.17774,0.2774 19.230789,19.230789 0 0 1 0.17383,0.2793 19.230789,19.230789 0 0 1 0.16797,0.2793 19.230789,19.230789 0 0 1 0.16406,0.2871 19.230789,19.230789 0 0 1 0.1582,0.2871 19.230789,19.230789 0 0 1 0.1543,0.2871 19.230789,19.230789 0 0 1 0.14844,0.2949 19.230789,19.230789 0 0 1 0.14257,0.2949 19.230789,19.230789 0 0 1 0.13868,0.2949 19.230789,19.230789 0 0 1 0.13281,0.3028 19.230789,19.230789 0 0 1 0.13086,0.3027 19.230789,19.230789 0 0 1 0.12109,0.3067 19.230789,19.230789 0 0 1 0.11914,0.3046 19.230789,19.230789 0 0 1 0.11328,0.3067 19.230789,19.230789 0 0 1 0.10743,0.3105 19.230789,19.230789 0 0 1 0.10156,0.3106 19.230789,19.230789 0 0 1 0.0976,0.3125 19.230789,19.230789 0 0 1 0.0918,0.3183 19.230789,19.230789 0 0 1 0.0859,0.3125 19.230789,19.230789 0 0 1 0.0801,0.3184 19.230789,19.230789 0 0 1 0.0762,0.3203 19.230789,19.230789 0 0 1 0.0684,0.3223 19.230789,19.230789 0 0 1 0.0664,0.3203 19.230789,19.230789 0 0 1 0.0586,0.3262 19.230789,19.230789 0 0 1 0.0527,0.3203 19.230789,19.230789 0 0 1 0.0488,0.3261 19.230789,19.230789 0 0 1 0.041,0.3243 19.230789,19.230789 0 0 1 0.0371,0.3242 19.230789,19.230789 0 0 1 0.0293,0.3262 19.230789,19.230789 0 0 1 0.0273,0.3242 19.230789,19.230789 0 0 1 0.0195,0.33 19.230789,19.230789 0 0 1 0.0137,0.3282 19.230789,19.230789 0 0 1 0.0117,0.3242 19.230789,19.230789 0 0 1 0.002,0.3301 19.230789,19.230789 0 0 1 0,0.037 19.230789,19.230789 0 0 1 -0.002,0.3301 19.230789,19.230789 0 0 1 -0.008,0.3281 19.230789,19.230789 0 0 1 -0.0137,0.3281 19.230789,19.230789 0 0 1 -0.0195,0.3262 19.230789,19.230789 0 0 1 -0.0234,0.3242 19.230789,19.230789 0 0 1 -0.0293,0.3281 19.230789,19.230789 0 0 1 -0.0391,0.3262 19.230789,19.230789 0 0 1 -0.043,0.3242 19.230789,19.230789 0 0 1 -0.0469,0.3262 19.230789,19.230789 0 0 1 -0.0508,0.3242 19.230789,19.230789 0 0 1 -0.0586,0.3223 19.230789,19.230789 0 0 1 -0.0645,0.3203 19.230789,19.230789 0 0 1 -0.0684,0.3183 19.230789,19.230789 0 0 1 -0.0742,0.3204 19.230789,19.230789 0 0 1 -0.0801,0.3183 19.230789,19.230789 0 0 1 -0.0879,0.3164 19.230789,19.230789 0 0 1 -0.0899,0.3145 19.230789,19.230789 0 0 1 -0.0957,0.3125 19.230789,19.230789 0 0 1 -0.10352,0.3144 19.230789,19.230789 0 0 1 -0.10547,0.3106 19.230789,19.230789 0 0 1 -0.11523,0.3086 19.230789,19.230789 0 0 1 -0.11719,0.3066 19.230789,19.230789 0 0 1 -0.12304,0.3066 19.230789,19.230789 0 0 1 -0.12696,0.3028 19.230789,19.230789 0 0 1 -0.13476,0.3027 19.230789,19.230789 0 0 1 -0.13867,0.2969 19.230789,19.230789 0 0 1 -0.14258,0.2949 19.230789,19.230789 0 0 1 -0.14844,0.291 19.230789,19.230789 0 0 1 -0.15234,0.291 19.230789,19.230789 0 0 1 -0.15821,0.2872 19.230789,19.230789 0 0 1 -0.16406,0.2871 19.230789,19.230789 0 0 1 -0.16797,0.2812 19.230789,19.230789 0 0 1 -0.17187,0.2754 19.230789,19.230789 0 0 1 -0.17774,0.2754 19.230789,19.230789 0 0 1 -0.18359,0.2734 19.230789,19.230789 0 0 1 -0.18555,0.2715 19.230789,19.230789 0 0 1 -0.1914,0.2637 19.230789,19.230789 0 0 1 -0.19532,0.2656 19.230789,19.230789 0 0 1 -0.19922,0.2598 19.230789,19.230789 0 0 1 -0.20507,0.2578 19.230789,19.230789 0 0 1 -0.20899,0.2539 19.230789,19.230789 0 0 1 -0.21484,0.248 19.230789,19.230789 0 0 1 -0.2168,0.2461 19.230789,19.230789 0 0 1 -0.2207,0.2422 19.230789,19.230789 0 0 1 -0.22656,0.2383 19.230789,19.230789 0 0 1 -0.23047,0.2344 19.230789,19.230789 0 0 1 -0.23243,0.2305 19.230789,19.230789 0 0 1 -0.23828,0.2265 19.230789,19.230789 0 0 1 -0.24218,0.2227 19.230789,19.230789 0 0 1 -0.24414,0.2148 19.230789,19.230789 0 0 1 -0.0703,0.061 l -8.8164,-8.9278 -0.7461,0.7578 -10.00781,10.1329 -11.72656,-12.0957 a 19.230789,19.230789 0 0 1 -0.0371,-0.1543 19.230789,19.230789 0 0 1 -0.0703,-0.3223 19.230789,19.230789 0 0 1 -0.0645,-0.3203 19.230789,19.230789 0 0 1 -0.0586,-0.3242 19.230789,19.230789 0 0 1 -0.0527,-0.3223 19.230789,19.230789 0 0 1 -0.0488,-0.3242 19.230789,19.230789 0 0 1 -0.041,-0.3262 19.230789,19.230789 0 0 1 -0.0371,-0.3242 19.230789,19.230789 0 0 1 -0.0312,-0.3301 19.230789,19.230789 0 0 1 -0.0254,-0.3242 19.230789,19.230789 0 0 1 -0.0234,-0.3281 19.230789,19.230789 0 0 1 -0.0156,-0.3301 19.230789,19.230789 0 0 1 -0.01,-0.3281 19.230789,19.230789 0 0 1 -0.002,-0.3243 19.230789,19.230789 0 0 1 0,-0.039 19.230789,19.230789 0 0 1 0.002,-0.3281 19.230789,19.230789 0 0 1 0.006,-0.3282 19.230789,19.230789 0 0 1 0.0156,-0.3301 19.230789,19.230789 0 0 1 0.0195,-0.3242 19.230789,19.230789 0 0 1 0.0215,-0.3261 19.230789,19.230789 0 0 1 0.0312,-0.3282 19.230789,19.230789 0 0 1 0.0371,-0.3242 19.230789,19.230789 0 0 1 0.043,-0.3262 19.230789,19.230789 0 0 1 0.0449,-0.3242 19.230789,19.230789 0 0 1 0.0547,-0.3262 19.230789,19.230789 0 0 1 0.0566,-0.3203 19.230789,19.230789 0 0 1 0.0684,-0.3261 19.230789,19.230789 0 0 1 0.0684,-0.3164 19.230789,19.230789 0 0 1 0.0723,-0.3223 19.230789,19.230789 0 0 1 0.082,-0.3164 19.230789,19.230789 0 0 1 0.084,-0.3184 19.230789,19.230789 0 0 1 0.0918,-0.3125 19.230789,19.230789 0 0 1 0.0957,-0.3144 19.230789,19.230789 0 0 1 0.10352,-0.3145 19.230789,19.230789 0 0 1 0.10547,-0.3086 19.230789,19.230789 0 0 1 0.11328,-0.3105 19.230789,19.230789 0 0 1 0.11718,-0.3067 19.230789,19.230789 0 0 1 0.12305,-0.3046 19.230789,19.230789 0 0 1 0.12695,-0.3028 19.230789,19.230789 0 0 1 0.13282,-0.3027 19.230789,19.230789 0 0 1 0.14062,-0.2949 19.230789,19.230789 0 0 1 0.14063,-0.295 19.230789,19.230789 0 0 1 0.14843,-0.291 19.230789,19.230789 0 0 1 0.15625,-0.289 19.230789,19.230789 0 0 1 0.15625,-0.2871 19.230789,19.230789 0 0 1 0.16211,-0.2852 19.230789,19.230789 0 0 1 0.16993,-0.2832 19.230789,19.230789 0 0 1 0.17187,-0.2774 19.230789,19.230789 0 0 1 0.17774,-0.2773 19.230789,19.230789 0 0 1 0.18164,-0.2715 19.230789,19.230789 0 0 1 0.1875,-0.2715 19.230789,19.230789 0 0 1 0.1914,-0.2656 19.230789,19.230789 0 0 1 0.19531,-0.2617 19.230789,19.230789 0 0 1 0.19922,-0.2598 19.230789,19.230789 0 0 1 0.20703,-0.2578 19.230789,19.230789 0 0 1 0.20704,-0.2519 19.230789,19.230789 0 0 1 0.21484,-0.25 19.230789,19.230789 0 0 1 0.2168,-0.2461 19.230789,19.230789 0 0 1 0.2207,-0.2403 19.230789,19.230789 0 0 1 0.22656,-0.2382 19.230789,19.230789 0 0 1 0.23242,-0.2344 19.230789,19.230789 0 0 1 0.23243,-0.2305 19.230789,19.230789 0 0 1 0.23632,-0.2266 19.230789,19.230789 0 0 1 0.24219,-0.2226 19.230789,19.230789 0 0 1 0.2461,-0.2168 19.230789,19.230789 0 0 1 0.24804,-0.2129 19.230789,19.230789 0 0 1 0.25196,-0.209 19.230789,19.230789 0 0 1 0.25585,-0.2051 19.230789,19.230789 0 0 1 0.25977,-0.2011 19.230789,19.230789 0 0 1 0.26367,-0.1973 19.230789,19.230789 0 0 1 0.26758,-0.1914 19.230789,19.230789 0 0 1 0.26953,-0.1875 19.230789,19.230789 0 0 1 0.27344,-0.1816 19.230789,19.230789 0 0 1 0.27539,-0.1778 19.230789,19.230789 0 0 1 0.27734,-0.1738 19.230789,19.230789 0 0 1 0.28125,-0.168 19.230789,19.230789 0 0 1 0.28516,-0.164 19.230789,19.230789 0 0 1 0.28711,-0.1582 19.230789,19.230789 0 0 1 0.29101,-0.1543 19.230789,19.230789 0 0 1 0.29102,-0.1485 19.230789,19.230789 0 0 1 0.29492,-0.1426 19.230789,19.230789 0 0 1 0.29688,-0.1406 19.230789,19.230789 0 0 1 0.30078,-0.1328 19.230789,19.230789 0 0 1 0.30078,-0.1269 19.230789,19.230789 0 0 1 0.30469,-0.125 19.230789,19.230789 0 0 1 0.30664,-0.1172 19.230789,19.230789 0 0 1 0.30664,-0.1133 19.230789,19.230789 0 0 1 0.31055,-0.1074 19.230789,19.230789 0 0 1 0.31054,-0.1016 19.230789,19.230789 0 0 1 0.31446,-0.098 19.230789,19.230789 0 0 1 0.31445,-0.092 19.230789,19.230789 0 0 1 0.31836,-0.086 19.230789,19.230789 0 0 1 0.3164,-0.08 19.230789,19.230789 0 0 1 0.32032,-0.076 19.230789,19.230789 0 0 1 0.31836,-0.07 19.230789,19.230789 0 0 1 0.32226,-0.064 19.230789,19.230789 0 0 1 0.32227,-0.059 19.230789,19.230789 0 0 1 0.32617,-0.053 19.230789,19.230789 0 0 1 0.32226,-0.047 19.230789,19.230789 0 0 1 0.32618,-0.045 19.230789,19.230789 0 0 1 0.32617,-0.035 19.230789,19.230789 0 0 1 0.32617,-0.033 19.230789,19.230789 0 0 1 0.32813,-0.023 19.230789,19.230789 0 0 1 0.32812,-0.018 19.230789,19.230789 0 0 1 0.32617,-0.016 19.230789,19.230789 0 0 1 0.32813,-0.012 z m -27.97461,16.7559 4.16211,4.293 2.44922,2.5254 4.98046,5.1386 6.74024,6.9493 1.52539,1.5722 -1.67578,1.6953 -1.53516,1.5567 -11.90625,12.0547 h -39.43945 z m 32.08203,11.084 7.14453,7.2324 2.07422,2.0996 1.48633,1.5039 13.44726,13.6153 h -18.85547 -2.92578 -26.52148 l 10.69726,-10.8301 1.58789,-1.6094 1.09961,-1.1113 1.16993,-1.1836 0.30664,-0.3106 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_image_square.svg b/share/ui/resources/template_image_square.svg
new file mode 100644
index 0000000..3fab82e
--- /dev/null
+++ b/share/ui/resources/template_image_square.svg
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_image_square.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="234.35719"
+ inkscape:cy="169.7088"
+ inkscape:document-units="px"
+ inkscape:current-layer="g9916"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g9916"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1011.3254,-2133.5604)">
+ <g
+ id="g18"
+ transform="translate(-5.780562,-5.3996022)">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0312034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.10963,873.68575 -0.29724,5.5e-4 v 7.71575 h -0.19093 -7.34063 v 0.25237 h 7.8288 z"
+ id="path9852" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.139726;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 436.8711,873.33613 v 7.89023 h 0.0155 7.73488 0.0154 v -7.89023 z"
+ id="path9816" />
+ <path
+ id="path9789"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.082192;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 437.18222,873.70755 v 0.10342 7.02362 h 0.1171 6.9094 0.11667 v -7.12704 z m 0.10353,0.10321 h 6.93643 v 6.92051 h -0.0135 -6.9094 -0.0136 z" />
+ <path
+ id="path9791"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.082192;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 437.28575,873.81076 v 6.92051 h 0.0136 6.9094 0.0135 v -6.92051 z m 4.60135,1.26653 a 1.2875985,1.2875985 0 0 1 0.0219,0 1.2875985,1.2875985 0 0 1 0.002,0 1.2875985,1.2875985 0 0 1 0.0219,0 1.2875985,1.2875985 0 0 1 0.0219,6.2e-4 1.2875985,1.2875985 0 0 1 0.022,10e-4 1.2875985,1.2875985 0 0 1 0.0219,0.001 1.2875985,1.2875985 0 0 1 0.0219,0.002 1.2875985,1.2875985 0 0 1 0.0219,0.002 1.2875985,1.2875985 0 0 1 0.0218,0.002 1.2875985,1.2875985 0 0 1 0.0218,0.003 1.2875985,1.2875985 0 0 1 0.0217,0.003 1.2875985,1.2875985 0 0 1 0.0217,0.003 1.2875985,1.2875985 0 0 1 0.0217,0.004 1.2875985,1.2875985 0 0 1 0.0215,0.004 1.2875985,1.2875985 0 0 1 0.0215,0.005 1.2875985,1.2875985 0 0 1 0.0214,0.005 1.2875985,1.2875985 0 0 1 0.0214,0.005 1.2875985,1.2875985 0 0 1 0.0212,0.006 1.2875985,1.2875985 0 0 1 0.0211,0.006 1.2875985,1.2875985 0 0 1 0.0209,0.007 1.2875985,1.2875985 0 0 1 0.0208,0.007 1.2875985,1.2875985 0 0 1 0.0208,0.007 1.2875985,1.2875985 0 0 1 0.0206,0.007 1.2875985,1.2875985 0 0 1 0.0204,0.008 1.2875985,1.2875985 0 0 1 0.0204,0.008 1.2875985,1.2875985 0 0 1 0.0202,0.009 1.2875985,1.2875985 0 0 1 0.0201,0.009 1.2875985,1.2875985 0 0 1 0.02,0.009 1.2875985,1.2875985 0 0 1 0.0198,0.01 1.2875985,1.2875985 0 0 1 0.0196,0.01 1.2875985,1.2875985 0 0 1 0.0195,0.0103 1.2875985,1.2875985 0 0 1 0.0192,0.0107 1.2875985,1.2875985 0 0 1 0.0191,0.0109 1.2875985,1.2875985 0 0 1 0.0188,0.0112 1.2875985,1.2875985 0 0 1 0.0187,0.0115 1.2875985,1.2875985 0 0 1 0.0185,0.0119 1.2875985,1.2875985 0 0 1 0.0183,0.0123 1.2875985,1.2875985 0 0 1 0.018,0.0125 1.2875985,1.2875985 0 0 1 0.0178,0.0128 1.2875985,1.2875985 0 0 1 0.0176,0.013 1.2875985,1.2875985 0 0 1 0.0174,0.0135 1.2875985,1.2875985 0 0 1 0.0171,0.0137 1.2875985,1.2875985 0 0 1 0.0169,0.0141 1.2875985,1.2875985 0 0 1 0.0168,0.0143 1.2875985,1.2875985 0 0 1 0.0164,0.0144 1.2875985,1.2875985 0 0 1 0.0163,0.0149 1.2875985,1.2875985 0 0 1 0.016,0.0151 1.2875985,1.2875985 0 0 1 0.0156,0.0154 1.2875985,1.2875985 0 0 1 0.0154,0.0157 1.2875985,1.2875985 0 0 1 0.0152,0.0158 1.2875985,1.2875985 0 0 1 0.0149,0.0162 1.2875985,1.2875985 0 0 1 0.0146,0.0164 1.2875985,1.2875985 0 0 1 0.0143,0.0167 1.2875985,1.2875985 0 0 1 0.014,0.017 1.2875985,1.2875985 0 0 1 0.0137,0.0171 1.2875985,1.2875985 0 0 1 0.0135,0.0174 1.2875985,1.2875985 0 0 1 0.0131,0.0175 1.2875985,1.2875985 0 0 1 0.0128,0.0179 1.2875985,1.2875985 0 0 1 0.0126,0.0181 1.2875985,1.2875985 0 0 1 0.0122,0.0182 1.2875985,1.2875985 0 0 1 0.012,0.0185 1.2875985,1.2875985 0 0 1 0.0115,0.0187 1.2875985,1.2875985 0 0 1 0.0113,0.0188 1.2875985,1.2875985 0 0 1 0.011,0.019 1.2875985,1.2875985 0 0 1 0.0106,0.0192 1.2875985,1.2875985 0 0 1 0.0102,0.0195 1.2875985,1.2875985 0 0 1 0.01,0.0197 1.2875985,1.2875985 0 0 1 0.01,0.0197 1.2875985,1.2875985 0 0 1 0.009,0.02 1.2875985,1.2875985 0 0 1 0.009,0.02 1.2875985,1.2875985 0 0 1 0.009,0.0202 1.2875985,1.2875985 0 0 1 0.008,0.0204 1.2875985,1.2875985 0 0 1 0.008,0.0205 1.2875985,1.2875985 0 0 1 0.008,0.0206 1.2875985,1.2875985 0 0 1 0.007,0.0206 1.2875985,1.2875985 0 0 1 0.007,0.0209 1.2875985,1.2875985 0 0 1 0.007,0.0211 1.2875985,1.2875985 0 0 1 0.006,0.021 1.2875985,1.2875985 0 0 1 0.006,0.0212 1.2875985,1.2875985 0 0 1 0.005,0.0213 1.2875985,1.2875985 0 0 1 0.005,0.0215 1.2875985,1.2875985 0 0 1 0.005,0.0214 1.2875985,1.2875985 0 0 1 0.004,0.0216 1.2875985,1.2875985 0 0 1 0.004,0.0216 1.2875985,1.2875985 0 0 1 0.004,0.0217 1.2875985,1.2875985 0 0 1 0.003,0.0217 1.2875985,1.2875985 0 0 1 0.003,0.0218 1.2875985,1.2875985 0 0 1 0.002,0.0219 1.2875985,1.2875985 0 0 1 0.002,0.0218 1.2875985,1.2875985 0 0 1 0.002,0.0219 1.2875985,1.2875985 0 0 1 10e-4,0.0219 1.2875985,1.2875985 0 0 1 0.001,0.0219 1.2875985,1.2875985 0 0 1 6.2e-4,0.022 1.2875985,1.2875985 0 0 1 2.1e-4,0.022 1.2875985,1.2875985 0 0 1 0,0.002 1.2875985,1.2875985 0 0 1 -2.1e-4,0.022 1.2875985,1.2875985 0 0 1 -6.2e-4,0.0219 1.2875985,1.2875985 0 0 1 -0.001,0.0219 1.2875985,1.2875985 0 0 1 -10e-4,0.022 1.2875985,1.2875985 0 0 1 -0.002,0.0218 1.2875985,1.2875985 0 0 1 -0.002,0.0219 1.2875985,1.2875985 0 0 1 -0.002,0.0219 1.2875985,1.2875985 0 0 1 -0.003,0.0217 1.2875985,1.2875985 0 0 1 -0.003,0.0218 1.2875985,1.2875985 0 0 1 -0.004,0.0217 1.2875985,1.2875985 0 0 1 -0.004,0.0216 1.2875985,1.2875985 0 0 1 -0.004,0.0216 1.2875985,1.2875985 0 0 1 -0.005,0.0214 1.2875985,1.2875985 0 0 1 -0.005,0.0215 1.2875985,1.2875985 0 0 1 -0.005,0.0213 1.2875985,1.2875985 0 0 1 -0.006,0.0212 1.2875985,1.2875985 0 0 1 -0.006,0.0212 1.2875985,1.2875985 0 0 1 -0.006,0.0209 1.2875985,1.2875985 0 0 1 -0.007,0.0209 1.2875985,1.2875985 0 0 1 -0.007,0.0207 1.2875985,1.2875985 0 0 1 -0.007,0.0206 1.2875985,1.2875985 0 0 1 -0.008,0.0205 1.2875985,1.2875985 0 0 1 -0.008,0.0204 1.2875985,1.2875985 0 0 1 -0.008,0.0202 1.2875985,1.2875985 0 0 1 -0.009,0.0201 1.2875985,1.2875985 0 0 1 -0.009,0.02 1.2875985,1.2875985 0 0 1 -0.01,0.0198 1.2875985,1.2875985 0 0 1 -0.01,0.0196 1.2875985,1.2875985 0 0 1 -0.0103,0.0193 1.2875985,1.2875985 0 0 1 -0.0106,0.0192 1.2875985,1.2875985 0 0 1 -0.0109,0.0191 1.2875985,1.2875985 0 0 1 -0.0112,0.0188 1.2875985,1.2875985 0 0 1 -0.0115,0.0187 1.2875985,1.2875985 0 0 1 -0.012,0.0185 1.2875985,1.2875985 0 0 1 -0.0122,0.0183 1.2875985,1.2875985 0 0 1 -0.0125,0.0181 1.2875985,1.2875985 0 0 1 -0.0128,0.0178 1.2875985,1.2875985 0 0 1 -0.0131,0.0176 1.2875985,1.2875985 0 0 1 -0.0134,0.0174 1.2875985,1.2875985 0 0 1 -0.0138,0.0171 1.2875985,1.2875985 0 0 1 -0.014,0.017 1.2875985,1.2875985 0 0 1 -0.0142,0.0167 1.2875985,1.2875985 0 0 1 -0.0146,0.0165 1.2875985,1.2875985 0 0 1 -0.0147,0.0163 1.2875985,1.2875985 0 0 1 -0.0152,0.0159 1.2875985,1.2875985 0 0 1 -0.0154,0.0157 1.2875985,1.2875985 0 0 1 -0.0157,0.0154 1.2875985,1.2875985 0 0 1 -0.0159,0.0151 1.2875985,1.2875985 0 0 1 -0.0161,0.0149 1.2875985,1.2875985 0 0 1 -0.0165,0.0146 1.2875985,1.2875985 0 0 1 -0.005,0.004 l -0.59042,-0.5978 -0.05,0.0507 -0.67013,0.67846 -0.78509,-0.80988 a 1.2875985,1.2875985 0 0 1 -0.002,-0.0105 1.2875985,1.2875985 0 0 1 -0.005,-0.0216 1.2875985,1.2875985 0 0 1 -0.004,-0.0215 1.2875985,1.2875985 0 0 1 -0.004,-0.0217 1.2875985,1.2875985 0 0 1 -0.004,-0.0216 1.2875985,1.2875985 0 0 1 -0.003,-0.0217 1.2875985,1.2875985 0 0 1 -0.003,-0.0218 1.2875985,1.2875985 0 0 1 -0.002,-0.0218 1.2875985,1.2875985 0 0 1 -0.002,-0.0219 1.2875985,1.2875985 0 0 1 -0.002,-0.0219 1.2875985,1.2875985 0 0 1 -10e-4,-0.0219 1.2875985,1.2875985 0 0 1 -0.001,-0.022 1.2875985,1.2875985 0 0 1 -6.2e-4,-0.0219 1.2875985,1.2875985 0 0 1 -2.1e-4,-0.0219 1.2875985,1.2875985 0 0 1 0,-0.002 1.2875985,1.2875985 0 0 1 2.1e-4,-0.022 1.2875985,1.2875985 0 0 1 6.2e-4,-0.0219 1.2875985,1.2875985 0 0 1 0.001,-0.022 1.2875985,1.2875985 0 0 1 10e-4,-0.0219 1.2875985,1.2875985 0 0 1 0.002,-0.0218 1.2875985,1.2875985 0 0 1 0.002,-0.022 1.2875985,1.2875985 0 0 1 0.002,-0.0218 1.2875985,1.2875985 0 0 1 0.003,-0.0217 1.2875985,1.2875985 0 0 1 0.003,-0.0218 1.2875985,1.2875985 0 0 1 0.004,-0.0217 1.2875985,1.2875985 0 0 1 0.004,-0.0216 1.2875985,1.2875985 0 0 1 0.004,-0.0216 1.2875985,1.2875985 0 0 1 0.005,-0.0215 1.2875985,1.2875985 0 0 1 0.005,-0.0214 1.2875985,1.2875985 0 0 1 0.005,-0.0213 1.2875985,1.2875985 0 0 1 0.006,-0.0212 1.2875985,1.2875985 0 0 1 0.006,-0.0212 1.2875985,1.2875985 0 0 1 0.006,-0.021 1.2875985,1.2875985 0 0 1 0.007,-0.0208 1.2875985,1.2875985 0 0 1 0.007,-0.0207 1.2875985,1.2875985 0 0 1 0.008,-0.0207 1.2875985,1.2875985 0 0 1 0.008,-0.0204 1.2875985,1.2875985 0 0 1 0.008,-0.0204 1.2875985,1.2875985 0 0 1 0.009,-0.0202 1.2875985,1.2875985 0 0 1 0.009,-0.0201 1.2875985,1.2875985 0 0 1 0.009,-0.0199 1.2875985,1.2875985 0 0 1 0.01,-0.0198 1.2875985,1.2875985 0 0 1 0.01,-0.0197 1.2875985,1.2875985 0 0 1 0.0104,-0.0194 1.2875985,1.2875985 0 0 1 0.0105,-0.0192 1.2875985,1.2875985 0 0 1 0.0109,-0.019 1.2875985,1.2875985 0 0 1 0.0113,-0.019 1.2875985,1.2875985 0 0 1 0.0115,-0.0186 1.2875985,1.2875985 0 0 1 0.012,-0.0185 1.2875985,1.2875985 0 0 1 0.0121,-0.0183 1.2875985,1.2875985 0 0 1 0.0125,-0.0181 1.2875985,1.2875985 0 0 1 0.0129,-0.0178 1.2875985,1.2875985 0 0 1 0.0131,-0.0176 1.2875985,1.2875985 0 0 1 0.0134,-0.0173 1.2875985,1.2875985 0 0 1 0.0137,-0.0172 1.2875985,1.2875985 0 0 1 0.014,-0.017 1.2875985,1.2875985 0 0 1 0.0143,-0.0167 1.2875985,1.2875985 0 0 1 0.0146,-0.0165 1.2875985,1.2875985 0 0 1 0.0147,-0.0161 1.2875985,1.2875985 0 0 1 0.0152,-0.0159 1.2875985,1.2875985 0 0 1 0.0154,-0.0158 1.2875985,1.2875985 0 0 1 0.0156,-0.0154 1.2875985,1.2875985 0 0 1 0.0159,-0.0152 1.2875985,1.2875985 0 0 1 0.0162,-0.0149 1.2875985,1.2875985 0 0 1 0.0165,-0.0146 1.2875985,1.2875985 0 0 1 0.0167,-0.0142 1.2875985,1.2875985 0 0 1 0.0169,-0.014 1.2875985,1.2875985 0 0 1 0.0171,-0.0138 1.2875985,1.2875985 0 0 1 0.0174,-0.0135 1.2875985,1.2875985 0 0 1 0.0176,-0.0131 1.2875985,1.2875985 0 0 1 0.0177,-0.0128 1.2875985,1.2875985 0 0 1 0.0181,-0.0126 1.2875985,1.2875985 0 0 1 0.0183,-0.0122 1.2875985,1.2875985 0 0 1 0.0185,-0.0119 1.2875985,1.2875985 0 0 1 0.0186,-0.0116 1.2875985,1.2875985 0 0 1 0.0188,-0.0112 1.2875985,1.2875985 0 0 1 0.0191,-0.011 1.2875985,1.2875985 0 0 1 0.0192,-0.0106 1.2875985,1.2875985 0 0 1 0.0195,-0.0103 1.2875985,1.2875985 0 0 1 0.0196,-0.01 1.2875985,1.2875985 0 0 1 0.0198,-0.01 1.2875985,1.2875985 0 0 1 0.0199,-0.009 1.2875985,1.2875985 0 0 1 0.0201,-0.009 1.2875985,1.2875985 0 0 1 0.0202,-0.009 1.2875985,1.2875985 0 0 1 0.0204,-0.008 1.2875985,1.2875985 0 0 1 0.0204,-0.008 1.2875985,1.2875985 0 0 1 0.0206,-0.008 1.2875985,1.2875985 0 0 1 0.0208,-0.007 1.2875985,1.2875985 0 0 1 0.0207,-0.007 1.2875985,1.2875985 0 0 1 0.0211,-0.007 1.2875985,1.2875985 0 0 1 0.0211,-0.006 1.2875985,1.2875985 0 0 1 0.0212,-0.006 1.2875985,1.2875985 0 0 1 0.0213,-0.005 1.2875985,1.2875985 0 0 1 0.0214,-0.005 1.2875985,1.2875985 0 0 1 0.0215,-0.005 1.2875985,1.2875985 0 0 1 0.0215,-0.004 1.2875985,1.2875985 0 0 1 0.0217,-0.004 1.2875985,1.2875985 0 0 1 0.0217,-0.003 1.2875985,1.2875985 0 0 1 0.0216,-0.003 1.2875985,1.2875985 0 0 1 0.0219,-0.003 1.2875985,1.2875985 0 0 1 0.0218,-0.002 1.2875985,1.2875985 0 0 1 0.0219,-0.002 1.2875985,1.2875985 0 0 1 0.0219,-0.002 1.2875985,1.2875985 0 0 1 0.0219,-10e-4 1.2875985,1.2875985 0 0 1 0.022,-10e-4 1.2875985,1.2875985 0 0 1 0.0219,-6.2e-4 z m -1.87234,1.12165 0.27855,0.28752 0.164,0.16913 0.33357,0.34393 0.4512,0.46542 0.10215,0.10524 -0.11219,0.11358 -0.10279,0.10406 -0.79716,0.80721 h -2.64065 z m 2.148,0.74214 0.47845,0.48433 0.13879,0.1405 0.0995,0.10075 0.90038,0.91159 h -1.26247 -0.19585 -1.77564 l 0.71607,-0.72514 0.10631,-0.1076 0.0737,-0.0746 0.0783,-0.0793 0.0205,-0.0207 z" />
+ <path
+ id="path9814"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.139726;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 436.69522,873.1604 v 0.17565 8.06588 h 0.19146 7.73478 0.19093 v -8.24153 z m 0.17587,0.17575 h 7.76575 v 7.89024 h -0.0154 -7.73488 -0.0155 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_mobile_portrait.svg b/share/ui/resources/template_mobile_portrait.svg
new file mode 100644
index 0000000..84d2e29
--- /dev/null
+++ b/share/ui/resources/template_mobile_portrait.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458333 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_mobile_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="97.65184"
+ inkscape:cy="233.57376"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2243"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-99.067585,-48.816774)">
+ <g
+ id="g2243"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1033.4036,-63.021081)">
+ <path
+ id="path1743"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0303643px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 458.04178,44.762419 c 0.0564,0.0935 0.0894,0.202362 0.0894,0.318671 v 9.025093 c 0,0.341472 -0.28017,0.621746 -0.62165,0.621746 h -4.76498 c -0.0899,0 -0.17533,-0.01993 -0.25276,-0.05479 0.1091,0.18132 0.30736,0.303907 0.53285,0.303907 h 4.7651 c 0.34147,0 0.62164,-0.280171 0.62164,-0.621642 v -9.025613 c 0,-0.251859 -0.15261,-0.470027 -0.36962,-0.56737 z" />
+ <path
+ id="path1745"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.135969;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 453.06915,44.459032 c -0.34148,0 -0.62175,0.280587 -0.62175,0.622058 v 9.025093 c 0,0.341472 0.28027,0.621746 0.62175,0.621746 h 4.76498 c 0.34148,0 0.62165,-0.280274 0.62165,-0.621746 V 45.08109 c 0,-0.341471 -0.28017,-0.622058 -0.62165,-0.622058 z m -2.1e-4,0.171137 h 4.7653 c 0.24969,0 0.45072,0.201027 0.45072,0.450713 v 9.025197 c 0,0.249686 -0.20103,0.450715 -0.45072,0.450715 h -4.7653 c -0.24968,0 -0.45071,-0.201029 -0.45071,-0.450715 v -9.025197 c 0,-0.249686 0.20103,-0.450713 0.45071,-0.450713 z" />
+ <path
+ id="path1747"
+ style="font-variation-settings:normal;display:inline;opacity:0.7;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.135969;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 453.06894,44.630201 h 4.76529 c 0.24969,0 0.4507,0.201011 0.4507,0.450697 v 9.025223 c 0,0.249686 -0.20101,0.450697 -0.4507,0.450697 h -4.76529 c -0.24969,0 -0.4507,-0.201011 -0.4507,-0.450697 v -9.025223 c 0,-0.249686 0.20101,-0.450697 0.4507,-0.450697 z" />
+ <path
+ id="path1795"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0799817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 453.11921,45.044181 c -0.16861,0 -0.30776,0.139039 -0.30776,0.30765 v 8.483196 c 0,0.168609 0.13915,0.307754 0.30776,0.307754 h 4.66517 c 0.16861,0 0.30734,-0.139145 0.30734,-0.307754 v -8.483196 c 0,-0.168611 -0.13873,-0.30765 -0.30734,-0.30765 z m -2.1e-4,0.100747 h 4.66528 c 0.11462,0 0.2069,0.09228 0.2069,0.206903 v 8.483404 c 0,0.114617 -0.0923,0.206902 -0.2069,0.206902 H 453.119 c -0.11462,0 -0.20691,-0.09228 -0.20691,-0.206902 v -8.483404 c 0,-0.11462 0.0923,-0.206903 0.20691,-0.206903 z" />
+ <path
+ id="path1801"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0799818;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 453.11897,45.14489 c -0.11462,0 -0.2069,0.09229 -0.2069,0.206906 v 8.483411 c 0,0.114618 0.0923,0.206907 0.2069,0.206907 h 4.66523 c 0.11462,0 0.20691,-0.09229 0.20691,-0.206907 v -8.483411 c 0,-0.114619 -0.0923,-0.206906 -0.20691,-0.206906 z m 0.0989,0.148711 h 0.73186 c 0.0769,0 0.13879,0.0619 0.13879,0.138792 0,0.07689 -0.0619,0.138833 -0.13879,0.138833 h -0.73186 c -0.0769,0 -0.13879,-0.06195 -0.13879,-0.138833 0,-0.07689 0.0619,-0.138792 0.13879,-0.138792 z m 3.56403,0 h 0.0558 c 0.0769,0 0.13879,0.0619 0.13879,0.138792 0,0.07689 -0.0619,0.138833 -0.13879,0.138833 h -0.0558 c -0.0769,0 -0.13879,-0.06195 -0.13879,-0.138833 0,-0.07689 0.0619,-0.138792 0.13879,-0.138792 z m 0.57257,0 h 0.23166 c 0.0769,0 0.13871,0.0619 0.13871,0.138792 0,0.07689 -0.0618,0.138833 -0.13871,0.138833 h -0.23166 c -0.0769,0 -0.13871,-0.06195 -0.13871,-0.138833 0,-0.07689 0.0618,-0.138792 0.13871,-0.138792 z m -1.90287,1.950897 a 1.708673,1.708673 0 0 1 1.70865,1.708693 1.708673,1.708673 0 0 1 -0.70086,1.379776 1.0429887,1.0429887 0 0 0 -1.02007,-0.825435 1.0429887,1.0429887 0 0 0 -1.01663,0.809853 1.708673,1.708673 0 0 1 -0.67974,-1.364194 1.708673,1.708673 0 0 1 1.70865,-1.708693 z m -0.0126,0.681973 a 0.6648998,0.6648998 0 0 0 -0.66449,0.664903 0.6648998,0.6648998 0 0 0 0.66491,0.664861 0.6648998,0.6648998 0 0 0 0.66486,-0.664861 0.6648998,0.6648998 0 0 0 -0.66486,-0.664903 0.6648998,0.6648998 0 0 0 -3.3e-4,0 z m 0.0107,4.429765 h 4e-5 a 0.60787373,0.60787373 0 0 1 0.002,0 0.60787373,0.60787373 0 0 1 0.60782,0.607947 0.60787373,0.60787373 0 0 1 -0.60782,0.607783 0.60787373,0.60787373 0 0 1 -0.60791,-0.607783 0.60787373,0.60787373 0 0 1 0.60605,-0.607947 z" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_photo_landscape.svg b/share/ui/resources/template_photo_landscape.svg
new file mode 100644
index 0000000..9b40acc
--- /dev/null
+++ b/share/ui/resources/template_photo_landscape.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_photo_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.979899"
+ inkscape:cx="326.56516"
+ inkscape:cy="176.27482"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2944"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-73.264862,-70.066289)">
+ <g
+ id="g2944"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1041.8631,-1020.2871)">
+ <g
+ id="g18"
+ transform="matrix(0.20316495,0,0,0.20316495,353.23547,347.05245)">
+ <path
+ id="path2857"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 445.1594,468.83217 0.003,-1.44763 h 48.59317 v -0.92553 -30.20974 h 1.31334 v 32.5829 z"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path2859"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 443.29811,433.44944 h 0.84955 49.60646 v 0.92605 32.08352 0.92553 h -50.45601 z m 0.84955,0.85112 v 32.23338 h 48.75691 v -0.0744 -32.08404 -0.0749 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 444.14784,434.30041 h 48.7569 v 0.0749 32.08404 0.0744 h -48.7569 z"
+ id="path2861"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path2863"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.85052,435.80485 h 0.50022 44.84976 v 0.56638 28.09152 0.56637 h -45.34998 z m 0.50125,0.50075 v 28.22278 h 44.34901 v -0.0651 -28.09204 -0.0656 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ id="path2865"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="M 41.347656,115.21094 V 383.53711 H 462.875 v -0.62109 -267.08204 -0.62304 z m 210.763674,24.27539 c 60.63532,0 109.89648,49.26321 109.89648,109.89844 0,60.6355 -49.26116,109.87109 -109.89648,109.87109 -60.63522,0 -109.89258,-49.23559 -109.89258,-109.87109 0,-60.63523 49.25736,-109.89844 109.89258,-109.89844 z m 0,9.51172 c -55.49699,0 -100.38477,44.88973 -100.38477,100.38672 0,55.49699 44.88778,100.36523 100.38477,100.36523 55.49708,0 100.39062,-44.86824 100.39062,-100.36523 0,-55.49699 -44.89354,-100.38672 -100.39062,-100.38672 z m -51.38672,58.09375 h 102.77734 c 9.4322,0 17.02539,7.59123 17.02539,17.02343 v 50.51172 c 0,9.4322 -7.59319,17.0293 -17.02539,17.0293 H 200.72461 c -9.4323,0 -17.02344,-7.5971 -17.02344,-17.0293 v -50.51172 c 0,-9.4322 7.59114,-17.02343 17.02344,-17.02343 z m 1.47461,10.62304 c -4.11513,0 -7.42383,3.31261 -7.42383,7.42774 0,4.11513 3.3087,7.42773 7.42383,7.42773 h 10.66992 c 4.11513,0 7.42969,-3.3126 7.42969,-7.42773 0,-4.11513 -3.31456,-7.42774 -7.42969,-7.42774 z m 50.30469,7.64454 a 26.251959,26.251959 0 0 0 -25.94532,26.25 26.251959,26.251959 0 0 0 26.25,26.25195 26.251959,26.251959 0 0 0 26.25196,-26.25195 26.251959,26.251959 0 0 0 -26.25196,-26.25 26.251959,26.251959 0 0 0 -0.23632,0 26.251959,26.251959 0 0 0 -0.0684,0 z"
+ transform="matrix(0.10518012,0,0,0.10518012,442.00254,424.18798)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_photo_portrait.svg b/share/ui/resources/template_photo_portrait.svg
new file mode 100644
index 0000000..c188381
--- /dev/null
+++ b/share/ui/resources/template_photo_portrait.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_photo_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="182.59218"
+ inkscape:cy="190.03422"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2960"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g2969"
+ transform="matrix(2.5155261,0,0,2.5155261,-852.83529,-1171.156)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="g2960"
+ transform="matrix(0,1,1,0,-57.10174,41.93237)"
+ style="stroke-width:0.397531">
+ <g
+ id="g19"
+ transform="matrix(0.20316495,0,0,0.20316495,352.16806,337.56285)">
+ <path
+ id="path2948"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 445.1594,468.83217 0.003,-1.44763 h 48.59317 v -0.92553 -30.20974 h 1.31334 v 32.5829 z"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path2950"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 443.29811,433.44944 h 0.84955 49.60646 v 0.92605 32.08352 0.92553 h -50.45601 z m 0.84955,0.85112 v 32.23338 h 48.75691 v -0.0744 -32.08404 -0.0749 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 444.14784,434.30041 h 48.7569 v 0.0749 32.08404 0.0744 h -48.7569 z"
+ id="path2952"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path2954"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.85052,435.80485 h 0.50022 44.84976 v 0.56638 28.09152 0.56637 h -45.34998 z m 0.50125,0.50075 v 28.22278 h 44.34901 v -0.0651 -28.09204 -0.0656 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ id="path2956"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="M 117.37891,39.179688 V 460.70703 h 0.625 267.08203 0.61914 V 39.179688 Z M 251.53906,140.06055 c 60.63532,0 109.89649,49.26126 109.89649,109.89648 0,60.63551 -49.26117,109.87305 -109.89649,109.87305 -60.63522,0 -109.89258,-49.23754 -109.89258,-109.87305 0,-60.63522 49.25736,-109.89648 109.89258,-109.89648 z m 0,9.51172 c -55.49708,0 -100.38672,44.88777 -100.38672,100.38476 0,55.49699 44.88973,100.36524 100.38672,100.36524 55.49709,0 100.38867,-44.86825 100.38867,-100.36524 0,-55.49699 -44.89158,-100.38476 -100.38867,-100.38476 z m -51.38672,58.09179 h 102.77735 c 9.4322,0 17.02343,7.59319 17.02343,17.02539 v 50.51172 c 0,9.4322 -7.59123,17.02735 -17.02343,17.02735 H 200.15234 c -9.43229,0 -17.02539,-7.59515 -17.02539,-17.02735 v -50.51172 c 0,-9.4322 7.5931,-17.02539 17.02539,-17.02539 z m 1.47266,10.62305 c -4.11513,0 -7.42383,3.3126 -7.42383,7.42773 0,4.11514 3.3087,7.42969 7.42383,7.42969 h 10.67188 c 4.11513,0 7.42968,-3.31455 7.42968,-7.42969 0,-4.11513 -3.31455,-7.42773 -7.42968,-7.42773 z m 50.30664,7.64453 a 26.251959,26.251959 0 0 0 -25.94726,26.25 26.251959,26.251959 0 0 0 26.25195,26.25195 26.251959,26.251959 0 0 0 26.25,-26.25195 26.251959,26.251959 0 0 0 -26.25,-26.25 26.251959,26.251959 0 0 0 -0.23633,0 26.251959,26.251959 0 0 0 -0.0684,0 z"
+ transform="matrix(0,0.10518012,0.10518012,0,442.2307,423.95984)" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_photo_square.svg b/share/ui/resources/template_photo_square.svg
new file mode 100644
index 0000000..64c8ceb
--- /dev/null
+++ b/share/ui/resources/template_photo_square.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_photo_square.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="239.01109"
+ inkscape:cy="277.89145"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2985"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g2987"
+ transform="matrix(2.5155261,0,0,2.5155261,-859.52928,-1157.8314)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="g2985"
+ transform="matrix(0,1,1,0,-57.10174,41.93237)"
+ style="stroke-width:0.397531">
+ <g
+ id="g19"
+ transform="matrix(0.20671751,0,0,0.20671751,346.29929,338.07112)">
+ <path
+ id="path2973"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 445.1594,474.15431 0.003,-1.44763 h 37.99926 v -0.92553 -35.53188 h 1.31334 v 37.90504 z"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path2975"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 443.29811,433.44944 h 0.84955 39.01255 v 0.92605 37.40566 0.92553 h -39.8621 z m 0.84955,0.85112 v 37.55552 h 38.163 v -0.0744 -37.40618 -0.0749 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 444.14784,434.30041 h 38.16299 v 0.0749 37.40618 0.0744 h -38.16299 z"
+ id="path2977"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path2979"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.85052,435.80485 h 0.50022 34.25585 v 0.56638 33.41668 0.56637 h -34.75607 z m 0.50125,0.50075 v 33.54794 h 33.7551 v -0.0651 -33.4172 -0.0656 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ id="path2981"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="M 92.080078,89.541016 V 410.3457 h 0.623047 317.681645 0.62109 V 89.541016 Z M 251.53906,140.05859 c 60.63532,0 109.89844,49.26127 109.89844,109.89649 0,60.63551 -49.26312,109.87304 -109.89844,109.87304 -60.63522,0 -109.89062,-49.23753 -109.89062,-109.87304 0,-60.63522 49.2554,-109.89649 109.89062,-109.89649 z m 0,9.51172 c -55.49708,0 -100.38476,44.88778 -100.38476,100.38477 0,55.49699 44.88777,100.36523 100.38476,100.36523 55.49709,0 100.39063,-44.86824 100.39063,-100.36523 0,-55.49699 -44.89354,-100.38477 -100.39063,-100.38477 z m -51.38476,58.0918 h 102.77734 c 9.4322,0 17.02344,7.59319 17.02344,17.02539 v 50.51172 c 0,9.4322 -7.59124,17.0293 -17.02344,17.0293 H 200.1543 c -9.4323,0 -17.02539,-7.5971 -17.02539,-17.0293 V 224.6875 c 0,-9.4322 7.59309,-17.02539 17.02539,-17.02539 z m 1.47265,10.62305 c -4.11513,0 -7.42383,3.3126 -7.42383,7.42773 0,4.11513 3.3087,7.42969 7.42383,7.42969 h 10.67188 c 4.11513,0 7.42773,-3.31456 7.42773,-7.42969 0,-4.11513 -3.3126,-7.42773 -7.42773,-7.42773 z m 50.30664,7.64453 a 26.251959,26.251959 0 0 0 -25.94726,26.25195 26.251959,26.251959 0 0 0 26.25195,26.25 26.251959,26.251959 0 0 0 26.25,-26.25 26.251959,26.251959 0 0 0 -26.25,-26.25195 26.251959,26.251959 0 0 0 -0.23633,0 26.251959,26.251959 0 0 0 -0.0684,0 z"
+ transform="matrix(0,0.10518012,0.10518012,0,436.93375,426.62091)" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_print_US_landscape.svg b/share/ui/resources/template_print_US_landscape.svg
new file mode 100644
index 0000000..2382646
--- /dev/null
+++ b/share/ui/resources/template_print_US_landscape.svg
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458333 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_print_US_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8952511"
+ inkscape:cx="92.258917"
+ inkscape:cy="102.155"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4105"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g4105"
+ transform="matrix(2.5155261,0,0,2.5155261,-901.15696,-166.04222)"
+ style="display:inline;stroke-width:0.397531">
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0294363px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 387.29059,94.098269 4e-4,-0.243213 h 8.56751 v -6.610533 h 0.20108 v 6.853746 z"
+ id="path4036"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path839"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.131813;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 386.75946,93.689162 0.008,-5.134602 1.67393,-1.719956 7.25081,8.85e-4 v 6.853673 z"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ id="path4044"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.131813;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 386.59337,93.855056 0.009,-5.393453 0.0477,-0.04838 1.71923,-1.743622 h 7.48914 v 7.185457 z m 0.17349,-5.298405 h 1.62375 v -1.667636 z m -0.007,5.132496 h 8.93321 v -6.853639 h -7.20451 v 1.818509 h -1.72024 z"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ <path
+ id="path62"
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0812236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 388.48846,87.639592 v 1.016905 h -1.15944 v 1.991206 c 0,0.1164 0.0935,0.210154 0.20994,0.210154 h 4.60102 c 0.11639,0 0.21015,-0.09376 0.21015,-0.210154 v -2.797956 c 0,-0.116399 -0.0938,-0.210155 -0.21015,-0.210155 z m 4.48782,0.130448 c -0.1164,0 -0.21015,0.07534 -0.21015,0.169069 0,0.09373 0.0937,0.169069 0.21015,0.169069 h 1.84353 c 0.11639,0 0.20995,-0.07534 0.20995,-0.169069 0,-0.09373 -0.0936,-0.169069 -0.20995,-0.169069 z m 0,0.688601 c -0.1164,0 -0.21015,0.07534 -0.21015,0.169069 0,0.09373 0.0937,0.169274 0.21015,0.169274 h 1.84353 c 0.11639,0 0.20995,-0.07555 0.20995,-0.169274 0,-0.09373 -0.0936,-0.169069 -0.20995,-0.169069 z m 0,0.688602 c -0.1164,0 -0.21015,0.07534 -0.21015,0.169068 0,0.09373 0.0937,0.169275 0.21015,0.169275 h 1.84353 c 0.11639,0 0.20995,-0.07555 0.20995,-0.169275 0,-0.09373 -0.0936,-0.169068 -0.20995,-0.169068 z m 0,0.688601 c -0.1164,0 -0.21015,0.07534 -0.21015,0.169068 0,0.09373 0.0937,0.169275 0.21015,0.169275 h 1.84353 c 0.11639,0 0.20995,-0.07555 0.20995,-0.169275 0,-0.09372 -0.0936,-0.169068 -0.20995,-0.169068 z m 0,0.688601 c -0.1164,0 -0.21015,0.07555 -0.21015,0.169274 0,0.09373 0.0937,0.169069 0.21015,0.169069 h 1.84353 c 0.11639,0 0.20995,-0.07534 0.20995,-0.169069 0,-0.09373 -0.0936,-0.169274 -0.20995,-0.169274 z m -5.4821,0.693531 c -0.11641,0 -0.20995,0.07555 -0.20995,0.169274 0,0.09373 0.0935,0.169069 0.20995,0.169069 h 4.60101 c 0.1164,0 0.21016,-0.07534 0.21016,-0.169069 0,-0.09373 -0.0938,-0.169274 -0.21016,-0.169274 z m 5.43896,0.0016 c -0.11639,0 -0.20995,0.09376 -0.20995,0.210155 v 1.385214 c 0,0.116398 0.0936,0.20995 0.20995,0.20995 h 1.93639 c 0.11641,0 0.21015,-0.09355 0.21015,-0.20995 v -1.385214 c 0,-0.116399 -0.0937,-0.210155 -0.21015,-0.210155 z m -5.43896,0.697024 c -0.11641,0 -0.20995,0.07555 -0.20995,0.169275 0,0.09373 0.0935,0.169068 0.20995,0.169068 h 4.60101 c 0.1164,0 0.21016,-0.07534 0.21016,-0.169068 0,-0.09373 -0.0938,-0.169275 -0.21016,-0.169275 z m 0,0.747354 c -0.11641,0 -0.20995,0.07555 -0.20995,0.169275 0,0.09373 0.0935,0.169068 0.20995,0.169068 h 4.60101 c 0.1164,0 0.21016,-0.07534 0.21016,-0.169068 0,-0.09373 -0.0938,-0.169275 -0.21016,-0.169275 z"
+ sodipodi:nodetypes="cccsssssscsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss" />
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_print_US_portrait.svg b/share/ui/resources/template_print_US_portrait.svg
new file mode 100644
index 0000000..b83c578
--- /dev/null
+++ b/share/ui/resources/template_print_US_portrait.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458333 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_print_US_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.59991803"
+ inkscape:cx="295.87376"
+ inkscape:cy="367.55022"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4105"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g4105"
+ transform="matrix(2.5155261,0,0,2.5155261,-901.15696,-166.04222)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="g534"
+ transform="matrix(0.19504698,0,0,0.19504698,310.43641,68.338866)">
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 433.76422,92.332499 -1.24695,0.0021 v 43.925331 h -33.892 v 1.03094 h 35.13895 z"
+ id="path4036"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path839"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.42518;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 433.53516,47.636719 -250.28451,0.414062 -83.838725,81.594809 0.04315,353.43839 H 433.53516 Z"
+ transform="matrix(0.10518012,0,0,0.10518012,386.06747,84.599024)"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ id="path4040"
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 405.79926,94.5379 v 3.934645 h -5.04349 V 109.26 c 0,0.56969 0.45865,1.02836 1.02835,1.02836 h 24.62213 c 0.56968,0 1.02836,-0.45867 1.02836,-1.02836 V 95.565745 c 0,-0.569687 -0.45868,-1.027845 -1.02836,-1.027845 z m -4.01514,17.46095 c -0.5697,0 -1.02835,0.36965 -1.02835,0.82837 0,0.45873 0.45865,0.82786 1.02835,0.82786 h 24.62213 c 0.56968,0 1.02836,-0.36913 1.02836,-0.82786 0,-0.45872 -0.45868,-0.82837 -1.02836,-0.82837 z m 0,3.2029 c -0.5697,0 -1.02835,0.36914 -1.02835,0.82786 0,0.45873 0.45865,0.82786 1.02835,0.82786 h 9.02219 c 0.56967,0 1.02836,-0.36913 1.02836,-0.82786 0,-0.45872 -0.45869,-0.82786 -1.02836,-0.82786 z m 12.81473,0.0517 c -0.56968,0 -1.02786,0.45867 -1.02786,1.02836 v 12.95684 c 0,0.56968 0.45818,1.02836 1.02786,1.02836 h 11.58052 c 0.5697,0 1.02839,-0.45868 1.02839,-1.02836 v -12.95684 c 0,-0.56969 -0.45869,-1.02836 -1.02839,-1.02836 z m -12.81473,3.31866 c -0.5697,0 -1.02835,0.36913 -1.02835,0.82786 0,0.45872 0.45865,0.82837 1.02835,0.82837 h 9.02219 c 0.56967,0 1.02836,-0.36965 1.02836,-0.82837 0,-0.45873 -0.45869,-0.82786 -1.02836,-0.82786 z m 0,3.37034 c -0.5697,0 -1.02835,0.36914 -1.02835,0.82786 0,0.45873 0.45865,0.82837 1.02835,0.82837 h 9.02219 c 0.56967,0 1.02836,-0.36964 1.02836,-0.82837 0,-0.45872 -0.45869,-0.82786 -1.02836,-0.82786 z m 0,3.37034 c -0.5697,0 -1.02835,0.36913 -1.02835,0.82785 0,0.45873 0.45865,0.82838 1.02835,0.82838 h 9.02219 c 0.56967,0 1.02836,-0.36965 1.02836,-0.82838 0,-0.45872 -0.45869,-0.82785 -1.02836,-0.82785 z m 0,3.37033 c -0.5697,0 -1.02835,0.36966 -1.02835,0.82838 0,0.45873 0.45865,0.82785 1.02835,0.82785 h 9.02219 c 0.56967,0 1.02836,-0.36912 1.02836,-0.82785 0,-0.45872 -0.45869,-0.82838 -1.02836,-0.82838 z m 0,3.4122 c -0.5697,0 -1.02835,0.36964 -1.02835,0.82837 0,0.45872 0.45865,0.82786 1.02835,0.82786 h 24.62213 c 0.56968,0 1.02836,-0.36914 1.02836,-0.82786 0,-0.45873 -0.45868,-0.82837 -1.02836,-0.82837 z"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501"
+ sodipodi:nodetypes="cccsssssscssssssssssssssssssssssssssssssssssssssssssssssssssssssssss" />
+ <path
+ id="path4044"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 432.51727,88.757892 -27.65207,0.04651 -0.24805,0.24443 -8.9395,8.814448 v 38.39662 h 36.83962 z m -27.16476,0.889474 v 8.32495 h -8.54992 z m 26.31415,-0.03785 v 45.800304 h -35.1384 V 98.472545 h 9.32344 v -8.819618 z"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_print_landscape.svg b/share/ui/resources/template_print_landscape.svg
new file mode 100644
index 0000000..25dfc83
--- /dev/null
+++ b/share/ui/resources/template_print_landscape.svg
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_print_A4_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.4361424"
+ inkscape:cx="113.50868"
+ inkscape:cy="80.139985"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-94.180494,-49.822241)">
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0775684px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 95.529735,72.137814 0.0011,-0.6409 H 120.05342 V 55.591003 h 0.52987 v 16.546811 z"
+ id="path4036"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501" />
+ <path
+ id="path839"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.347344;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 94.561114,71.06133 0.02238,-12.01666 4.410997,-4.532299 20.620479,0.0023 V 71.0613 Z"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ id="path53"
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.772233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 61.427734,29.351562 c -1.106721,0 -1.998046,0.716327 -1.998046,1.607422 0,0.891118 0.891325,1.607422 1.998046,1.607422 h 27.525391 c 1.106646,0 1.998047,-0.716304 1.998047,-1.607422 0,-0.891095 -0.891401,-1.607422 -1.998047,-1.607422 z m 0,6.546876 c -1.106721,0 -1.998046,0.716303 -1.998046,1.607421 0,0.8911 0.891325,1.609375 1.998046,1.609375 h 27.525391 c 1.106646,0 1.998047,-0.718275 1.998047,-1.609375 0,-0.891118 -0.891401,-1.607421 -1.998047,-1.607421 z m 0,6.546874 c -1.106721,0 -1.998046,0.716327 -1.998046,1.607422 0,0.891122 0.891325,1.609375 1.998046,1.609375 h 27.525391 c 1.106646,0 1.998047,-0.718253 1.998047,-1.609375 0,-0.891095 -0.891401,-1.607422 -1.998047,-1.607422 z m 0,6.546876 c -1.106721,0 -1.998046,0.716326 -1.998046,1.607421 0,0.891122 0.891325,1.609375 1.998046,1.609375 h 27.525391 c 1.106646,0 1.998047,-0.718253 1.998047,-1.609375 0,-0.891095 -0.891401,-1.607421 -1.998047,-1.607421 z m 0,6.546874 c -1.106721,0 -1.998046,0.718276 -1.998046,1.609376 0,0.891118 0.891325,1.607421 1.998046,1.607421 h 27.525391 c 1.106646,0 1.998047,-0.716303 1.998047,-1.607421 0,-0.8911 -0.891401,-1.609376 -1.998047,-1.609376 z m -0.410156,6.609376 c -1.106608,0 -1.996094,0.891382 -1.996094,1.998046 v 5.169922 c 0,1.106646 0.889486,1.996094 1.996094,1.996094 h 28.410156 c 1.106684,0 1.998047,-0.889448 1.998047,-1.996094 v -5.169922 c 0,-1.106664 -0.891363,-1.998046 -1.998047,-1.998046 z"
+ transform="matrix(0.26458333,0,0,0.26458333,94.180494,49.822241)"
+ sodipodi:nodetypes="ssssssssssssssssssssssssssssssssssssssssssss" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.20432;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 96.643072,66.261564 c -0.29282,0 -0.52855,0.189992 -0.52855,0.425761 0,0.235776 0.23573,0.425497 0.52855,0.425497 h 11.573918 c 0.2928,0 0.52855,-0.189721 0.52855,-0.425497 0,-0.235769 -0.23575,-0.425761 -0.52855,-0.425761 z"
+ id="path24" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.20432;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 99.143776,57.260187 v 2.022303 h -2.91658 v 5.544465 c 0,0.292806 0.23573,0.52855 0.52855,0.52855 h 11.573924 c 0.2928,0 0.52855,-0.235744 0.52855,-0.52855 v -7.038483 c 0,-0.292804 -0.23575,-0.528285 -0.52855,-0.528285 z"
+ id="path4040" />
+ <path
+ id="path4044"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.347345;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 94.124987,71.496914 0.0239,-12.69875 0.12563,-0.12749 4.530391,-4.594669 h 21.248512 v 17.420909 z m 0.457166,-12.44829 h 4.278803 v -4.39443 z m -0.01945,12.0111 H 119.61651 V 54.513196 H 99.118059 v 4.791998 h -4.533048 z"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.20432;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 96.643072,68.018882 c -0.29282,0 -0.52855,0.189992 -0.52855,0.425761 0,0.235776 0.23573,0.425497 0.52855,0.425497 h 11.573918 c 0.2928,0 0.52855,-0.189721 0.52855,-0.425497 0,-0.235769 -0.23575,-0.425761 -0.52855,-0.425761 z"
+ id="path41" />
+ </g>
+</svg>
diff --git a/share/ui/resources/template_print_portrait.svg b/share/ui/resources/template_print_portrait.svg
new file mode 100644
index 0000000..dd8d159
--- /dev/null
+++ b/share/ui/resources/template_print_portrait.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_print_A4_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="121.54213"
+ inkscape:cy="174.01014"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-94.180494,-49.822241)">
+ <g
+ id="g4105"
+ transform="matrix(0.51397341,0,0,0.51397341,-104.98904,5.7167181)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="g839">
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 430.81918,88.546015 -1.24695,0.0021 v 47.711815 h -30.94696 v 1.03094 h 32.19391 z"
+ id="path4036"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501" />
+ <path
+ id="path839"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.42518;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 405.53516,19.636719 -222.28451,0.414062 -83.838725,81.594809 0.04315,381.43839 H 405.53516 Z"
+ transform="matrix(0.10518012,0,0,0.10518012,386.06747,84.599024)"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ id="path4040"
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50248;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 1533.9277,346.17773 v 14.8711 h -21.4472 v 40.77148 c 0,2.15316 1.7335,3.88672 3.8867,3.88672 h 85.1094 c 2.1531,0 3.8867,-1.73356 3.8867,-3.88672 V 350.0625 c 0,-2.15315 -1.7336,-3.88477 -3.8867,-3.88477 z m -17.5605,65.99415 c -2.1532,0 -3.8867,1.39711 -3.8867,3.13085 0,1.73379 1.7335,3.12891 3.8867,3.12891 h 85.1094 c 2.1531,0 3.8867,-1.39512 3.8867,-3.12891 0,-1.73374 -1.7336,-3.13085 -3.8867,-3.13085 z m 0,12.10546 c -2.1532,0 -3.8867,1.39517 -3.8867,3.12891 0,1.73378 1.7335,3.12891 3.8867,3.12891 h 34.0996 c 2.1531,0 3.8867,-1.39513 3.8867,-3.12891 0,-1.73374 -1.7336,-3.12891 -3.8867,-3.12891 z m 48.4336,0.19532 c -2.1531,0 -3.8848,1.73356 -3.8848,3.88672 v 48.9707 c 0,2.15312 1.7317,3.88672 3.8848,3.88672 h 35.8183 c 2.1532,0 3.8868,-1.7336 3.8868,-3.88672 v -48.9707 c 0,-2.15316 -1.7336,-3.88672 -3.8868,-3.88672 z m -48.4336,12.54296 c -2.1532,0 -3.8867,1.39513 -3.8867,3.12891 0,1.73375 1.7335,3.13086 3.8867,3.13086 h 34.0996 c 2.1531,0 3.8867,-1.39711 3.8867,-3.13086 0,-1.73378 -1.7336,-3.12891 -3.8867,-3.12891 z m 0,12.73829 c -2.1532,0 -3.8867,1.39516 -3.8867,3.1289 0,1.73379 1.7335,3.13086 3.8867,3.13086 h 34.0996 c 2.1531,0 3.8867,-1.39707 3.8867,-3.13086 0,-1.73374 -1.7336,-3.1289 -3.8867,-3.1289 z m 0,12.73828 c -2.1532,0 -3.8867,1.39516 -3.8867,3.1289 0,1.73379 1.7335,3.13086 3.8867,3.13086 h 34.0996 c 2.1531,0 3.8867,-1.39707 3.8867,-3.13086 0,-1.73374 -1.7336,-3.1289 -3.8867,-3.1289 z m 0,12.73828 c -2.1532,0 -3.8867,1.39711 -3.8867,3.13086 0,1.73378 1.7335,3.1289 3.8867,3.1289 h 34.0996 c 2.1531,0 3.8867,-1.39512 3.8867,-3.1289 0,-1.73375 -1.7336,-3.13086 -3.8867,-3.13086 z m 0,12.89648 c -2.1532,0 -3.8867,1.39708 -3.8867,3.13086 0,1.73375 1.7335,3.12891 3.8867,3.12891 h 85.1094 c 2.1531,0 3.8867,-1.39516 3.8867,-3.12891 0,-1.73378 -1.7336,-3.13086 -3.8867,-3.13086 z"
+ transform="scale(0.26458333)"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501" />
+ <path
+ id="path4044"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 429.57223,85.812849 -24.70703,0.04651 -0.24805,0.24443 -8.9395,8.814448 V 136.2599 h 33.89458 z m -24.21972,0.889474 v 8.32495 h -8.54992 z m 23.36911,-0.03785 V 135.40982 H 396.52826 V 95.527502 h 9.32344 v -8.819618 z"
+ inkscape:export-filename="print_A4_portrait.png"
+ inkscape:export-xdpi="85.269501"
+ inkscape:export-ydpi="85.269501"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_social_landscape.svg b/share/ui/resources/template_social_landscape.svg
new file mode 100644
index 0000000..8e21751
--- /dev/null
+++ b/share/ui/resources/template_social_landscape.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_social_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="133.84644"
+ inkscape:cy="223.9675"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2849"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-73.26533,-70.066301)">
+ <g
+ id="g2849"
+ transform="matrix(0,2.5155261,2.5155261,0,-571.18125,-1054.7912)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="g18"
+ transform="matrix(0.20316637,0,0,0.20316637,357.98155,204.13889)">
+ <path
+ id="path2837"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 677.84326,1303.1086 -5.47136,0.01 v 183.6592 h -3.49805 -114.17856 v 4.9638 h 123.14797 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path2839"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.55421;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 544.11328,1296.0738 v 3.2109 187.489 h 3.5 121.26057 3.49805 v -190.6999 z m 3.2168,3.2109 h 121.82697 v 184.2781 h -0.28125 -121.26252 -0.2832 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 448.01687,257.03733 v 48.7569 h 0.0749 32.08404 0.0744 v -48.7569 z"
+ id="path2841"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path2843"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50248;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 553.01562,1305.7207 v 1.8906 169.5109 h 2.14063 106.17268 2.14062 v -171.4015 z m 1.89258,1.8945 h 106.66877 v 167.6183 h -0.24609 -106.17463 -0.24805 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ id="path2845"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="M 41.349609,115.21094 V 383.53711 H 462.87695 v -0.62109 -267.08204 -0.62304 z m 209.470701,24.27734 c 60.63532,0 109.89844,49.26117 109.89844,109.89649 0,60.63541 -49.26312,109.87304 -109.89844,109.87304 -60.63522,0 -109.89258,-49.23763 -109.89258,-109.87304 0,-60.63532 49.25736,-109.89649 109.89258,-109.89649 z m 0,9.51172 c -55.49699,0 -100.38476,44.88768 -100.38476,100.38477 0,55.49699 44.88777,100.36718 100.38476,100.36718 55.49709,0 100.39063,-44.87019 100.39063,-100.36718 C 351.21094,193.88768 306.3174,149 250.82031,149 Z m 0.11328,22.73438 c 4.29483,0.19728 10.13095,3.9338 13.64844,7.91992 12.39797,14.04999 -6.116,27.04986 -1.1875,45.62304 0.0884,0.32849 0.17446,0.73453 0.26953,1.09961 h 37.83008 c 6.07605,0 10.9668,4.89103 10.9668,10.9668 0,5.19452 -3.58212,9.5156 -8.41602,10.66211 5.15944,0.89855 9.06446,5.36456 9.06446,10.78906 0,5.20888 -3.60065,9.53405 -8.45508,10.66602 2.87079,1.97366 4.75,5.27899 4.75,9.04101 0,6.07596 -4.88879,10.96485 -10.96485,10.96485 H 298.125 c 1.57691,1.89874 2.55859,4.31034 2.55859,6.98242 0,6.07596 -4.88898,10.9668 -10.96484,10.9668 h -28.14844 -0.004 c -1.68473,0 -3.37105,0.28515 -5.09571,0.28515 -12.58574,0 -23.98333,-4.95832 -32.2539,-12.97656 h -25.01953 c -6.07587,0 -10.96485,-4.89475 -10.96485,-10.9707 V 242.0957 c 0,-6.07605 4.88898,-10.9707 10.96485,-10.9707 h 25.40625 c 0.16162,-0.15402 0.32279,-0.30196 0.48632,-0.45312 5.8455,-11.09792 21.73043,-10.55166 16.05274,-46.6543 -0.94362,-6.00228 1.72115,-10.39631 7.58984,-11.96875 0.7336,-0.19681 1.62692,-0.32396 2.20117,-0.31445 z"
+ transform="matrix(0,0.10518012,0.10518012,0,437.90443,254.89184)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_social_portrait.svg b/share/ui/resources/template_social_portrait.svg
new file mode 100644
index 0000000..a7c84c6
--- /dev/null
+++ b/share/ui/resources/template_social_portrait.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_social_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="68.935979"
+ inkscape:cy="177.87308"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2819"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-93.877204,-49.487409)">
+ <g
+ id="g2819"
+ transform="matrix(2.5155261,0,0,2.5155261,-1030.9803,-594.72811)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="g18"
+ transform="matrix(0.20326922,0,0,0.20326922,357.93374,204.03936)">
+ <path
+ id="path2807"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 677.84326,1305.6504 -5.47136,0.01 v 181.1174 H 668.87385 554.9531 v 4.5176 h 122.89016 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path2809"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.55421;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 544.11328,1295.7266 v 3.2109 187.8362 h 3.5 121.26057 3.49805 v -191.0471 z m 3.2168,3.2109 h 121.82697 v 184.6253 h -0.28125 -121.26252 -0.2832 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 448.01687,256.94546 v 48.84877 h 0.0749 32.08404 0.0744 v -48.84877 z"
+ id="path2811"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path2813"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50248;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 553.01562,1305.7207 v 1.8906 168.4846 h 2.14063 106.17268 2.14062 v -170.3752 z m 1.89258,1.8945 h 106.66877 v 166.592 h -0.24609 -106.17463 -0.24805 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ id="path2815"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="M 117.37891,40.179688 V 459.125 h 0.625 267.08203 0.61914 V 40.179688 Z m 134.16015,99.587892 c 60.63532,0 109.89844,49.26116 109.89844,109.89648 0,60.63542 -49.26312,109.87305 -109.89844,109.87305 -60.63522,0 -109.89062,-49.23763 -109.89062,-109.87305 0,-60.63532 49.2554,-109.89648 109.89062,-109.89648 z m 0,9.51172 c -55.49699,0 -100.38476,44.88768 -100.38476,100.38476 0,55.49699 44.88777,100.36524 100.38476,100.36524 55.49709,0 100.39063,-44.86825 100.39063,-100.36524 0,-55.49708 -44.89354,-100.38476 -100.39063,-100.38476 z m 0.11328,22.73242 0.002,0.002 c 4.29482,0.19728 10.13094,3.93381 13.64843,7.91992 12.39797,14.05 -6.11795,27.04986 -1.18945,45.62305 0.0884,0.32848 0.17446,0.73452 0.26953,1.09961 h 37.83203 c 6.07606,0 10.96485,4.89103 10.96485,10.9668 0,5.19451 -3.58212,9.5156 -8.41602,10.66211 5.15944,0.89855 9.06445,5.36455 9.06445,10.78906 0,5.20887 -3.60064,9.53405 -8.45507,10.66601 2.87079,1.97367 4.75195,5.27704 4.75195,9.03907 0,6.07595 -4.89074,10.96679 -10.9668,10.96679 h -0.31445 c 1.57691,1.89875 2.56055,4.31034 2.56055,6.98243 0,6.07595 -4.89094,10.96484 -10.9668,10.96484 h -28.14844 -0.004 c -1.68473,0 -3.37105,0.28516 -5.09571,0.28516 -12.58574,0 -23.98333,-4.95637 -32.2539,-12.97461 h -25.01758 c -6.07586,0 -10.9668,-4.89475 -10.9668,-10.97071 V 242.375 c 0,-6.07605 4.89094,-10.97266 10.9668,-10.97266 h 25.40625 c 0.16163,-0.15402 0.3228,-0.3 0.48633,-0.45117 5.84549,-11.09791 21.72847,-10.55361 16.05078,-46.65625 -0.94362,-6.00227 1.72115,-10.3963 7.58984,-11.96875 0.7336,-0.1968 1.62692,-0.32396 2.20117,-0.31445 z"
+ transform="matrix(0.10518012,0,0,0.10518012,437.67629,255.01502)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_social_square.svg b/share/ui/resources/template_social_square.svg
new file mode 100644
index 0000000..4616d8a
--- /dev/null
+++ b/share/ui/resources/template_social_square.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458333"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_social_square.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="235.23705"
+ inkscape:cy="142.1598"
+ inkscape:document-units="px"
+ inkscape:current-layer="g2760"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-87.430704,-63.13486)">
+ <g
+ id="g2760"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1037.4268,-581.08064)">
+ <g
+ id="g18"
+ transform="matrix(0.20772155,0,0,0.20772155,355.33171,203.91089)">
+ <path
+ id="path1031"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.570401px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 697.21484,1306.0488 -4.71093,0.01 v 140.3281 h -3.49805 -133.4668 v 3.8984 h 141.67578 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path2592"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.55421;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 544.11328,1295.7266 v 3.2109 147.4453 h 3.5 141.39258 3.49805 v -150.6562 z m 3.2168,3.2109 h 141.95898 v 144.2344 h -0.28125 -141.39453 -0.2832 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 448.01687,256.94546 v 38.16201 h 0.0749 37.41063 0.0744 v -38.16201 z"
+ id="path2594" />
+ <path
+ id="path2603"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50248;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 553.01562,1305.7207 v 1.8906 128.4004 h 2.14063 126.30469 2.14062 v -130.291 z m 1.89258,1.8945 h 126.80078 v 126.5078 h -0.24609 -126.30664 -0.24805 z"
+ transform="matrix(0.26458333,0,0,0.26458333,303.2026,-86.731924)" />
+ <path
+ id="path2605"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="M 93.015625,91.759766 V 409.99414 h 0.623047 317.724608 0.61914 V 91.759766 Z M 254.04102,137.50391 c 60.63531,0 109.89648,49.26116 109.89648,109.89648 0,60.63541 -49.26117,109.87305 -109.89648,109.87305 -60.63523,0 -109.89258,-49.23764 -109.89258,-109.87305 0,-60.63532 49.25735,-109.89648 109.89258,-109.89648 z m 0,9.51171 c -55.49699,0 -100.38477,44.88769 -100.38477,100.38477 0,55.49699 44.88778,100.36523 100.38477,100.36523 55.49708,0 100.39062,-44.86824 100.39062,-100.36523 0,-55.49708 -44.89354,-100.38477 -100.39062,-100.38477 z m 0.11328,22.73243 c 5.12768,-0.10544 10.13094,3.9338 13.64843,7.91992 12.39797,14.04999 -6.11795,27.05181 -1.18945,45.625 0.0884,0.32848 0.17446,0.73452 0.26953,1.09961 h 37.83203 c 6.07606,0 10.9668,4.89103 10.9668,10.9668 0,5.19451 -3.58212,9.51364 -8.41602,10.66015 5.15944,0.89856 9.06446,5.36651 9.06446,10.79102 0,5.20887 -3.60065,9.53405 -8.45508,10.66601 2.87079,1.97366 4.75,5.27704 4.75,9.03906 0,6.07596 -4.89074,10.9668 -10.9668,10.9668 h -0.31445 c 1.57691,1.89874 2.56055,4.31034 2.56055,6.98242 0,6.07596 -4.89094,10.96485 -10.9668,10.96485 h -28.14648 -0.006 c -1.67494,0.18159 -3.36909,0.28515 -5.09375,0.28515 -12.58575,0 -23.98529,-4.95636 -32.25586,-12.97461 h -25.01758 c -6.07586,0 -10.9668,-4.89669 -10.9668,-10.97265 v -41.6582 c 0,-6.07606 4.89094,-10.97071 10.9668,-10.97071 h 25.40625 c 0.16163,-0.15402 0.3228,-0.3 0.48633,-0.45117 5.84549,-11.09791 21.72847,-10.55361 16.05078,-46.65625 -0.94362,-6.00227 1.7231,-10.3963 7.59179,-11.96875 0.7336,-0.19681 1.4691,-0.28593 2.20118,-0.31445 z"
+ transform="matrix(0.10518012,0,0,0.10518012,440.23898,249.58973)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_tablet_landscape.svg b/share/ui/resources/template_tablet_landscape.svg
new file mode 100644
index 0000000..48a7366
--- /dev/null
+++ b/share/ui/resources/template_tablet_landscape.svg
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458333 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_tablet_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="206.96037"
+ inkscape:cy="208.80428"
+ inkscape:document-units="px"
+ inkscape:current-layer="use2255"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-72.441082,-62.130706)">
+ <g
+ id="g8783"
+ transform="matrix(2.5155261,0,0,2.5155261,-821.54959,-236.40109)"
+ style="display:inline;stroke-width:0.397531">
+ <g
+ id="use2255"
+ transform="translate(-89.405834)"
+ style="stroke-width:0.397531">
+ <path
+ id="path2257"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0311046px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 454.88896,119.90458 c 0.0575,0.0955 0.0912,0.2068 0.0912,0.32569 v 7.06423 c 0,0.3498 -0.28699,0.63691 -0.6368,0.63691 h -9.24398 c -0.0919,0 -0.17935,-0.0203 -0.2586,-0.0559 0.11186,0.18545 0.31486,0.31078 0.54563,0.31078 h 9.24356 c 0.3498,0 0.63723,-0.287 0.63723,-0.6368 v -7.06381 c 0,-0.2577 -0.1563,-0.48109 -0.37831,-0.58109 z" />
+ <path
+ id="path2259"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.139284;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.43221,119.87648 c -0.3498,0 -0.63723,0.287 -0.63723,0.6368 v 7.06423 c 0,0.3498 0.28743,0.63691 0.63723,0.63691 h 9.24399 c 0.34979,0 0.63679,-0.28711 0.63679,-0.63691 v -7.06423 c 0,-0.3498 -0.287,-0.6368 -0.63679,-0.6368 z m -2.1e-4,0.1752 h 9.24399 c 0.25577,0 0.46171,0.20582 0.46171,0.4616 v 7.06413 c 0,0.25577 -0.20594,0.4616 -0.46171,0.4616 H 445.432 c -0.25577,0 -0.46159,-0.20583 -0.46159,-0.4616 v -7.06413 c 0,-0.25578 0.20582,-0.4616 0.46159,-0.4616 z" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.139284;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.43199,120.05174 h 9.24398 c 0.25577,0 0.46169,0.20591 0.46169,0.46168 v 7.06405 c 0,0.25577 -0.20592,0.46169 -0.46169,0.46169 h -9.24398 c -0.25577,0 -0.46168,-0.20592 -0.46168,-0.46169 v -7.06405 c 0,-0.25577 0.20591,-0.46168 0.46168,-0.46168 z"
+ id="path2261" />
+ <path
+ id="path2263"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0819319;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.48333,120.47589 c -0.17272,0 -0.31526,0.14201 -0.31526,0.31473 v 6.50912 c 0,0.17273 0.14254,0.31526 0.31526,0.31526 h 9.14132 c 0.17271,0 0.31525,-0.14253 0.31525,-0.31526 v -6.50912 c 0,-0.17272 -0.14254,-0.31473 -0.31525,-0.31473 z m -1.1e-4,0.103 h 9.14153 c 0.11742,0 0.21195,0.0945 0.21195,0.21195 v 6.50901 c 0,0.11741 -0.0945,0.21195 -0.21195,0.21195 h -9.14153 c -0.11741,0 -0.21183,-0.0945 -0.21183,-0.21195 v -6.50901 c 0,-0.11742 0.0944,-0.21195 0.21183,-0.21195 z" />
+ <path
+ id="path2265"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.081932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 445.48325,120.57898 c -0.11742,0 -0.21195,0.0945 -0.21195,0.21195 v 6.50903 c 0,0.1174 0.0945,0.21195 0.21195,0.21195 h 9.14152 c 0.11742,0 0.21191,-0.0945 0.21191,-0.21195 v -6.50903 c 0,-0.11741 -0.0945,-0.21195 -0.21191,-0.21195 z m 0.13117,0.13951 h 0.7497 c 0.0788,0 0.14218,0.0634 0.14218,0.14217 0,0.0788 -0.0634,0.14222 -0.14218,0.14222 h -0.7497 c -0.0788,0 -0.14218,-0.0635 -0.14218,-0.14222 0,-0.0788 0.0634,-0.14217 0.14218,-0.14217 z m 3.65094,0 h 0.0571 c 0.0788,0 0.14218,0.0634 0.14218,0.14217 0,0.0788 -0.0634,0.14222 -0.14218,0.14222 h -0.0571 c -0.0788,0 -0.14222,-0.0635 -0.14222,-0.14222 0,-0.0788 0.0635,-0.14217 0.14222,-0.14217 z m 0.58653,0 h 0.65617 c 0.0788,0 0.14218,0.0634 0.14218,0.14217 0,0.0788 -0.0634,0.14222 -0.14218,0.14222 h -0.65617 c -0.0788,0 -0.1421,-0.0635 -0.1421,-0.14222 0,-0.0788 0.0633,-0.14217 0.1421,-0.14217 z m 3.63332,0 h 0.0571 c 0.0788,0 0.14218,0.0634 0.14218,0.14217 0,0.0788 -0.0634,0.14222 -0.14218,0.14222 h -0.0571 c -0.0788,0 -0.14218,-0.0635 -0.14218,-0.14222 0,-0.0788 0.0634,-0.14217 0.14218,-0.14217 z m 0.47492,0 h 0.057 c 0.0788,0 0.14222,0.0634 0.14222,0.14217 0,0.0788 -0.0635,0.14222 -0.14222,0.14222 h -0.057 c -0.0788,0 -0.14217,-0.0635 -0.14217,-0.14222 0,-0.0788 0.0634,-0.14217 0.14217,-0.14217 z m 0.46873,0 h 0.0466 c 0.0788,0 0.14218,0.0506 0.14218,0.11343 v 0.0575 c 0,0.0628 -0.0634,0.11342 -0.14218,0.11342 h -0.0466 c -0.0788,0 -0.14217,-0.0506 -0.14217,-0.11342 v -0.0575 c 0,-0.0628 0.0634,-0.11343 0.14217,-0.11343 z m -7.41889,1.06264 h 0.50465 c 0.14666,0 0.26474,0.11808 0.26474,0.26475 v 0.519 c 0,0.14666 -0.11808,0.26479 -0.26474,0.26479 h -0.50465 c -0.14667,0 -0.26466,-0.11813 -0.26466,-0.26479 v -0.519 c 0,-0.14667 0.11799,-0.26475 0.26466,-0.26475 z m 1.85214,0 h 0.50465 c 0.14667,0 0.26466,0.11808 0.26466,0.26475 v 0.519 c 0,0.14666 -0.11799,0.26479 -0.26466,0.26479 h -0.50465 c -0.14666,0 -0.26479,-0.11813 -0.26479,-0.26479 v -0.519 c 0,-0.14667 0.11813,-0.26475 0.26479,-0.26475 z m 1.85202,0 h 0.50464 c 0.14666,0 0.26479,0.11808 0.26479,0.26475 v 0.519 c 0,0.14666 -0.11813,0.26479 -0.26479,0.26479 h -0.50464 c -0.14666,0 -0.26475,-0.11813 -0.26475,-0.26479 v -0.519 c 0,-0.14667 0.11809,-0.26475 0.26475,-0.26475 z m 1.85205,0 h 0.50473 c 0.14667,0 0.26467,0.11808 0.26467,0.26475 v 0.519 c 0,0.14666 -0.118,0.26479 -0.26467,0.26479 h -0.50473 c -0.14665,0 -0.26466,-0.11813 -0.26466,-0.26479 v -0.519 c 0,-0.14667 0.11801,-0.26475 0.26466,-0.26475 z m -5.55621,1.86649 h 0.50465 c 0.14666,0 0.26474,0.11801 0.26474,0.26467 v 0.519 c 0,0.14667 -0.11808,0.26478 -0.26474,0.26478 h -0.50465 c -0.14667,0 -0.26466,-0.11811 -0.26466,-0.26478 v -0.519 c 0,-0.14666 0.11799,-0.26467 0.26466,-0.26467 z m 1.85214,0 h 0.50465 c 0.14667,0 0.26466,0.11801 0.26466,0.26467 v 0.519 c 0,0.14667 -0.11799,0.26478 -0.26466,0.26478 h -0.50465 c -0.14666,0 -0.26479,-0.11811 -0.26479,-0.26478 v -0.519 c 0,-0.14666 0.11813,-0.26467 0.26479,-0.26467 z m 1.85202,0 h 0.50464 c 0.14666,0 0.26479,0.11801 0.26479,0.26467 v 0.519 c 0,0.14667 -0.11813,0.26478 -0.26479,0.26478 h -0.50464 c -0.14666,0 -0.26475,-0.11811 -0.26475,-0.26478 v -0.519 c 0,-0.14666 0.11809,-0.26467 0.26475,-0.26467 z m 1.85205,0 h 0.50473 c 0.14667,0 0.26467,0.11801 0.26467,0.26467 v 0.519 c 0,0.14667 -0.118,0.26478 -0.26467,0.26478 h -0.50473 c -0.14665,0 -0.26466,-0.11811 -0.26466,-0.26478 v -0.519 c 0,-0.14666 0.11801,-0.26467 0.26466,-0.26467 z m -5.55621,1.86641 h 0.50465 c 0.14666,0 0.26474,0.11801 0.26474,0.26467 v 0.51912 c 0,0.14667 -0.11808,0.26466 -0.26474,0.26466 h -0.50465 c -0.14667,0 -0.26466,-0.11799 -0.26466,-0.26466 v -0.51912 c 0,-0.14666 0.11799,-0.26467 0.26466,-0.26467 z m 1.85214,0 h 0.50465 c 0.14667,0 0.26466,0.11801 0.26466,0.26467 v 0.51912 c 0,0.14667 -0.11799,0.26466 -0.26466,0.26466 h -0.50465 c -0.14666,0 -0.26479,-0.11799 -0.26479,-0.26466 v -0.51912 c 0,-0.14666 0.11813,-0.26467 0.26479,-0.26467 z m 1.85202,0 h 0.50464 c 0.14666,0 0.26479,0.11801 0.26479,0.26467 v 0.51912 c 0,0.14667 -0.11813,0.26466 -0.26479,0.26466 h -0.50464 c -0.14666,0 -0.26475,-0.11799 -0.26475,-0.26466 v -0.51912 c 0,-0.14666 0.11809,-0.26467 0.26475,-0.26467 z m 1.85205,0 h 0.50473 c 0.14667,0 0.26467,0.11801 0.26467,0.26467 v 0.51912 c 0,0.14667 -0.118,0.26466 -0.26467,0.26466 h -0.50473 c -0.14665,0 -0.26466,-0.11799 -0.26466,-0.26466 v -0.51912 c 0,-0.14666 0.11801,-0.26467 0.26466,-0.26467 z" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_video_landscape.svg b/share/ui/resources/template_video_landscape.svg
new file mode 100644
index 0000000..1c5d033
--- /dev/null
+++ b/share/ui/resources/template_video_landscape.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_video_landscape.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.73281742"
+ inkscape:cx="-54.28215"
+ inkscape:cy="356.1203"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3293"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-73.176064,-70.053966)">
+ <g
+ id="g3293"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1042.5469,-1677.4998)">
+ <g
+ id="g18"
+ transform="matrix(0.20288819,0,0,0.20288819,353.5467,555.42786)">
+ <path
+ id="path3185"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 495.37606,696.56467 -1.44763,0.003 v 32.21847 h -0.92553 -46.67081 v 1.31334 h 49.04397 z"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path3187"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 443.53464,694.70707 v 0.84955 33.23176 h 0.92605 48.54459 0.92553 v -34.08131 z m 0.85112,0.84955 h 48.69445 v 32.38221 h -0.0744 -48.54511 -0.0749 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 444.38552,695.55662 v 32.3822 h 0.0749 48.54511 0.0744 v -32.3822 z"
+ id="path3189"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path3191"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 444.38218,699.99936 v 0.43098 h 1.60093 v 22.79059 h -0.003 -1.59473 -0.003 v 0.43098 h 0.003 1.59576 0.43357 v -23.65255 z m 46.65962,0 v 23.65255 h 0.43356 1.59577 0.003 v -0.43098 h -0.003 -1.59473 -0.003 v -22.79059 h 1.60093 v -0.43098 z m -43.02522,0.0103 v 0.50025 23.14094 h 0.56637 40.29206 0.56637 v -23.64119 z m 0.40876,0.41238 h 40.60728 v 22.81799 h -0.0651 -40.47602 -0.0661 z"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc" />
+ <path
+ id="path3193"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
+ d="m 20.128906,101.57227 v 29.39648 h 14.335938 v -29.39648 z m 30.435547,0 v 29.39648 h 22.296875 v -29.39648 z m 38.392578,0 v 29.39648 h 22.294919 v -29.39648 z m 38.390629,0 v 29.39648 h 22.29492 v -29.39648 z m 38.39648,0 v 29.39648 h 22.29492 v -29.39648 z m 38.39063,0 v 29.39648 h 22.29492 v -29.39648 z m 38.39062,0 v 29.39648 h 22.29688 v -29.39648 z m 38.39649,0 v 29.39648 h 22.29687 v -29.39648 z m 38.39062,0 v 29.39648 h 22.29688 v -29.39648 z m 38.39258,0 v 29.39648 H 380 v -29.39648 z m 38.39062,0 v 29.39648 h 22.30078 v -29.39648 z m 38.39649,0 v 29.39648 h 22.29492 v -29.39648 z m 38.39062,0 v 29.39648 h 10.41602 V 101.57227 Z M 58.445312,142.38086 v 216.81836 h 0.628907 384.791011 0.625 V 142.38086 Z m -23.236328,0.0254 -15.21875,0.004 v 216.68359 h 0.0293 15.16211 0.02734 z m 447.779296,0 -15.21875,0.004 v 216.68359 h 0.0274 15.1621 0.0293 z m -231.27344,11.94922 c 52.95811,0 95.99414,43.03398 95.99414,95.99219 0,52.9582 -43.03603,95.97851 -95.99414,95.97851 -52.95801,0 -95.99218,-43.02031 -95.99218,-95.97851 0,-52.95821 43.03417,-95.99219 95.99218,-95.99219 z m 0,9.51172 c -47.81977,0 -86.48623,38.66088 -86.48632,86.48047 0,47.81996 38.66655,86.4707 86.48632,86.4707 47.81997,0 86.48633,-38.65074 86.48633,-86.4707 0,-47.81959 -38.66636,-86.48047 -86.48633,-86.48047 z m -27.30273,43.61914 75.4707,44.17773 -75.4707,43.57032 z M 20.128906,369 v 29.39453 H 34.464844 V 369 Z m 30.435547,0 v 29.39453 H 72.861328 V 369 Z m 38.392578,0 v 29.39453 H 111.25195 V 369 Z m 38.390629,0 v 29.39453 h 22.29492 V 369 Z m 38.39648,0 v 29.39453 h 22.29492 V 369 Z m 38.39063,0 v 29.39453 h 22.29492 V 369 Z m 38.39062,0 v 29.39453 h 22.29688 V 369 Z m 38.39649,0 v 29.39453 h 22.29687 V 369 Z m 38.39062,0 v 29.39453 h 22.29688 V 369 Z m 38.39258,0 v 29.39453 H 380 V 369 Z m 38.39062,0 v 29.39453 h 22.30078 V 369 Z m 38.39649,0 v 29.39453 h 22.29492 V 369 Z m 38.39062,0 v 29.39453 h 10.41602 V 369 Z"
+ transform="matrix(0.10518012,0,0,0.10518012,442.27438,685.4505)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_video_portrait.svg b/share/ui/resources/template_video_portrait.svg
new file mode 100644
index 0000000..010e477
--- /dev/null
+++ b/share/ui/resources/template_video_portrait.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_video_portrait.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="115.71569"
+ inkscape:cy="116.27329"
+ inkscape:document-units="px"
+ inkscape:current-layer="g11352"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g11352"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1035.9126,-1806.6582)">
+ <g
+ id="g18"
+ transform="matrix(0.20349351,0,0,0.20349351,349.9016,586.63629)">
+ <path
+ id="path3311"
+ style="font-variation-settings:normal;display:inline;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 484.51804,740.46716 -1.44763,0.003 v 47.80785 h -0.92553 -30.22942 v 1.31334 h 32.60258 z"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path3313"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 449.11801,737.90414 v 0.84955 49.60124 h 0.92605 32.1032 0.92553 v -50.45079 z m 0.85112,0.84955 h 32.24471 v 48.75169 h -0.0744 -32.09537 -0.0749 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 449.96889,738.75369 v 48.677 h 0.0749 32.09588 0.0744 v -48.677 z"
+ id="path3315"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path3317"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 449.96555,743.19643 v 0.43098 h 1.60093 v 39.08539 h -0.003 -1.59473 -0.003 v 0.43098 h 0.003 1.59577 0.43356 v -39.94735 z m 30.2256,0 v 39.94735 h 0.43356 1.59577 0.003 v -0.43098 h -0.003 -1.59473 -0.003 v -39.08539 h 1.60093 v -0.43098 z m -26.5912,0.0103 v 0.50025 39.43765 h 0.56637 23.85804 0.56637 v -39.9379 z m 0.40876,0.41238 h 24.17326 v 39.1147 h -0.0651 -24.042 -0.0661 z"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc" />
+ <path
+ id="path3319"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="M 98.388672,24.748047 V 54.142578 H 112.72656 V 24.748047 Z m 30.093748,0 v 29.394531 h 22.29492 V 24.748047 Z m 38.05274,0 v 29.394531 h 22.29492 V 24.748047 Z m 38.05078,0 v 29.394531 h 22.29687 V 24.748047 Z m 38.05273,0 v 29.394531 h 22.29688 V 24.748047 Z m 38.05274,0 v 29.394531 h 22.29492 V 24.748047 Z m 38.05273,0 v 29.394531 h 22.29492 V 24.748047 Z m 38.04688,0 V 54.142578 H 379.0918 V 24.748047 Z m 38.05273,0 v 29.394531 h 10.41602 V 24.748047 Z M 136.65234,64.931641 V 436.76758 h 0.62891 228.54492 0.62305 V 64.931641 Z m -38.455074,0.0293 V 436.56641 h 0.0293 15.162104 0.0273 V 64.960938 Z m 291.531254,0 V 436.56641 h 0.0293 15.16211 0.0274 V 64.960938 Z m -138,88.999999 c 52.9581,0 95.99218,43.03408 95.99218,95.99218 0,52.95821 -43.03408,95.97852 -95.99218,95.97852 -52.95802,0 -95.99219,-43.02031 -95.99219,-95.97852 0,-52.9581 43.03417,-95.99218 95.99219,-95.99218 z m 0,9.51172 c -47.81978,0 -86.48624,38.66088 -86.48633,86.48046 0,47.81997 38.66655,86.47071 86.48633,86.47071 47.81996,0 86.48632,-38.65074 86.48632,-86.47071 0,-47.81958 -38.66636,-86.48046 -86.48632,-86.48046 z m -27.30274,43.61914 75.4707,44.17773 -75.4707,43.57031 z M 98.388672,447.30078 v 27.84375 h 14.337888 v -27.84375 z m 30.093748,0 v 27.84375 h 22.29492 v -27.84375 z m 38.05274,0 v 27.84375 h 22.29492 v -27.84375 z m 38.05078,0 v 27.84375 h 22.29687 v -27.84375 z m 38.05273,0 v 27.84375 h 22.29688 v -27.84375 z m 38.04688,0 v 27.84375 h 22.30078 v -27.84375 z m 38.05273,0 v 27.84375 h 22.30078 v -27.84375 z m 38.05274,0 v 27.84375 h 22.30078 v -27.84375 z m 38.05273,0 v 27.84375 h 10.41602 v -27.84375 z"
+ transform="matrix(0.10518012,0,0,0.10518012,439.63703,736.79499)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/resources/template_video_square.svg b/share/ui/resources/template_video_square.svg
new file mode 100644
index 0000000..53d34c6
--- /dev/null
+++ b/share/ui/resources/template_video_square.svg
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ viewBox="0 0 26.458334 26.458334"
+ version="1.1"
+ id="svg10012"
+ inkscape:version="1.0.1 (1.0.1+r74)"
+ sodipodi:docname="template_video_square.svg">
+ <defs
+ id="defs10006" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="142.95813"
+ inkscape:cy="228.00352"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3163"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1534"
+ inkscape:window-height="843"
+ inkscape:window-x="66"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata10009">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.005836,-46.768833)">
+ <g
+ id="g3163"
+ style="display:inline;stroke-width:0.397531"
+ transform="matrix(2.5155261,0,0,2.5155261,-1048.8314,-1500.8937)">
+ <g
+ id="g18"
+ transform="matrix(0.2067296,0,0,0.2067296,352.46488,487.74198)">
+ <path
+ id="path2991"
+ style="font-variation-settings:normal;opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.150919px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
+ d="m 492.30489,623.46786 -1.44763,0.003 v 37.99926 h -0.92553 -35.53188 v 1.31334 h 37.90504 z"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ id="path2993"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 451.6024,621.61026 v 0.84955 39.01255 h 0.92605 37.40566 0.92553 v -39.8621 z m 0.85112,0.84955 h 37.55552 v 38.163 h -0.0744 -37.40618 -0.0749 z"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.675803;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 452.45328,622.45981 v 38.16299 h 0.0749 37.40618 0.0744 v -38.16299 z"
+ id="path2995"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ id="path2997"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.397531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="m 452.44994,626.90255 v 0.43098 h 1.60093 v 28.57138 h -0.003 -1.59473 -0.003 v 0.43098 h 0.003 1.59576 0.43357 v -29.43334 z m 35.52806,0 v 29.43334 h 0.43356 1.59577 0.003 v -0.43098 h -0.003 -1.59473 -0.003 v -28.57138 h 1.60093 v -0.43098 z m -31.89366,0.0103 v 0.50025 28.75637 h 0.56637 29.1605 0.56637 v -29.25662 z m 0.40876,0.41238 h 29.47572 v 28.43342 h -0.0651 -29.34446 -0.0661 z" />
+ <path
+ id="path2999"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
+ d="M 73.355469,74.726562 V 104.12695 H 87.697266 V 74.726562 Z m 31.320311,0 v 29.400388 h 22.29688 V 74.726562 Z m 39.50195,0 v 29.400388 h 22.29688 V 74.726562 Z m 39.50196,0 v 29.400388 h 22.29687 V 74.726562 Z m 39.49609,0 v 29.400388 h 22.30078 V 74.726562 Z m 39.50195,0 v 29.400388 h 22.30079 V 74.726562 Z m 39.50196,0 v 29.400388 h 22.30078 V 74.726562 Z m 39.50195,0 v 29.400388 h 22.29492 V 74.726562 Z m 39.50195,0 v 29.400388 h 22.29493 V 74.726562 Z m 38.86719,0 V 104.12695 H 430.4668 V 74.726562 Z M 111.44727,114.91602 v 270.20703 h 0.6289 278.95703 0.62305 V 114.91602 Z m -38.455082,0.0293 v 271.64063 h 0.02734 15.16211 0.0293 V 114.94531 Z m 341.943362,0 v 271.64063 h 0.0293 15.16211 0.0273 V 114.94531 Z m -163.38282,39.08985 c 52.95811,0 95.99219,43.03408 95.99219,95.99218 0,52.95821 -43.03408,95.97852 -95.99219,95.97852 -52.95801,0 -95.99218,-43.02031 -95.99218,-95.97852 0,-52.9581 43.03417,-95.99218 95.99218,-95.99218 z m 0,9.51172 c -47.81977,0 -86.48623,38.66088 -86.48632,86.48046 0,47.81997 38.66655,86.47266 86.48632,86.47266 47.81997,0 86.48633,-38.65269 86.48633,-86.47266 0,-47.81958 -38.66636,-86.48046 -86.48633,-86.48046 z M 224.25,207.16602 299.7207,251.3457 224.25,294.91406 Z M 72.740234,397.88672 v 27.84375 h 14.337891 v -27.84375 z m 31.316406,0 v 27.84375 h 22.29688 v -27.84375 z m 39.50195,0 v 27.84375 h 22.29688 v -27.84375 z m 39.50196,0 v 27.84375 h 22.29687 v -27.84375 z m 39.50195,0 v 27.84375 h 22.29492 v -27.84375 z m 39.50195,0 v 27.84375 h 22.29493 v -27.84375 z m 39.50196,0 v 27.84375 h 22.29492 v -27.84375 z m 39.5,0 v 27.84375 h 22.29687 v -27.84375 z m 39.49804,0 v 27.84375 h 22.30078 v -27.84375 z m 38.86719,0 v 27.84375 h 10.41602 v -27.84375 z"
+ transform="matrix(0.10518012,0,0,0.10518012,444.77266,615.24408)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/ui/spinbutton.css b/share/ui/spinbutton.css
new file mode 100644
index 0000000..c87aa5e
--- /dev/null
+++ b/share/ui/spinbutton.css
@@ -0,0 +1,11 @@
+/* those styles make spin buttons narrow; if enabled in preferences they are applied to all themes */
+
+spinbutton > button {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+spinbutton > entry {
+ padding-left: 0.5em;
+ padding-right: 0;
+} \ No newline at end of file
diff --git a/share/ui/style.css b/share/ui/style.css
new file mode 100644
index 0000000..fc6e1db
--- /dev/null
+++ b/share/ui/style.css
@@ -0,0 +1,737 @@
+/* GTK3 WIDGET STYLING */
+
+
+/*
+ * Keep in order of:
+ * General -> Specific
+ * Order of appearance in widget tree.
+ * See GtkInspector
+ * GTK_DEBUG=interactive ~/path_to_gtk3/bin/inkscape
+ *
+ * We need a standardized naming scheme.
+ *
+ * As of Gtk 3.20, you cannot use widget names.
+ */
+
+
+/* Standard theme based colors. Prefer these.
+ *
+ * @theme_bg_color
+ * @theme_fg_color
+ * @theme_base_color
+ * @theme_text_color
+ * @theme_selected_bg_color
+ * @theme_selected_fg_color
+ * @theme_tooltip_bg_color
+ * @theme_tooltip_fg_color
+ *
+ */
+
+
+/* Our own custom shades... better not to use.
+ * Lightest to darkest based on linear rgb.
+ */
+
+@define-color bg_color0 #ffffff;
+
+/* White */
+
+@define-color bg_color05 #f8f8f8;
+
+/* Slightly off white */
+
+@define-color bg_color1 #f0f0f0;
+@define-color bg_color2 #e0e0e0;
+@define-color bg_color3 #d0d0d0;
+@define-color bg_color4 #bbbbbb;
+
+/* 50% Gray */
+
+@define-color bg_color5 #a5a5a5;
+@define-color bg_color6 #898989;
+@define-color bg_color7 #636363;
+@define-color bg_color8 #000000;
+
+/* Black */
+
+@import url("highlight-colors.css");
+
+/* Inkscape CSS helper
+ * to add a class to a widget do some thing like
+ * widget->get_style_context()->add_class("mycoolclass");
+ * we define a bunch of helper CSS styles
+ * Each Inkscape desktop has some classes in top level window
+ * called "dark|bright" (syncked with dark or brighrt themes) and "symbolic|regular" (defined by the user in themes preferences)
+ * so you can style using this clases
+ * by this way you can always know if the UI is in dark mode or using symbolic icons
+ * Also added some helper clases:
+ * ".inverted" invert colors fon widhet and childs
+ * ".highlight-dark" highlights with red tint
+ * ".highlight-light" highlights with yellow tint
+ * ".symbolic" Force icon symbolic
+ * ".regular" Force colorful icons
+ * " .forcebright Force darlk even if the towp wingow has clas dark (happends when theme is dark)
+ * " .forcedark" Force darlk even if the towp wingow has clas bright
+ * :::::::: Combo box.
+ * "..combobright" Combo bright
+ */
+
+*{
+ font-feature-settings: "tnum=1";
+}
+
+*:disabled image {
+ opacity: 0.4;
+}
+
+.symbolic image {
+ -gtk-icon-style: symbolic;
+}
+
+.regular image {
+ -gtk-icon-style: regular;
+}
+
+.regular .symbolic image {
+ -gtk-icon-style: symbolic;
+}
+
+.titlebutton > image {
+ -gtk-icon-style: requested;
+}
+
+.inverted,
+.dark .forcebright,
+.bright .forcedark {
+ color: @theme_bg_color;
+ background-color: @theme_fg_color;
+ background-image: image(@theme_fg_color);
+ caret-color: @theme_bg_color;
+ -gtk-secondary-caret-color: @theme_fg_color;
+}
+
+.highlight {
+ color: @theme_fg_color;
+ background-color: alpha(@theme_selected_bg_color,0.5);
+ background-image: image(alpha(@theme_selected_bg_color,0.5));
+ caret-color: @theme_bg_color;
+ border-radius:4px;
+ -gtk-secondary-caret-color: @theme_fg_color;
+}
+
+.noborder{
+ border-width:0;
+}
+
+/* blinking animation for dialogs */
+@keyframes blink_border {
+ from { border-color: @theme_selected_fg_color; }
+ to { border-color: @theme_selected_bg_color; }
+}
+@keyframes blink_background {
+ from { background-color: @theme_bg_color; }
+ to { background-color: @theme_selected_bg_color; }
+}
+notebook.blink {
+ animation: blink_border 333ms ease-in-out infinite;
+}
+notebook.blink > header > tabs > tab:checked {
+ animation: blink_background 333ms ease-in-out infinite;
+}
+
+
+.inverted :not(menuitem):not(.rawstyle):not(overshoot):not(undershoot):not(selection),
+.bright .forcedark :not(menuitem):not(.rawstyle):not(overshoot):not(undershoot):not(selection),
+.dark .forcebright :not(menuitem):not(.rawstyle):not(overshoot):not(undershoot):not(selection) {
+ color: inherit;
+ background-color: inherit;
+ background-image: inherit;
+}
+
+.dark .combobright .combo,
+.dark .combobright menu{
+ background-color: @theme_text_color;
+ background-image: linear-gradient(to top, @theme_text_color, @theme_fd_color);
+ caret-color: @theme_base_color;
+ -gtk-secondary-caret-color: @theme_base_color;
+}
+.dark .combobright box *{
+ color: @theme_base_color;
+}
+.dark .combobright .combo *,
+.dark .combobright menu *{
+ color: inherit;
+}
+
+/* attribute dialog popup size */
+.attrpop textview {
+ font-size: 13px;
+}
+
+/*
+*to get system default colors
+* with Gdk::RGBA success =_symbolic_error_color.get_stseparatole_context()->get_color();
+* _symbolic_error_color has one of this classes applied
+*/
+
+.system_base_color {
+ color: @theme_fg_color;
+ background-color: @theme_bg_color;
+}
+
+.system_error_color {
+ color: @error_color;
+}
+
+.system_warning_color {
+ color: @warning_color;
+}
+
+.system_success_color {
+ color: @success_color;
+}
+
+iconview *:hover {
+ border-width: 1px;
+ border-color: @theme_fg_color;
+ border-style: solid;
+ border-radius: 4px;
+}
+
+.dark iconview *:hover {
+ border-color: @theme_bg_color;
+}
+
+#startscreennotebook iconview *:hover{
+ background-color:@theme_selected_bg_color;
+ border-radius:5px;
+ border-width:0;
+}
+
+#start-screen-window .combo {
+ padding:15px 20px;
+}
+#start-screen-window notebook > *:nth-child(2) label{
+ font-size:12px;
+}
+
+.inksmall {
+ font-size: 11px;
+}
+
+.menu-category {
+ font-size: small;
+ font-weight: bold;
+}
+
+.small-heading {
+ font-size: small;
+ font-weight: bold;
+ opacity: 0.5;
+}
+
+.halfrem-vert-space {
+ margin-top: 0.5rem;
+}
+
+#CommandPaletteBase {
+ background-color: @theme_base_color; /* some themes don't seem to have a background color for list rows defined and would end up transparent otherwise */
+ border: 5px solid @theme_bg_color;
+ border-radius: 5px;
+}
+
+#CommandPaletteBase list row:not(:last-child) {
+ border-bottom: 1px solid @bg_color5;
+}
+
+/* LPE Dialog add */
+#LPESelectorFlowBox GtkFlowBoxChild,
+#LPESelectorFlowBox flowboxchild {
+ border-width: 0px;
+ border-radius: 6px;
+ margin: 10px;
+ padding: 10px;
+ margin-bottom: 0px;
+ padding-bottom: 10px;
+ outline: none;
+}
+
+#LPESelectorFlowBox flowboxchild * {
+ color: @theme_fg_color;
+}
+
+#LPESelectorFlowBox flowboxchild image,
+#LPESelectorFlowBox flowboxchild label {
+ background-color: transparent;
+ background-image: image(transparent);
+}
+
+#LPESelectorFlowBox flowboxchild:selected image,
+#LPESelectorFlowBox flowboxchild:selected label {
+ color: @theme_selected_fg_color;
+}
+
+#LPESelectorFlowBox *:selected #LPESelectorEffectFavTop,
+#LPESelectorFlowBox *:selected:focus #LPESelectorEffectFavTop {
+ opacity: 0;
+}
+
+#LPESelectorFlowBox .lpename {
+ font-size: 16px;
+ margin-bottom: 5px;
+}
+
+#LPESelectorFlowBox .lpeinfo {
+ font-size: 16px;
+ padding: 20px;
+}
+
+#LPESelectorFlowBox .lpedisabled {
+ opacity: 0.3;
+}
+
+#LPESelectorEffectInfoPop {
+ padding: 15px;
+}
+
+#LPESelectorEffectInfoName {
+ font-weight: bold;
+ padding: 15px;
+}
+
+#LPEDialogSelector .lpeinfo {
+ padding: 8px;
+ background-color: @theme_bg_color;
+ color: @theme_selected_fg_color;
+ border-color: @theme_selected_bg_color;
+ border-style: solid;
+ margin: 0px 0px 10px 0px;
+ border-radius: 0px;
+ border-width: 0 0 1px 0;
+ padding:5px;
+}
+
+#LPESelectorFlowBox image{
+ background-color:@theme_bg_color;
+ border-color:transparent;
+}
+
+#LPEExperimental image {
+ color: transparent;
+}
+
+#LPEDialogSelector .searchbar entry image,
+#LPEDialogSelector .searchbar label,
+#LPEDialogSelector .searchbar #LPESelectorEffectFavShowImage {
+ color: @theme_fg_color;
+}
+
+#LPEDialogSelector.LPEPackMore flowboxchild {
+margin:5px 1px 0px;
+padding:3px 3px 10px 3px;
+}
+
+#LPEDialogSelector.LPEPackMore flowboxchild label {
+font-size:14px;
+}
+
+#LPEDialogSelector.LPEPackMore #LPESelectorEffectInfoPop label{
+font-size:13px;
+}
+
+#LPEDialogSelector.LPEList .lpename {
+ margin-bottom: 1px;
+ font-weight:bold;
+}
+
+#LPEDialogSelector.LPEList flowboxchild {
+ padding:3px 1px 3px 10px;
+ margin:1px 0px 1px;
+ border-radius:0;
+ border-style:dotted;
+ border-color:@theme_fg_color;
+ border-width: 0 0 1px 0;
+}
+
+#LPEDialogSelector.LPEList flowboxchild:selected {
+ border-style:none;
+ margin:-3px 0px 0px;
+ padding:4px 1px 4px 10px;
+}
+
+#LPEDialogSelector.LPEList #LPESelectorFlowBox *:selected #LPESelectorEffectFavTop,
+#LPEDialogSelector.LPEList #LPESelectorFlowBox *:selected:focus #LPESelectorEffectFavTop {
+ opacity: 1;
+}
+
+/* Selector and XML dialog */
+#SelectorsAndStyleDialog button {
+ padding: 4px;
+ min-height: 16px;
+ margin: 2px;
+ padding: 2px;
+}
+
+#XMLAndAttributesDialog .toggle,
+#SelectorsAndStyleDialog .toggle {
+ min-width: 18px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+#XMLAndAttributesDialog .radio.image-button,
+#SelectorsAndStyleDialog .radio.image-button {
+ margin: 0;
+ padding: 0px;
+ border-radius: 2px 0 0 2px;
+}
+
+#XMLAndAttributesDialog .radio.image-button:last-child,
+#SelectorsAndStyleDialog .radio.image-button:last-child {
+ border-radius: 0 2px 2px 0;
+ border-left-width: 0;
+}
+
+#SelectorsAndStyleDialog treeview button {
+ border-width: 0;
+ margin: 0 0 1px 0;
+}
+
+#SelectorsAndStyleDialog treeview button:nth-child(3),
+#SelectorsAndStyleDialog treeview.style_sheet button:nth-child(4) {
+ border-width: 0 0 0 2px;
+ border-color: @theme_fg_color;
+ border-style: solid;
+ opacity: 0.5;
+}
+
+#SelectorsAndStyleDialog treeview.style_sheet button:nth-child(3) {
+ border-width: 0;
+}
+
+#SelectorsAndStyleDialog #StyleDialog treeview button *{
+ font-size:5px;
+ min-height:1px;
+ padding:0;
+ margin:0;
+}
+
+#SelectorsAndStyleDialog #StyleDialog treeview button {
+ padding:0;
+ min-height:1px;
+ border-left-width:4px;
+ border-color:@success_color;
+}
+
+#InkRuler {
+ /* make size relative */
+ font-size: smaller;
+ opacity: 0.6;
+}
+
+/* The actual canvas (Inkscape's drawing area). */
+SPCanvas {
+ background-color: white;
+}
+
+#TextFontFamilyAction_combobox {
+ -GtkComboBox-appears-as-list: true;
+}
+
+#LockGuides,
+#StickyZoom,
+#CMS_Adjust {
+ padding: 0;
+}
+
+/* Keep palette scrollbar from generating warnings. */
+#PreviewHolderScroller .vertical slider {
+ min-height: 15px;
+}
+
+/* Override minimum size of container children for palette. */
+#ColorItemPreview {
+ min-height: 5px;
+ min-width: 5px;
+}
+
+/* Reduce width of Fill and Stroke dialog */
+#ColorModeButton {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+/* InkSpinScale */
+#InkSpinScale {
+ background: @theme_bg_color;
+ padding: 0px;
+ margin: 2px 4px;
+}
+
+#InkSpinScale trough,
+#InkSpinScale slider,
+#InkSpinScale highlight {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+/* Hide slider */
+#InkSpinScale slider {
+ background: none;
+ border: none;
+ outline: none;
+ min-width: 0px;
+ min-height: 0px;
+ padding: 0px;
+ margin: 0px;
+}
+
+#InkSpinScale scale {
+ padding: 0px;
+ margin:0;
+}
+
+#InkSpinScale trough {
+ min-height: 26px;
+ padding: 2px; /* some themes have humongous scale margins; rein in */
+}
+
+#InkSpinScale box.active {
+ box-shadow: 0 0 0 1px rgb(74, 144, 217);
+}
+
+#InkSpinScale spinbutton {
+ box-shadow: none;
+ min-height: 10px;
+ border-left:0;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+#InkSpinScale spinbutton entry {
+ min-height: 30px;
+ outline-style: none;
+}
+
+#UnicodeIconView {
+ font-size: 16px;
+}
+
+/* GtkTreeView: clarify drop locations (especially important for XML editor) */
+treeview.view:drop(active) {
+ border-style: solid;
+ border-width: 2px;
+}
+
+treeview.view:drop(active).after {
+ border-style: none none solid none;
+}
+
+treeview.view:drop(active).before {
+ border-style: solid none none none;
+}
+
+treeview.view:drop(active).after,
+treeview.view:drop(active).before {
+ border-width: 4px;
+ border-radius: 10px;
+}
+
+button.close-button{
+ background-image: none;
+ padding: 0px;
+ min-height: 1px;
+ min-width: 1px;
+ border: none;
+ opacity: 0.5;
+ box-shadow: none;
+}
+
+button.close-button:hover{
+ box-shadow: none;
+ opacity: 1;
+}
+
+/*
+ * Inkscape start dialog styles
+ */
+button.primary {
+ background-image: linear-gradient(to bottom, rgba(22, 169, 249, 1), rgba(2, 135, 204, 1));
+ box-shadow: 0 1px rgba(255, 255, 255, 0.3) inset;
+ text-shadow: none;
+}
+button.primary:hover {
+ background-image: linear-gradient(to bottom, rgba(32, 179, 255, 1), rgba(12, 145, 214, 1));
+}
+button.primary:active {
+ background-image: linear-gradient(to top, rgba(12, 149, 219, 1), rgba(0, 115, 184, 1));
+}
+button.primary label {
+ color: white;
+}
+button.link:hover image {
+ -gtk-icon-effect: dim;
+}
+
+.marker-item.box {
+ padding: 4px;
+}
+.marker-separator {
+ padding: 0;
+}
+
+.tight-button {
+ padding: 5px 3px;
+}
+
+.link-edit-button {
+ padding: 5px 3px;
+ min-width: 0.5em;
+}
+
+/* In some themes stack switcher buttons are extra wide forcing dialogs too wide */
+stackswitcher button {
+ padding-left: 1px;
+ padding-right: 1px;
+ min-width: 40px;
+}
+
+/*removes dashed line (scrolling indicator) on color palette for all themes */
+.color-palette-main-box scrolledwindow undershoot.top,
+.color-palette-main-box scrolledwindow undershoot.right,
+.color-palette-main-box scrolledwindow undershoot.bottom,
+.color-palette-main-box scrolledwindow undershoot.left {
+ background-image: none;
+}
+
+.backgnd-passive {
+ background-color: @theme_bg_color;
+ opacity: 0.5;
+ transition: background-color 300ms linear;
+}
+
+@keyframes pulse {
+ 0% {
+ opacity: 0.3;
+ }
+ 50% {
+ opacity: 0.9;
+ }
+ 100% {
+ opacity: 0.3;
+ }
+}
+
+.backgnd-active {
+ animation-name: pulse;
+ background-color: @theme_selected_bg_color;
+ animation-duration: 1s;
+ animation-timing-function: ease;
+ animation-iteration-count: infinite;
+}
+
+.nb-highlight > header.top {
+ background-color: @theme_selected_bg_color;
+}
+
+.tight-flowbox flowboxchild {
+ margin: 0;
+ padding: 0px;
+}
+.tight-flowbox button {
+ margin: 0;
+ padding: 4px;
+}
+
+/* add .small-marks class to Gtk::Scale to have smaller font used, since markup didn't work there */
+scale.small-marks.marks-after {
+ font-size: small;
+}
+
+/* Square toolbar buttons: request square buttons for all toolbars. */
+button.square-button {
+ padding: 3px;
+}
+
+button.square-button image {
+ padding: 0;
+ min-width: 16px;
+ min-height: 16px;
+}
+
+/* Give layer selector button label a highlight color */
+#LayerSelector label
+{
+ padding-left: 6px;
+ border-left: 3px solid white;
+}
+
+#StyleSwatch label {
+ font-size: small;
+}
+
+#DocumentProperties #NotebookPage {
+ margin-left: 4px;
+ margin-right: 4px;
+}
+
+/* heading label in dialogs */
+.heading {
+ font-weight: bold;
+ font-size: 1.1em; /* make it optically comparable with non-bold */
+ margin-top: 0.5em;
+}
+/* topmost heading in dialogs */
+.heading.top {
+ margin-top: 0.2em;
+}
+
+/* single-level indentation for labels in a dialog */
+.indent {
+ margin-left: 1em;
+}
+
+.small-font {
+ font-size: small;
+}
+
+.toolbar-separator {
+ margin: 7px 3px;
+}
+
+/* for dialogs with "Apply" button (or equivalent) - larger hit target */
+.wide-apply-button {
+ min-width: 150px;
+}
+
+#DockedDialogNotebook {
+ border: none;
+}
+
+#DialogMenuButton {
+ padding: 3px;
+ border: none;
+ opacity: 0.5;
+}
+
+#DialogMenuButton:hover {
+ opacity: 1;
+}
+
+#DesktopStatusBar {
+ margin-right: 1em;
+}
+/*
+ * Inkscape Export Dialog
+ */
+#ExportDialog #export_selection{
+ border-radius: 0px;
+}
+#ExportDialog #export_preview_single {
+ border: 1px solid;
+}
+#ExportDialog #export_preview_batch {
+ border: 1px solid;
+}
diff --git a/share/ui/toolbar-commands.ui b/share/ui/toolbar-commands.ui
new file mode 100644
index 0000000..ab71615
--- /dev/null
+++ b/share/ui/toolbar-commands.ui
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<interface>
+ <requires lib="gtk+" version="3.22"/>
+
+ <!-- Commands Toolbar -->
+
+ <object class="GtkToolbar" id="commands-toolbar">
+ <property name="visible">True</property>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.document-new</property>
+ <property name="icon_name">document-new</property>
+ <property name="label" translatable="true">_New</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.document-open</property>
+ <property name="icon_name">document-open</property>
+ <property name="label" translatable="true">_Open...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.document-save</property>
+ <property name="icon_name">document-save</property>
+ <property name="label" translatable="true">_Save</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.document-print</property>
+ <property name="icon_name">document-print</property>
+ <property name="label" translatable="true">_Print...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.document-import</property>
+ <property name="icon_name">document-import</property>
+ <property name="label" translatable="true">_Import...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'Export'</property>
+ <property name="icon_name">document-export</property>
+ <property name="label" translatable="true">_Export...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">doc.undo</property>
+ <property name="icon_name">edit-undo</property>
+ <property name="label" translatable="true">_Undo</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">doc.redo</property>
+ <property name="icon_name">edit-redo</property>
+ <property name="label" translatable="true">_Redo</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">app.copy</property>
+ <property name="icon_name">edit-copy</property>
+ <property name="label" translatable="true">_Copy</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">app.cut</property>
+ <property name="icon_name">edit-cut</property>
+ <property name="label" translatable="true">Cu_t</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.paste</property>
+ <property name="icon_name">edit-paste</property>
+ <property name="label" translatable="true">_Paste</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-selection</property>
+ <property name="icon_name">zoom-fit-selection</property>
+ <property name="label" translatable="true">Zoom _Selection</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-drawing</property>
+ <property name="icon_name">zoom-fit-drawing</property>
+ <property name="label" translatable="true">Zoom _Drawing</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-page</property>
+ <property name="icon_name">zoom-fit-page</property>
+ <property name="label" translatable="true">Zoom _Page</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-center-page</property>
+ <property name="icon_name">zoom-center-page</property>
+ <property name="label" translatable="true">Zoom _Center Page</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">app.duplicate</property>
+ <property name="icon_name">edit-duplicate</property>
+ <property name="label" translatable="true">Duplic_ate</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">app.clone</property>
+ <property name="icon_name">edit-clone</property>
+ <property name="label" translatable="true">Create Clo_ne</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">app.clone-unlink</property>
+ <property name="icon_name">edit-clone-unlink</property>
+ <property name="label" translatable="true">Unlin_k Clone</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">app.selection-group</property>
+ <property name="icon_name">object-group</property>
+ <property name="label" translatable="true">_Group</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">app.selection-ungroup</property>
+ <property name="icon_name">object-ungroup</property>
+ <property name="label" translatable="true">_Ungroup</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'FillStroke'</property>
+ <property name="icon_name">dialog-fill-and-stroke</property>
+ <property name="label" translatable="true">_Fill and Stroke...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'Text'</property>
+ <property name="icon_name">dialog-text-and-font</property>
+ <property name="label" translatable="true">_Text and Font...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'Objects'</property>
+ <property name="icon_name">dialog-objects</property>
+ <property name="label" translatable="true">Layers and Objects...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'XMLEditor'</property>
+ <property name="icon_name">dialog-xml-editor</property>
+ <property name="label" translatable="true">_XML Editor...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'Selectors'</property>
+ <property name="icon_name">dialog-selectors</property>
+ <property name="label" translatable="true">_Selectors and CSS...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'AlignDistribute'</property>
+ <property name="icon_name">dialog-align-and-distribute</property>
+ <property name="label" translatable="true">_Align and Distribute...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'DocumentProperties'</property>
+ <property name="icon_name">document-properties</property>
+ <property name="label" translatable="true">_Document Properties...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.dialog-open</property>
+ <property name='action-target'>'Preferences'</property>
+ <property name="icon_name">preferences-system</property>
+ <property name="label" translatable="true">P_references...</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+
+ </object>
+</interface>
diff --git a/share/ui/toolbar-page.ui b/share/ui/toolbar-page.ui
new file mode 100644
index 0000000..c600a8b
--- /dev/null
+++ b/share/ui/toolbar-page.ui
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.2 -->
+<interface>
+ <requires lib="gtk+" version="3.22"/>
+ <object class="GtkToolbar" id="page-toolbar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkToolButton" id="page_new">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="action_name">doc.page-new</property>
+ <property name="label" translatable="yes">New Page</property>
+ <property name="icon_name">pages-add</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="page_sizes_container">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkComboBoxText" id="page_sizes">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="active">0</property>
+ <property name="has_entry">True</property>
+ <property name="active_id">-1</property>
+ <items>
+ <item id="-1" translatable="yes">Custom</item>
+ </items>
+ <child internal-child="entry">
+ <object class="GtkEntry">
+ <property name="can_focus">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id="page_fit">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="action_name">app.page-fit-to-selection</property>
+ <property name="label" translatable="yes">Fit Page to Selection</property>
+ <property name="icon_name">pages-resize</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id="page_backward">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="action_name">doc.page-move-backward</property>
+ <property name="label" translatable="yes">Move Before Previous</property>
+ <property name="icon_name">pages-order-backwards</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="page_pos_container">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="page_pos">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <!--TRANSLATORS: This is a fixed value meaning a single page document-->
+ <property name="label" translatable="yes">1/-</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id="page_foreward">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="action_name">doc.page-move-forward</property>
+ <property name="label" translatable="yes">Move After Next</property>
+ <property name="icon_name">pages-order-forwards</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="page_label_container">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="page_label">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="placeholder_text" translatable="yes">Page Label</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id="page_delete">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="action_name">doc.page-delete</property>
+ <property name="label" translatable="yes">New Page</property>
+ <property name="icon_name">pages-remove</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparatorToolItem" id="sep1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleToolButton" id="page_move_objects">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="action_name">doc.page-move-objects</property>
+ <property name="label" translatable="yes">Move Objects</property>
+ <property name="use_underline">True</property>
+ <property name="icon_name">pages-move-toggle</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/toolbar-select.ui b/share/ui/toolbar-select.ui
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/share/ui/toolbar-select.ui
diff --git a/share/ui/toolbar-snap.ui b/share/ui/toolbar-snap.ui
new file mode 100644
index 0000000..3703c09
--- /dev/null
+++ b/share/ui/toolbar-snap.ui
@@ -0,0 +1,1204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.22"/>
+ <object class="GtkPopover" id="advanced">
+ <property name="can-focus">False</property>
+ <child>
+ <!-- n-columns=3 n-rows=35 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="margin-start">8</property>
+ <property name="margin-end">16</property>
+ <property name="margin-top">8</property>
+ <property name="margin-bottom">8</property>
+ <child>
+ <object class="GtkCheckButton" id="snap-toggle">
+ <property name="label" translatable="yes">Enable snapping</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-global-toggle</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-bbox">
+ <property name="label" translatable="yes">Bounding boxes</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-bbox</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-bbox-edge">
+ <property name="label" translatable="yes">Edges</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-bbox-edge</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-bbox-corner">
+ <property name="label" translatable="yes">Corners</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-bbox-corner</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-bbox-midpoint">
+ <property name="label" translatable="yes">Edge midpoints</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-bbox-edge-midpoint</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-bbox-center">
+ <property name="label" translatable="yes">Centers</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-bbox-center</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-nodes">
+ <property name="label" translatable="yes">Nodes</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-node-category</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">9</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Paths</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-path</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Path intersections</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-path-intersection</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Cusp nodes</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-node-cusp</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Smooth nodes</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-node-smooth</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">13</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Line midpoints</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-line-midpoint</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">14</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Object midpoints</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-object-midpoint</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">19</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-other">
+ <property name="label" translatable="yes">Other points</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-others</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">18</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Object rotation centers</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-rotation-center</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">20</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Text baselines and anchors</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-text-baseline</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">21</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-grid">
+ <property name="label" translatable="yes">Grids</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-grid</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">29</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-guides">
+ <property name="label" translatable="yes">Guide lines</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-guide</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">30</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="snap-page-border">
+ <property name="label" translatable="yes">Page borders</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-page-border</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">31</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="align-sna">
+ <property name="label" translatable="yes">Alignment</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-alignment</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">25</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="align-snap-self">
+ <property name="label" translatable="yes">Nodes in same path</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-alignment-self</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">26</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLinkButton" id="simple-link">
+ <property name="label" translatable="yes">Reset to simple snapping mode</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="halign">end</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">33</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-bounding-box-edges</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-bounding-box-corners</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-bounding-box-midpoints</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-bounding-box-center</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-nodes-path</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-nodes-intersection</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-nodes-cusp</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-nodes-smooth</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">13</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-nodes-midpoint</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">14</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-nodes-center</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">19</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-nodes-rotation-center</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">20</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-text-baseline</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">21</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">grid-rectangular</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">29</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">guides</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">30</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">snap-page</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">31</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Masks</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-path-mask</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">22</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Clips</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-path-clip</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">23</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">path-mask-edit</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">22</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="icon-name">path-clip-edit</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">23</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Same distances</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-distribution</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">27</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">snap-alignment</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">25</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">snap-alignment-self</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">26</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">snap-distribution</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">27</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Perpendicular lines</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-line-perpendicular</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">15</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton">
+ <property name="label" translatable="yes">Tangential lines</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-line-tangential</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">16</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">snap-lines-perpendicular</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">15</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">snap-lines-tangential</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">16</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator" id="indent-space">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="opacity">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="can-focus">False</property>
+ <property name="opacity">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="opacity">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">8</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="opacity">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">17</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="opacity">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">24</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="opacity">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">28</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="opacity">0</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">32</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">snap-bounding-box-center</property>
+ </object>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">snap-nodes-cusp</property>
+ </object>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">align-horizontal-left-to-anchor-symbolic</property>
+ </object>
+ <object class="GtkPopover" id="simple">
+ <property name="can-focus">False</property>
+ <child>
+ <!-- n-columns=4 n-rows=9 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="margin-start">8</property>
+ <property name="margin-end">16</property>
+ <property name="margin-top">8</property>
+ <property name="margin-bottom">8</property>
+ <property name="row-spacing">4</property>
+ <property name="column-spacing">4</property>
+ <child>
+ <object class="GtkCheckButton" id="simple-snap-toggle">
+ <property name="label" translatable="yes">Enable snapping</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">start</property>
+ <property name="action-name">win.snap-global-toggle</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="simple-snap-bbox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">win.simple-snap-bbox</property>
+ <property name="image">image1</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Bounding boxes</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="simple-snap-nodes">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">win.simple-snap-nodes</property>
+ <property name="image">image2</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Nodes</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="align-snap">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="action-name">win.simple-snap-alignment</property>
+ <property name="image">image3</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="simple-align-snap">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Alignment</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label"> </property>
+ <attributes>
+ <attribute name="scale" value="0.5"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLinkButton" id="advanced-link">
+ <property name="label" translatable="yes">Advanced mode</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="halign">end</property>
+ <property name="relief">none</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label"> </property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <object class="GtkToolbar" id="snap-toolbar">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkToggleToolButton">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="action-name">win.snap-global-toggle</property>
+ <property name="icon-name">snap</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="tool-item-advanced">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <child>
+ <object class="GtkMenuButton" id="btn-advanced">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="direction">left</property>
+ <property name="popover">advanced</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="tool-item-simple">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="no-show-all">True</property>
+ <child>
+ <object class="GtkMenuButton" id="btn-simple">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="direction">left</property>
+ <property name="popover">simple</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">False</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/toolbar-tool-prefs.ui b/share/ui/toolbar-tool-prefs.ui
new file mode 100644
index 0000000..d071158
--- /dev/null
+++ b/share/ui/toolbar-tool-prefs.ui
@@ -0,0 +1,853 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.22"/>
+ <object class="GtkImage" id="icon-bucket">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">color-fill</property>
+ </object>
+ <object class="GtkImage" id="icon-calligraphic">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-calligraphic</property>
+ </object>
+ <object class="GtkImage" id="icon-connector">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-connector</property>
+ </object>
+ <object class="GtkImage" id="icon-dropper">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">color-picker</property>
+ </object>
+ <object class="GtkImage" id="icon-ellipse">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-ellipse</property>
+ </object>
+ <object class="GtkImage" id="icon-eraser">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-eraser</property>
+ </object>
+ <object class="GtkImage" id="icon-geometry">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-geometry</property>
+ </object>
+ <object class="GtkImage" id="icon-gradient">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">color-gradient</property>
+ </object>
+ <object class="GtkImage" id="icon-measure">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-measure</property>
+ </object>
+ <object class="GtkImage" id="icon-mesh-gradient">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">mesh-gradient</property>
+ </object>
+ <object class="GtkImage" id="icon-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-node-editor</property>
+ </object>
+ <object class="GtkImage" id="icon-pages">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-pages</property>
+ </object>
+ <object class="GtkImage" id="icon-pen">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-path</property>
+ </object>
+ <object class="GtkImage" id="icon-pencil">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-freehand</property>
+ </object>
+ <object class="GtkImage" id="icon-rect">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-rectangle</property>
+ </object>
+ <object class="GtkImage" id="icon-select">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-pointer</property>
+ </object>
+ <object class="GtkImage" id="icon-spiral">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-spiral</property>
+ </object>
+ <object class="GtkImage" id="icon-spray">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-spray</property>
+ </object>
+ <object class="GtkImage" id="icon-star">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-polygon-star</property>
+ </object>
+ <object class="GtkImage" id="icon-threedee">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-cuboid</property>
+ </object>
+ <object class="GtkImage" id="icon-tweak">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-tweak</property>
+ </object>
+ <object class="GtkImage" id="icon-zoom">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">zoom</property>
+ </object>
+ <object class="GtkImage" id="image-text-tool">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-text</property>
+ </object>
+ <object class="GtkBox" id="tool-toolbar-prefs">
+ <property name="name">tool-toolbar</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">1</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">SELECTING</property>
+ <style>
+ <class name="small-heading"/>
+ <class name="halfrem-vert-space"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="homogeneous">True</property>
+ <property name="column-spacing">3</property>
+ <property name="max-children-per-line">10</property>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Select'</property>
+ <property name="image">icon-select</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Node'</property>
+ <property name="image">icon-node</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">SHAPES</property>
+ <style>
+ <class name="small-heading"/>
+ <class name="halfrem-vert-space"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="homogeneous">True</property>
+ <property name="column-spacing">3</property>
+ <property name="max-children-per-line">10</property>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Rect'</property>
+ <property name="image">icon-rect</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Arc'</property>
+ <property name="image">icon-ellipse</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Star'</property>
+ <property name="image">icon-star</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'3DBox'</property>
+ <property name="image">icon-threedee</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Spiral'</property>
+ <property name="image">icon-spiral</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">CREATING NEW</property>
+ <style>
+ <class name="small-heading"/>
+ <class name="halfrem-vert-space"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="homogeneous">True</property>
+ <property name="column-spacing">3</property>
+ <property name="max-children-per-line">10</property>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Pen'</property>
+ <property name="image">icon-pen</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Pencil'</property>
+ <property name="image">icon-pencil</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Calligraphic'</property>
+ <property name="image">icon-calligraphic</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Text'</property>
+ <property name="image">image-text-tool</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">COLORS AND STYLES</property>
+ <style>
+ <class name="small-heading"/>
+ <class name="halfrem-vert-space"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="homogeneous">True</property>
+ <property name="column-spacing">3</property>
+ <property name="max-children-per-line">10</property>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Gradient'</property>
+ <property name="image">icon-gradient</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Mesh'</property>
+ <property name="image">icon-mesh-gradient</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Dropper'</property>
+ <property name="image">icon-dropper</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'PaintBucket'</property>
+ <property name="image">icon-bucket</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">OTHER</property>
+ <style>
+ <class name="small-heading"/>
+ <class name="halfrem-vert-space"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">8</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="homogeneous">True</property>
+ <property name="column-spacing">3</property>
+ <property name="max-children-per-line">10</property>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Tweak'</property>
+ <property name="image">icon-tweak</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Spray'</property>
+ <property name="image">icon-spray</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Eraser'</property>
+ <property name="image">icon-eraser</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Connector'</property>
+ <property name="image">icon-connector</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'LPETool'</property>
+ <property name="image">icon-geometry</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">9</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">CANVAS TOOLS</property>
+ <style>
+ <class name="small-heading"/>
+ <class name="halfrem-vert-space"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="homogeneous">True</property>
+ <property name="column-spacing">3</property>
+ <property name="max-children-per-line">10</property>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Measure'</property>
+ <property name="image">icon-measure</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Zoom'</property>
+ <property name="image">icon-zoom</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkToggleButton">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Pages'</property>
+ <property name="image">icon-pages</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">11</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/toolbar-tool.ui b/share/ui/toolbar-tool.ui
new file mode 100644
index 0000000..5d20aa9
--- /dev/null
+++ b/share/ui/toolbar-tool.ui
@@ -0,0 +1,860 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.38.2 -->
+<interface>
+ <requires lib="gtk+" version="3.22"/>
+ <object class="GtkImage" id="icon-select">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-pointer</property>
+ </object>
+ <object class="GtkImage" id="icon-calligraphic">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-calligraphic</property>
+ </object>
+ <object class="GtkImage" id="image-text-tool">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-text</property>
+ </object>
+ <object class="GtkImage" id="icon-gradient">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">color-gradient</property>
+ </object>
+ <object class="GtkImage" id="icon-mesh-gradient">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">mesh-gradient</property>
+ </object>
+ <object class="GtkImage" id="icon-dropper">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">color-picker</property>
+ </object>
+ <object class="GtkImage" id="icon-bucket">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">color-fill</property>
+ </object>
+ <object class="GtkImage" id="icon-tweak">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-tweak</property>
+ </object>
+ <object class="GtkImage" id="icon-spray">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-spray</property>
+ </object>
+ <object class="GtkImage" id="icon-eraser">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-eraser</property>
+ </object>
+ <object class="GtkImage" id="icon-connector">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-connector</property>
+ </object>
+ <object class="GtkImage" id="icon-node">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-node-editor</property>
+ </object>
+ <object class="GtkImage" id="icon-geometry">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-geometry</property>
+ </object>
+ <object class="GtkImage" id="icon-zoom">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">zoom</property>
+ </object>
+ <object class="GtkImage" id="icon-measure">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-measure</property>
+ </object>
+ <object class="GtkImage" id="icon-rect">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-rectangle</property>
+ </object>
+ <object class="GtkImage" id="icon-ellipse">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-ellipse</property>
+ </object>
+ <object class="GtkImage" id="icon-star">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-polygon-star</property>
+ </object>
+ <object class="GtkImage" id="icon-threedee">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-cuboid</property>
+ </object>
+ <object class="GtkImage" id="icon-spiral">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-spiral</property>
+ </object>
+ <object class="GtkImage" id="icon-pen">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-path</property>
+ </object>
+ <object class="GtkImage" id="icon-pencil">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">draw-freehand</property>
+ </object>
+ <object class="GtkImage" id="icon-pages">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="icon-name">tool-pages</property>
+ </object>
+ <object class="GtkScrolledWindow" id="tool-toolbar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="shadow_type">none</property>
+ <property name="hexpand">False</property>
+ <property name="vexpand">True</property>
+ <property name="hscrollbar-policy">never</property>
+ <property name="vscrollbar-policy">external</property>
+ <child>
+ <object class="GtkBox">
+ <property name="name">tool-toolbar</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="halign">start</property>
+ <property name="valign">fill</property>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="homogeneous">True</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="orientation">horizontal</property>
+ <property name="max_children_per_line">2</property>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Select'</property>
+ <property name="image">icon-select</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton" id="toolsradio">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Node'</property>
+ <property name="image">icon-node</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="homogeneous">True</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="orientation">horizontal</property>
+ <property name="max_children_per_line">5</property>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Rect'</property>
+ <property name="image">icon-rect</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Arc'</property>
+ <property name="image">icon-ellipse</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Star'</property>
+ <property name="image">icon-star</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'3DBox'</property>
+ <property name="image">icon-threedee</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Spiral'</property>
+ <property name="image">icon-spiral</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="homogeneous">True</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="orientation">horizontal</property>
+ <property name="max_children_per_line">6</property>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Pen'</property>
+ <property name="image">icon-pen</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Pencil'</property>
+ <property name="image">icon-pencil</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Calligraphic'</property>
+ <property name="image">icon-calligraphic</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Text'</property>
+ <property name="image">image-text-tool</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="homogeneous">True</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="orientation">horizontal</property>
+ <property name="max_children_per_line">5</property>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Gradient'</property>
+ <property name="image">icon-gradient</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Mesh'</property>
+ <property name="image">icon-mesh-gradient</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Dropper'</property>
+ <property name="image">icon-dropper</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'PaintBucket'</property>
+ <property name="image">icon-bucket</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="homogeneous">True</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="orientation">horizontal</property>
+ <property name="max_children_per_line">5</property>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Tweak'</property>
+ <property name="image">icon-tweak</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Spray'</property>
+ <property name="image">icon-spray</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Eraser'</property>
+ <property name="image">icon-eraser</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Connector'</property>
+ <property name="image">icon-connector</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <!--<child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'LPETool'</property>
+ <property name="image">icon-geometry</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>-->
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">8</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">9</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFlowBox">
+ <property name="homogeneous">True</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="orientation">horizontal</property>
+ <property name="max_children_per_line">5</property>
+ <style>
+ <class name="tight-flowbox"/>
+ </style>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Measure'</property>
+ <property name="image">icon-measure</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Zoom'</property>
+ <property name="image">icon-zoom</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFlowBoxChild">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <child>
+ <object class="GtkRadioButton">
+ <property name="group">toolsradio</property>
+ <property name="draw_indicator">False</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.tool-switch</property>
+ <property name="action-target">'Pages'</property>
+ <property name="image">icon-pages</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="square-button"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">10</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/share/ui/toolbar-zoom.ui b/share/ui/toolbar-zoom.ui
new file mode 100644
index 0000000..09c1a98
--- /dev/null
+++ b/share/ui/toolbar-zoom.ui
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<interface>
+ <requires lib="gtk+" version="3.22"/>
+
+ <!-- Zoom Toolbar -->
+
+ <object class="GtkToolbar" id="zoom-toolbar">
+ <property name="visible">True</property>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-in</property>
+ <property name="icon_name">zoom-in</property>
+ <property name="label" translatable="true">Zoom In</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-out</property>
+ <property name="icon_name">zoom-out</property>
+ <property name="label" translatable="true">Zoom Out</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-1-1</property>
+ <property name="icon_name">zoom-original</property>
+ <property name="label" translatable="true">Zoom 1-1</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-1-2</property>
+ <property name="icon_name">zoom-half-size</property>
+ <property name="label" translatable="true">Zoom 1-2</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-2-1</property>
+ <property name="icon_name">zoom-double-size</property>
+ <property name="label" translatable="true">Zoom 2-1</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-selection</property>
+ <property name="icon_name">zoom-fit-selection</property>
+ <property name="label" translatable="true">Zoom Selection</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-drawing</property>
+ <property name="icon_name">zoom-fit-drawing</property>
+ <property name="label" translatable="true">Zoom Drawing</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-page</property>
+ <property name="icon_name">zoom-fit-page</property>
+ <property name="label" translatable="true">Zoom Page</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-page-width</property>
+ <property name="icon_name">zoom-fit-width</property>
+ <property name="label" translatable="true">Zoom Page Width</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-center-page</property>
+ <property name="icon_name">zoom-center-page</property>
+ <property name="label" translatable="true">Center Page</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-prev</property>
+ <property name="icon_name">zoom-previous</property>
+ <property name="label" translatable="true">Zoom Previous</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="action_name">win.canvas-zoom-next</property>
+ <property name="icon_name">zoom-next</property>
+ <property name="label" translatable="true">Zoom Next</property>
+ </object>
+ </child>
+ </object>
+
+</interface>
diff --git a/share/ui/units.xml b/share/ui/units.xml
new file mode 100644
index 0000000..713a538
--- /dev/null
+++ b/share/ui/units.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<unitdefs>
+<unit type="DIMENSIONLESS" pri="y">
+ <name>%</name>
+ <plural>%</plural>
+ <abbr>%</abbr>
+ <factor>1.00</factor>
+ <description>Percentage</description>
+</unit>
+<unit type="LINEAR" pri="y">
+ <name>pixel</name>
+ <plural>pixels</plural>
+ <abbr>px</abbr>
+ <factor>1.00</factor>
+ <description>CSS Pixels (96/inch)</description>
+</unit>
+<unit type="LINEAR" pri="n">
+ <name>point</name>
+ <plural>points</plural>
+ <abbr>pt</abbr>
+ <factor>1.333333333333333</factor>
+ <description>PostScript points (72/inch)</description>
+</unit>
+<unit type="LINEAR" pri="n">
+ <name>pica</name>
+ <plural>picas</plural>
+ <abbr>pc</abbr>
+ <factor>16.0</factor>
+ <description>12 points</description>
+</unit>
+<unit type="LINEAR" pri="n">
+ <name>inch</name>
+ <plural>inches</plural>
+ <abbr>in</abbr>
+ <factor>96.0</factor>
+ <description>Inches (96 px/in)</description>
+</unit>
+<unit type="LINEAR" pri="n">
+ <name>millimeter</name>
+ <plural>millimeters</plural>
+ <abbr>mm</abbr>
+ <factor>3.779527559055119</factor>
+ <description>Millimeters (25.4 mm/in)</description>
+</unit>
+<unit type="LINEAR" pri="n">
+ <name>centimeter</name>
+ <plural>centimeters</plural>
+ <abbr>cm</abbr>
+ <factor>37.79527559055119</factor>
+ <description>Centimeters (10 mm/cm)</description>
+</unit>
+<unit type="RADIAL" pri="y">
+ <name>degree</name>
+ <plural>degrees</plural>
+ <abbr>°</abbr>
+ <factor>1.00</factor>
+ <description>Degrees</description>
+</unit>
+<unit type="RADIAL" pri="n">
+ <name>radian</name>
+ <plural>radians</plural>
+ <abbr>rad</abbr>
+ <factor>57.29577951308232</factor>
+ <description>Radians (180/pi deg/rad)</description>
+</unit>
+<unit type="RADIAL" pri="n">
+ <name>gradian</name>
+ <plural>gradians</plural>
+ <abbr>grad</abbr>
+ <factor>0.9</factor>
+ <description>Gradians (360/400 deg/grad)</description>
+</unit>
+<unit type="RADIAL" pri="n">
+ <name>turn</name>
+ <plural>turns</plural>
+ <abbr>turn</abbr>
+ <factor>360</factor>
+ <description>Turns (360 deg/turn)</description>
+</unit>
+<unit type="FONT_HEIGHT" pri="y">
+ <name>font-height</name>
+ <plural>font-heights</plural>
+ <abbr>em</abbr>
+ <factor>1.00</factor>
+ <description>Font height</description>
+</unit>
+<unit type="FONT_HEIGHT" pri="n">
+ <name>x-height</name>
+ <plural>x-heights</plural>
+ <abbr>ex</abbr>
+ <factor>0.50</factor>
+ <description>Height of letter 'x'</description>
+</unit>
+<unit type="FONT_HEIGHT" pri="n">
+ <name>half-em</name>
+ <plural>half-ems</plural>
+ <abbr>en</abbr>
+ <factor>0.50</factor>
+ <description>Half of font height</description>
+</unit>
+</unitdefs>
diff --git a/share/ui/win32.css b/share/ui/win32.css
new file mode 100644
index 0000000..a260e21
--- /dev/null
+++ b/share/ui/win32.css
@@ -0,0 +1,176 @@
+/* Appearance of switches */
+
+switch slider {
+ background-image: none;
+ background-color: @selected_bg_color;
+ border-radius: 3px;
+}
+
+switch image {
+ background-color: -gtk-win32-color(button, 10);
+ border-radius: 1px;
+}
+
+
+/* Menu appearance */
+
+menu separator {
+ border-bottom-width: 1px;
+ border-bottom-style: solid;
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+toolbar separator {
+ border-bottom-width: 1px;
+ border-bottom-style: solid;
+ margin: 2px;
+}
+
+menuitem arrow {
+ min-width: 10px;
+ min-height: 10px;
+}
+
+menuitem arrow.right {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
+}
+
+menuitem arrow.left {
+ -gtk-icon-source: -gtk-icontheme("pan-start-symbolic");
+}
+
+
+/* Add margin to images */
+
+widget>box>image,
+toolbar button image {
+ margin: 2px;
+}
+
+
+/* Style spinbuttons, GTK style (see discussion in https://gitlab.com/inkscape/inkscape/-/issues/762) */
+
+spinbutton {
+ background-image: none;
+}
+
+spinbutton button {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ background-size: 20px 100%;
+ border-width: 1px;
+ border-style: solid;
+ background-image: none;
+ color: black;
+ background-color: white;
+ border-color: shade(-gtk-win32-color(button, menu), 0.6);
+}
+
+spinbutton button.down {
+ margin-right: 15px;
+}
+
+spinbutton button:hover {
+ background-image: -gtk-win32-theme-part(button, 1, 2);
+ background-size: 200% 200%;
+ ;
+ background-position: center;
+ border-color: #add8e6;
+}
+
+spinbutton button:disabled {
+ background-color: blue;
+}
+
+spinbutton entry:not(:disabled) {
+ border: 1px solid shade(-gtk-win32-color(button, menu), 0.6);
+ background-color: white;
+}
+
+spinbutton entry:disabled,
+spinbutton button:disabled {
+ background-color: -gtk-win32-color(button, 4);
+}
+
+spinbutton entry:disabled {
+ border-width: 1px;
+ border-style: solid;
+}
+
+
+/* Fix height of sliders in F&S dialog */
+
+#InkSpinScale spinbutton {
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+
+
+/* Fix colors in LPE dialog */
+
+@define-color theme_fg_color black;
+#LPEDialogSelector separator {
+ border-color: black;
+ border-right: 1px solid;
+ margin: 2px;
+}
+
+
+/* Fix hidden palette */
+
+#InkscapePanel #PreviewHolderGrid {
+ padding-bottom: 20px;
+}
+
+
+/* Fix right button of horizontal scrollbar */
+
+scrollbar.horizontal:hover button.down:disabled {
+ background-image: -gtk-win32-theme-part(scrollbar, 1, 16);
+}
+
+scrollbar.horizontal:hover button.down:active {
+ background-image: -gtk-win32-theme-part(scrollbar, 1, 15);
+}
+
+
+/* Make room for the scroll bar of the dialog region*/
+
+#DockBox {
+ margin-right: 15px;
+}
+
+#InkSpinScale spinbutton {
+ margin-right: 5px;
+}
+
+/* Fix text contrast issues while hovering */
+
+treeview.view:selected {
+ color: #000;
+}
+
+treeview.view:selected:focus {
+ background-color: #a0d4fc;
+}
+
+/*fix context-menu decoration */
+
+.popup decoration {
+ all: unset;
+}
+
+/*add expander arrow*/
+
+expander arrow {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
+}
+
+expander arrow:dir(rtl) {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
+}
+
+expander arrow:checked {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+}