summaryrefslogtreecommitdiff
path: root/gtk/ui
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-11-30 14:50:05 -0500
committerMatthias Clasen <mclasen@redhat.com>2014-11-30 16:11:55 -0500
commite4335c62a1be4c76614a6db5223a1708879ea5ca (patch)
tree3307263b023e5cccf20114855a5a6bf59f34c611 /gtk/ui
parent94f412622e3171021305376bbd6201ef81c7d934 (diff)
downloadgtk+-e4335c62a1be4c76614a6db5223a1708879ea5ca.tar.gz
Drop the extra resources/ subdirectory
This subdirectory gets in the way when integrating the inspector build more fully with GTK+, and does not really add anything. Just move everything one level up.
Diffstat (limited to 'gtk/ui')
-rw-r--r--gtk/ui/gtkaboutdialog.ui309
-rw-r--r--gtk/ui/gtkaboutdialog.ui.h3
-rw-r--r--gtk/ui/gtkactionbar.ui31
-rw-r--r--gtk/ui/gtkactionbar.ui.h0
-rw-r--r--gtk/ui/gtkappchooserdialog.ui111
-rw-r--r--gtk/ui/gtkappchooserdialog.ui.h5
-rw-r--r--gtk/ui/gtkappchooserwidget.ui138
-rw-r--r--gtk/ui/gtkappchooserwidget.ui.h1
-rw-r--r--gtk/ui/gtkapplication-quartz.ui54
-rw-r--r--gtk/ui/gtkapplication-quartz.ui.h7
-rw-r--r--gtk/ui/gtkassistant.ui235
-rw-r--r--gtk/ui/gtkassistant.ui.h6
-rw-r--r--gtk/ui/gtkcolorchooserdialog.ui54
-rw-r--r--gtk/ui/gtkcolorchooserdialog.ui.h3
-rw-r--r--gtk/ui/gtkcoloreditor.ui360
-rw-r--r--gtk/ui/gtkcoloreditor.ui.h9
-rw-r--r--gtk/ui/gtkdialog.ui60
-rw-r--r--gtk/ui/gtkdialog.ui.h0
-rw-r--r--gtk/ui/gtkfilechooserbutton.ui122
-rw-r--r--gtk/ui/gtkfilechooserbutton.ui.h1
-rw-r--r--gtk/ui/gtkfilechooserdialog.ui56
-rw-r--r--gtk/ui/gtkfilechooserdialog.ui.h0
-rw-r--r--gtk/ui/gtkfilechooserwidget.ui343
-rw-r--r--gtk/ui/gtkfilechooserwidget.ui.h7
-rw-r--r--gtk/ui/gtkfontbutton.ui64
-rw-r--r--gtk/ui/gtkfontbutton.ui.h1
-rw-r--r--gtk/ui/gtkfontchooserdialog.ui51
-rw-r--r--gtk/ui/gtkfontchooserdialog.ui.h3
-rw-r--r--gtk/ui/gtkfontchooserwidget.ui191
-rw-r--r--gtk/ui/gtkfontchooserwidget.ui.h3
-rw-r--r--gtk/ui/gtkinfobar.ui82
-rw-r--r--gtk/ui/gtkinfobar.ui.h0
-rw-r--r--gtk/ui/gtklockbutton.ui64
-rw-r--r--gtk/ui/gtklockbutton.ui.h2
-rw-r--r--gtk/ui/gtkmessagedialog.ui91
-rw-r--r--gtk/ui/gtkmessagedialog.ui.h0
-rw-r--r--gtk/ui/gtkpagesetupunixdialog.ui368
-rw-r--r--gtk/ui/gtkpagesetupunixdialog.ui.h8
-rw-r--r--gtk/ui/gtkpathbar.ui54
-rw-r--r--gtk/ui/gtkpathbar.ui.h2
-rw-r--r--gtk/ui/gtkprintunixdialog.ui1717
-rw-r--r--gtk/ui/gtkprintunixdialog.ui.h94
-rw-r--r--gtk/ui/gtkrecentchooserdefault.ui103
-rw-r--r--gtk/ui/gtkrecentchooserdefault.ui.h1
-rw-r--r--gtk/ui/gtkscalebutton.ui113
-rw-r--r--gtk/ui/gtkscalebutton.ui.h0
-rw-r--r--gtk/ui/gtksearchbar.ui103
-rw-r--r--gtk/ui/gtksearchbar.ui.h0
-rw-r--r--gtk/ui/gtkstatusbar.ui55
-rw-r--r--gtk/ui/gtkstatusbar.ui.h0
-rw-r--r--gtk/ui/gtkvolumebutton.ui51
-rw-r--r--gtk/ui/gtkvolumebutton.ui.h6
52 files changed, 5142 insertions, 0 deletions
diff --git a/gtk/ui/gtkaboutdialog.ui b/gtk/ui/gtkaboutdialog.ui
new file mode 100644
index 0000000000..cc75d77b18
--- /dev/null
+++ b/gtk/ui/gtkaboutdialog.ui
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">help-about</property>
+ </object>
+ <template class="GtkAboutDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="resizable">False</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="headerbar">
+ <object class="GtkHeaderBar" id="headerbar1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show-close-button">True</property>
+ <child type="title">
+ <object class="GtkStackSwitcher" id="stack_switcher">
+ <property name="visible">False</property>
+ <property name="stack">stack</property>
+ <property name="no-show-all">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkBox" id="box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkImage" id="logo_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">image-missing</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="name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">name label</property>
+ <property name="justify">center</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="stack">
+ <property name="width_request">400</property>
+ <property name="height_request">100</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="homogeneous">True</property>
+ <property name="transition-type">over-up-down</property>
+ <property name="transition-duration">600</property>
+ <signal name="notify::visible-child" handler="stack_visible_child_notify" swapped="no"/>
+ <child>
+ <object class="GtkBox" id="page_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">8</property>
+ <child>
+ <object class="GtkLabel" id="version_label">
+ <property name="can_focus">False</property>
+ <property name="label">version 1.0</property>
+ <property name="justify">center</property>
+ <property name="selectable">True</property>
+ <property name="no-show-all">True</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="comments_label">
+ <property name="can_focus">False</property>
+ <property name="label">comments</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ <property name="no-show-all">True</property>
+ <property name="max-width-chars">60</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkLabel" id="website_label">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="label">http://website.com</property>
+ <property name="selectable">True</property>
+ <signal name="activate-link" handler="emit_activate_link" object="GtkAboutDialog" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</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="GtkLabel" id="license_label">
+ <property name="can_focus">False</property>
+ <property name="label">license</property>
+ <property name="use_markup">True</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ <property name="no_show_all">True</property>
+ <property name="max-width-chars">60</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="copyright_label">
+ <property name="can_focus">False</property>
+ <property name="label">copyright</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ <property name="no-show-all">True</property>
+ <property name="max-width-chars">60</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="name">main</property>
+ <property name="title" translatable="yes">About</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="credits_page">
+ <property name="visible">False</property>
+ <property name="no-show-all">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">8</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <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="GtkViewport" id="viewport1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <style>
+ <class name="view"/>
+ </style>
+ <child>
+ <object class="GtkGrid" id="credits_grid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="border_width">5</property>
+ <property name="orientation">vertical</property>
+ <property name="row_spacing">2</property>
+ <property name="column_spacing">8</property>
+ <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>
+ </object>
+ <packing>
+ <property name="name">credits</property>
+ <property name="title" translatable="yes">Credits</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="license_page">
+ <property name="visible">False</property>
+ <property name="no-show-all">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">8</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow2">
+ <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="GtkTextView" id="license_view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="left_margin">8</property>
+ <property name="right_margin">8</property>
+ <property name="cursor_visible">False</property>
+ <signal name="event-after" handler="text_view_event_after" swapped="no"/>
+ <signal name="key-press-event" handler="text_view_key_press_event" swapped="no"/>
+ <signal name="motion-notify-event" handler="text_view_motion_notify_event" swapped="no"/>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="name">license</property>
+ <property name="title" translatable="yes">License</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">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkaboutdialog.ui.h b/gtk/ui/gtkaboutdialog.ui.h
new file mode 100644
index 0000000000..80cd5b51b0
--- /dev/null
+++ b/gtk/ui/gtkaboutdialog.ui.h
@@ -0,0 +1,3 @@
+N_("About");
+N_("Credits");
+N_("License");
diff --git a/gtk/ui/gtkactionbar.ui b/gtk/ui/gtkactionbar.ui
new file mode 100644
index 0000000000..c2199a2d41
--- /dev/null
+++ b/gtk/ui/gtkactionbar.ui
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkActionBar" parent="GtkBin">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRevealer" id="revealer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkFrame" id="frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <style>
+ <class name="action-bar"/>
+ </style>
+ <child>
+ <object class="GtkBox" id="box">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="spacing">6</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkactionbar.ui.h b/gtk/ui/gtkactionbar.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtkactionbar.ui.h
diff --git a/gtk/ui/gtkappchooserdialog.ui b/gtk/ui/gtkappchooserdialog.ui
new file mode 100644
index 0000000000..bc7df6a932
--- /dev/null
+++ b/gtk/ui/gtkappchooserdialog.ui
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkAppChooserDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="title" translatable="yes">Select Application</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkSearchBar" id="search_bar">
+ <property name="visible">True</property>
+ <property name="border_width">0</property>
+ <child>
+ <object class="GtkSearchEntry" id="search_entry">
+ <property name="visible">True</property>
+ <property name="hexpand">True</property>
+ <property name="max-width-chars">40</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">start</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</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>
+ <child>
+ <object class="GtkBox" id="inner_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="label">label</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="action">
+ <object class="GtkButton" id="cancel_button">
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="label" translatable="yes">_Cancel</property>
+ </object>
+ </child>
+ <child type="action">
+ <object class="GtkButton" id="ok_button">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Select</property>
+ <property name="use_underline">True</property>
+ <property name="can_default">True</property>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="cancel">cancel_button</action-widget>
+ <action-widget response="ok" default="true">ok_button</action-widget>
+ </action-widgets>
+ </template>
+ <object class="GtkButton" id="show_more_button">
+ <property name="label" translatable="yes">_View All Applications</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="show_more_button_clicked_cb" swapped="no"/>
+ </object>
+ <object class="GtkButton" id="software_button">
+ <property name="label" translatable="yes">_Find New Applications</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="software_button_clicked_cb" swapped="no"/>
+ </object>
+</interface>
diff --git a/gtk/ui/gtkappchooserdialog.ui.h b/gtk/ui/gtkappchooserdialog.ui.h
new file mode 100644
index 0000000000..f542887e50
--- /dev/null
+++ b/gtk/ui/gtkappchooserdialog.ui.h
@@ -0,0 +1,5 @@
+N_("Select Application");
+N_("_Cancel");
+N_("_Select");
+N_("_View All Applications");
+N_("_Find New Applications");
diff --git a/gtk/ui/gtkappchooserwidget.ui b/gtk/ui/gtkappchooserwidget.ui
new file mode 100644
index 0000000000..4b236283f6
--- /dev/null
+++ b/gtk/ui/gtkappchooserwidget.ui
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <object class="GtkListStore" id="program_list_store">
+ <columns>
+ <!-- column-name app-info -->
+ <column type="GAppInfo"/>
+ <!-- column-name app-icon -->
+ <column type="GIcon"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name description -->
+ <column type="gchararray"/>
+ <!-- column-name exec -->
+ <column type="gchararray"/>
+ <!-- column-name default -->
+ <column type="gboolean"/>
+ <!-- column-name heading -->
+ <column type="gboolean"/>
+ <!-- column-name heading-text -->
+ <column type="gchararray"/>
+ <!-- column-name recommended -->
+ <column type="gboolean"/>
+ <!-- column-name fallback -->
+ <column type="gboolean"/>
+ </columns>
+ </object>
+ <object class="GtkTreeModelSort" id="program_list_sort">
+ <property name="model">program_list_store</property>
+ </object>
+ <template class="GtkAppChooserWidget" parent="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkOverlay" id="overlay">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolled_window">
+ <property name="width_request">400</property>
+ <property name="height_request">300</property>
+ <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="GtkTreeView" id="program_list">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="model">program_list_sort</property>
+ <property name="headers_visible">False</property>
+ <signal name="button-press-event" handler="widget_button_press_event_cb" swapped="no"/>
+ <signal name="row-activated" handler="program_list_selection_activated" swapped="no"/>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection2">
+ <property name="mode">browse</property>
+ <signal name="changed" handler="refresh_and_emit_app_selected" object="GtkAppChooserWidget" swapped="yes"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="column">
+ <child>
+ <object class="GtkCellRendererText" id="padding_renderer"/>
+ </child>
+ <child>
+ <object class="GtkCellRendererText" id="heading">
+ <property name="ypad">6</property>
+ <property name="wrap_mode">word</property>
+ <property name="wrap_width">350</property>
+ </object>
+ <attributes>
+ <attribute name="visible">6</attribute>
+ <attribute name="markup">7</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText" id="secondary_padding"/>
+ </child>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="app_icon"/>
+ <attributes>
+ <attribute name="gicon">1</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText" id="app_name">
+ <property name="ellipsize">end</property>
+ </object>
+ <attributes>
+ <attribute name="markup">3</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="overlay">
+ <object class="GtkBox" id="no_apps">
+ <property name="orientation">vertical</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">gnome-software-symbolic</property>
+ <property name="pixel-size">48</property>
+ <property name="margin">12</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="no_apps_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">No applications found.</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <attributes>
+ <attribute name="scale" value="1.2"/>
+ </attributes>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkappchooserwidget.ui.h b/gtk/ui/gtkappchooserwidget.ui.h
new file mode 100644
index 0000000000..35d9fd31f3
--- /dev/null
+++ b/gtk/ui/gtkappchooserwidget.ui.h
@@ -0,0 +1 @@
+N_("No applications found.");
diff --git a/gtk/ui/gtkapplication-quartz.ui b/gtk/ui/gtkapplication-quartz.ui
new file mode 100644
index 0000000000..efa969e205
--- /dev/null
+++ b/gtk/ui/gtkapplication-quartz.ui
@@ -0,0 +1,54 @@
+<interface>
+ <menu id='app-menu'>
+ <section>
+ <item>
+ <!-- used for the application menu on MacOS. %s is replaced with the application name. -->
+ <attribute name='label' translatable='yes'>About %s</attribute>
+ <attribute name='action'>app.about</attribute>
+ <attribute name='x-gtk-private-special'>replace-appname</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <!-- used for the application menu on MacOS -->
+ <attribute name='label' translatable='yes'>Preferences</attribute>
+ <attribute name='action'>app.preferences</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <!-- used for the application menu on MacOS -->
+ <attribute name='label' translatable='yes'>Services</attribute>
+ <attribute name='x-gtk-private-special'>services-submenu</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <!-- used for the application menu on MacOS. %s is replaced with the application name. -->
+ <attribute name='label' translatable='yes'>Hide %s</attribute>
+ <attribute name='x-gtk-private-special'>hide-this</attribute>
+ <attribute name='action'>gtkinternal.hide</attribute>
+ </item>
+ <item>
+ <!-- used for the application menu on MacOS -->
+ <attribute name='label' translatable='yes'>Hide Others</attribute>
+ <attribute name='x-gtk-private-special'>hide-others</attribute>
+ <attribute name='action'>gtkinternal.hide-others</attribute>
+ </item>
+ <item>
+ <!-- used for the application menu on MacOS -->
+ <attribute name='label' translatable='yes'>Show All</attribute>
+ <attribute name='x-gtk-private-special'>show-all</attribute>
+ <attribute name='action'>gtkinternal.show-all</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <!-- used for the application menu on MacOS. %s is replaced with the application name. -->
+ <attribute name='label' translatable='yes'>Quit %s</attribute>
+ <attribute name='action'>app.quit</attribute>
+ <attribute name='x-gtk-private-special'>replace-appname</attribute>
+ </item>
+ </section>
+ </menu>
+</interface>
diff --git a/gtk/ui/gtkapplication-quartz.ui.h b/gtk/ui/gtkapplication-quartz.ui.h
new file mode 100644
index 0000000000..cf175f1b48
--- /dev/null
+++ b/gtk/ui/gtkapplication-quartz.ui.h
@@ -0,0 +1,7 @@
+N_("About %s");
+N_("Preferences");
+N_("Services");
+N_("Hide %s");
+N_("Hide Others");
+N_("Show All");
+N_("Quit %s");
diff --git a/gtk/ui/gtkassistant.ui b/gtk/ui/gtkassistant.ui
new file mode 100644
index 0000000000..6c0937350b
--- /dev/null
+++ b/gtk/ui/gtkassistant.ui
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkAssistant" parent="GtkWindow">
+ <property name="can_focus">False</property>
+ <child type="titlebar">
+ <object class="GtkHeaderBar" id="headerbar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show-close-button">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="main_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkFrame" id="sidebar_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <style>
+ <class name="sidebar"/>
+ </style>
+ <child>
+ <object class="GtkBox" id="sidebar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ <child type="label_item">
+ <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="content_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkNotebook" id="content">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
+ <signal name="remove" handler="assistant_remove_page_cb" swapped="no"/>
+ <child>
+ <placeholder/>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </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="action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkButton" id="apply">
+ <property name="label" translatable="yes">_Apply</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="no_show_all">True</property>
+ <property name="use_underline">True</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ <signal name="clicked" handler="on_assistant_apply" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="forward">
+ <property name="label" translatable="yes">_Next</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="no_show_all">True</property>
+ <property name="use_underline">True</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ <signal name="clicked" handler="on_assistant_forward" swapped="no"/>
+ </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>
+ <child>
+ <object class="GtkButton" id="back">
+ <property name="label" translatable="yes">_Back</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="no_show_all">True</property>
+ <property name="use_underline">True</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ <signal name="clicked" handler="on_assistant_back" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="last">
+ <property name="label" translatable="yes">_Finish</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="no_show_all">True</property>
+ <property name="use_underline">True</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ <signal name="clicked" handler="on_assistant_last" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="cancel">
+ <property name="label" translatable="yes">_Cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="no_show_all">True</property>
+ <property name="use_underline">True</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ <signal name="clicked" handler="on_assistant_cancel" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="close">
+ <property name="label" translatable="yes">_Close</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="no_show_all">True</property>
+ <property name="use_underline">True</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ <signal name="clicked" handler="on_assistant_close" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">5</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="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+ <object class="GtkSizeGroup" id="button_size_group">
+ <widgets>
+ <widget name="apply"/>
+ <widget name="forward"/>
+ <widget name="back"/>
+ <widget name="last"/>
+ <widget name="cancel"/>
+ <widget name="close"/>
+ </widgets>
+ </object>
+ <object class="GtkSizeGroup" id="title_size_group"/>
+</interface>
diff --git a/gtk/ui/gtkassistant.ui.h b/gtk/ui/gtkassistant.ui.h
new file mode 100644
index 0000000000..da26346d34
--- /dev/null
+++ b/gtk/ui/gtkassistant.ui.h
@@ -0,0 +1,6 @@
+N_("_Apply");
+N_("_Next");
+N_("_Back");
+N_("_Finish");
+N_("_Cancel");
+N_("_Close");
diff --git a/gtk/ui/gtkcolorchooserdialog.ui b/gtk/ui/gtkcolorchooserdialog.ui
new file mode 100644
index 0000000000..1ad6d49a95
--- /dev/null
+++ b/gtk/ui/gtkcolorchooserdialog.ui
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkColorChooserDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Select a Color</property>
+ <property name="type_hint">dialog</property>
+ <property name="resizable">False</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkColorChooserWidget" id="chooser">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="orientation">vertical</property>
+ <property name="rgba">rgb(255,255,255)</property>
+ <signal name="color-activated" handler="color_activated_cb" swapped="no"/>
+ <signal name="notify::rgba" handler="propagate_notify" swapped="no"/>
+ <signal name="notify::show-editor" handler="propagate_notify" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="action">
+ <object class="GtkButton" id="cancel_button">
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="label" translatable="yes">_Cancel</property>
+ </object>
+ </child>
+ <child type="action">
+ <object class="GtkButton" id="ok_button">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Select</property>
+ <property name="use_underline">True</property>
+ <property name="can_default">True</property>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="cancel">cancel_button</action-widget>
+ <action-widget response="ok" default="true">ok_button</action-widget>
+ </action-widgets>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkcolorchooserdialog.ui.h b/gtk/ui/gtkcolorchooserdialog.ui.h
new file mode 100644
index 0000000000..af0ef0045a
--- /dev/null
+++ b/gtk/ui/gtkcolorchooserdialog.ui.h
@@ -0,0 +1,3 @@
+N_("Select a Color");
+N_("_Cancel");
+N_("_Select");
diff --git a/gtk/ui/gtkcoloreditor.ui b/gtk/ui/gtkcoloreditor.ui
new file mode 100644
index 0000000000..d82e3088dd
--- /dev/null
+++ b/gtk/ui/gtkcoloreditor.ui
@@ -0,0 +1,360 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtkprivate 3.10 -->
+ <!-- interface-requires gtk+ 3.10 -->
+ <object class="GtkAdjustment" id="a_adj">
+ <property name="upper">1</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">0.10000000000000001</property>
+ <signal name="value-changed" handler="hsv_changed" object="GtkColorEditor" swapped="yes"/>
+ </object>
+ <object class="GtkAdjustment" id="h_adj">
+ <property name="upper">1</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">0.10000000000000001</property>
+ <signal name="value-changed" handler="hsv_changed" object="GtkColorEditor" swapped="yes"/>
+ </object>
+ <object class="GtkAdjustment" id="s_adj">
+ <property name="upper">1</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">0.10000000000000001</property>
+ <signal name="value-changed" handler="hsv_changed" object="GtkColorEditor" swapped="yes"/>
+ </object>
+ <object class="GtkAdjustment" id="v_adj">
+ <property name="upper">1</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">0.10000000000000001</property>
+ <signal name="value-changed" handler="hsv_changed" object="GtkColorEditor" swapped="yes"/>
+ </object>
+ <template class="GtkColorEditor" parent="GtkBox">
+ <property name="can_focus">False</property>
+ <signal name="notify::visible" handler="dismiss_current_popup" swapped="no"/>
+ <child>
+ <object class="GtkOverlay" id="overlay">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <signal name="get-child-position" handler="get_child_position" swapped="no"/>
+ <child>
+ <object class="GtkGrid" id="grid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">30</property>
+ <property name="margin_end">30</property>
+ <property name="row_spacing">12</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkColorSwatch" id="swatch">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="rgba">rgb(255,255,255)</property>
+ <property name="selectable">False</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="entry-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Color Name</property>
+ </object>
+ </child>
+ <signal name="activate" handler="entry_apply" swapped="no"/>
+ <signal name="focus-out-event" handler="entry_focus_out" swapped="no"/>
+ <signal name="notify::text" handler="entry_text_changed" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkColorScale" id="h_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="orientation">vertical</property>
+ <property name="adjustment">h_adj</property>
+ <property name="draw_value">False</property>
+ <signal name="popup-menu" handler="popup_edit" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkColorScale" id="a_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">a_adj</property>
+ <property name="draw_value">False</property>
+ <property name="scale_type">1</property>
+ <style>
+ <class name="scale-has-marks-above"/>
+ </style>
+ <signal name="popup-menu" handler="popup_edit" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkColorPlane" id="sv_plane">
+ <property name="width_request">300</property>
+ <property name="height_request">300</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="h_adjustment">h_adj</property>
+ <property name="s_adjustment">s_adj</property>
+ <property name="v_adjustment">v_adj</property>
+ <signal name="popup-menu" handler="popup_edit" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </template>
+ <object class="GtkBox" id="a_popup">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <style>
+ <class name="popover"/>
+ <class name="osd"/>
+ </style>
+ <signal name="draw" handler="popup_draw" swapped="no"/>
+ <child>
+ <object class="GtkGrid" id="grid4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="margin_end">12</property>
+ <property name="margin_top">12</property>
+ <property name="margin_bottom">12</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Color channel">A</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="a_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ <property name="climb_rate">1</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="a_entry-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Alpha</property>
+ </object>
+ </child>
+ <signal name="key-press-event" handler="popup_key_press" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <object class="GtkBox" id="h_popup">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <style>
+ <class name="popover"/>
+ <class name="osd"/>
+ </style>
+ <signal name="draw" handler="popup_draw" swapped="no"/>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="margin_end">12</property>
+ <property name="margin_top">12</property>
+ <property name="margin_bottom">12</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Color channel">H</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="h_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ <property name="climb_rate">1</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="h_entry-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Hue</property>
+ </object>
+ </child>
+ <signal name="key-press-event" handler="popup_key_press" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <object class="GtkBox" id="sv_popup">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <style>
+ <class name="popover"/>
+ <class name="osd"/>
+ </style>
+ <signal name="draw" handler="popup_draw" swapped="no"/>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="margin_end">12</property>
+ <property name="margin_top">12</property>
+ <property name="margin_bottom">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Color Channel">S</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="Color Channel">V</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="s_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="climb_rate">1</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="s_entry-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Saturation</property>
+ </object>
+ </child>
+ <signal name="key-press-event" handler="popup_key_press" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="v_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ <property name="climb_rate">1</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="v_entry-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Value</property>
+ </object>
+ </child>
+ <signal name="key-press-event" handler="popup_key_press" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</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/gtk/ui/gtkcoloreditor.ui.h b/gtk/ui/gtkcoloreditor.ui.h
new file mode 100644
index 0000000000..c882ffb1e2
--- /dev/null
+++ b/gtk/ui/gtkcoloreditor.ui.h
@@ -0,0 +1,9 @@
+N_("Color Name");
+C_("Color channel", "A");
+N_("Alpha");
+C_("Color channel", "H");
+N_("Hue");
+C_("Color Channel", "S");
+C_("Color Channel", "V");
+N_("Saturation");
+N_("Value");
diff --git a/gtk/ui/gtkdialog.ui b/gtk/ui/gtkdialog.ui
new file mode 100644
index 0000000000..7ea88376be
--- /dev/null
+++ b/gtk/ui/gtkdialog.ui
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkDialog" parent="GtkWindow">
+ <property name="can_focus">False</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="type_hint">dialog</property>
+ <signal name="delete-event" handler="gtk_dialog_delete_event_handler" swapped="no"/>
+ <child type="titlebar">
+ <object class="GtkHeaderBar" id="headerbar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show-close-button">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="orientation">vertical</property>
+ <style>
+ <class name="dialog-vbox"/>
+ </style>
+ <child>
+ <object class="GtkBox" id="action_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <style>
+ <class name="dialog-action-box"/>
+ </style>
+ <child>
+ <object class="GtkButtonBox" id="action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <property name="hexpand">True</property>
+ <style>
+ <class name="dialog-action-area"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkdialog.ui.h b/gtk/ui/gtkdialog.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtkdialog.ui.h
diff --git a/gtk/ui/gtkfilechooserbutton.ui b/gtk/ui/gtkfilechooserbutton.ui
new file mode 100644
index 0000000000..a36013884b
--- /dev/null
+++ b/gtk/ui/gtkfilechooserbutton.ui
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkFileChooserButton" parent="GtkBox">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkButton" id="button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="button_clicked_cb" swapped="no"/>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">image-missing</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="label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">(None)</property>
+ <property name="ellipsize">end</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator" id="separator1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="open_file_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">document-open-symbolic</property>
+ <property name="icon_size">1</property>
+ <property name="use_fallback">True</property>
+ <property name="valign">baseline</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </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="GtkComboBox" id="combo_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <signal name="changed" handler="combo_box_changed_cb" swapped="no"/>
+ <signal name="notify::popup-shown" handler="combo_box_notify_popup_shown_cb" swapped="no"/>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="icon_cell"/>
+ <attributes>
+ <attribute name="surface">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText" id="name_cell"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </template>
+ <object class="GtkListStore" id="model">
+ <columns>
+ <!-- column-name icon -->
+ <column type="CairoSurface"/>
+ <!-- column-name display-name -->
+ <column type="gchararray"/>
+ <!-- column-name type -->
+ <column type="gchar"/>
+ <!-- column-name data -->
+ <column type="gpointer"/>
+ <!-- column-name is-folder -->
+ <column type="gboolean"/>
+ <!-- column-name cancelable -->
+ <column type="gpointer"/>
+ </columns>
+ </object>
+</interface>
diff --git a/gtk/ui/gtkfilechooserbutton.ui.h b/gtk/ui/gtkfilechooserbutton.ui.h
new file mode 100644
index 0000000000..43dcd8bdb0
--- /dev/null
+++ b/gtk/ui/gtkfilechooserbutton.ui.h
@@ -0,0 +1 @@
+N_("(None)");
diff --git a/gtk/ui/gtkfilechooserdialog.ui b/gtk/ui/gtkfilechooserdialog.ui
new file mode 100644
index 0000000000..fa0a3683ad
--- /dev/null
+++ b/gtk/ui/gtkfilechooserdialog.ui
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkFileChooserDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="role">GtkFileChooserDialog</property>
+ <property name="type_hint">dialog</property>
+ <property name="default_width">600</property>
+ <signal name="response" handler="response_cb" swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="border_width">0</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">0</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="border_width">6</property>
+ <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">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFileChooserWidget" id="widget">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="orientation">vertical</property>
+ <signal name="default-size-changed" handler="file_chooser_widget_default_size_changed" swapped="no"/>
+ <signal name="file-activated" handler="file_chooser_widget_file_activated" swapped="no"/>
+ <signal name="response-requested" handler="file_chooser_widget_response_requested" swapped="no"/>
+ <signal name="selection-changed" handler="file_chooser_widget_selection_changed" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkfilechooserdialog.ui.h b/gtk/ui/gtkfilechooserdialog.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtkfilechooserdialog.ui.h
diff --git a/gtk/ui/gtkfilechooserwidget.ui b/gtk/ui/gtkfilechooserwidget.ui
new file mode 100644
index 0000000000..6fea987550
--- /dev/null
+++ b/gtk/ui/gtkfilechooserwidget.ui
@@ -0,0 +1,343 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <!-- interface-requires gtkprivate 3.10 -->
+ <template class="GtkFileChooserWidget" parent="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkBox" id="browse_widgets_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkPaned" id="browse_widgets_hpaned">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="border_width">0</property>
+ <child>
+ <object class="GtkPlacesSidebar" id="places_sidebar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">none</property>
+ <property name="local_only">True</property>
+ <property name="show_enter_location">True</property>
+ <style>
+ <class name="sidebar"/>
+ </style>
+ <signal name="open-location" handler="places_sidebar_open_location_cb" swapped="no"/>
+ <signal name="show-error-message" handler="places_sidebar_show_error_message_cb" swapped="no"/>
+ <signal name="show-enter-location" handler="places_sidebar_show_enter_location_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="browse_files_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkBox" id="browse_header_box">
+ <property name="visible">False</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="border_width">0</property>
+ <property name="spacing">12</property>
+ <style>
+ <class name="search-bar"/>
+ </style>
+ <child>
+ <object class="GtkStack" id="browse_header_stack">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="transition-type">crossfade</property>
+ <property name="transition-duration">200</property>
+ <child>
+ <object class="GtkBox" id="browse_path_bar_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <property name="border_width">6</property>
+ <child>
+ <object class="GtkPathBar" id="browse_path_bar">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <signal name="path-clicked" handler="path_bar_clicked" after="yes" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="browse_new_folder_button">
+ <property name="label" translatable="yes">Create Fo_lder</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <signal name="clicked" handler="new_folder_button_clicked" swapped="no"/>
+ </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="name">pathbar</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="location_entry_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no-show-all">True</property>
+ <property name="spacing">12</property>
+ <property name="border_width">6</property>
+ <child>
+ <object class="GtkLabel" id="location_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">_Location:</property>
+ <property name="use_underline">True</property>
+ </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="name">location</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</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="GtkSearchBar" id="search_bar">
+ <property name="visible">True</property>
+ <property name="border_width">0</property>
+ <child>
+ <object class="GtkSearchEntry" id="search_entry">
+ <property name="visible">True</property>
+ <property name="hexpand">True</property>
+ <signal name="activate" handler="search_entry_activate_cb" swapped="no"/>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="list_and_preview_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkScrolledWindow" id="browse_files_swin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="vscrollbar_policy">always</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkTreeView" id="browse_files_tree_view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_tooltip">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="browse_files_tree_view-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Files</property>
+ </object>
+ </child>
+ <signal name="button-press-event" handler="list_button_press_event_cb" swapped="no"/>
+ <signal name="drag-data-received" handler="file_list_drag_data_received_cb" swapped="no"/>
+ <signal name="drag-drop" handler="file_list_drag_drop_cb" swapped="no"/>
+ <signal name="drag-motion" handler="file_list_drag_motion_cb" swapped="no"/>
+ <signal name="key-press-event" handler="browse_files_key_press_event_cb" swapped="no"/>
+ <signal name="popup-menu" handler="list_popup_menu_cb" swapped="no"/>
+ <signal name="query-tooltip" handler="file_list_query_tooltip_cb" swapped="no"/>
+ <signal name="row-activated" handler="list_row_activated" swapped="no"/>
+ <signal name="cursor-changed" handler="list_cursor_changed" swapped="no"/>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection2">
+ <signal name="changed" handler="list_selection_changed" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="list_name_column">
+ <property name="resizable">True</property>
+ <property name="title" translatable="yes">Name</property>
+ <property name="expand">True</property>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="list_pixbuf_renderer"/>
+ </child>
+ <child>
+ <object class="GtkCellRendererText" id="list_name_renderer">
+ <property name="ellipsize">end</property>
+ <signal name="edited" handler="renderer_edited_cb" swapped="no"/>
+ <signal name="editing-canceled" handler="renderer_editing_canceled_cb" swapped="no"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="list_size_column">
+ <property name="resizable">True</property>
+ <property name="title" translatable="yes">Size</property>
+ <child>
+ <object class="GtkCellRendererText" id="list_size_renderer">
+ <property name="alignment">right</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="list_mtime_column">
+ <property name="resizable">True</property>
+ <property name="title" translatable="yes">Modified</property>
+ <child>
+ <object class="GtkCellRendererText" id="list_mtime_renderer"/>
+ </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>
+ <object class="GtkBox" id="preview_box">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</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">False</property>
+ </packing>
+ </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="GtkActionBar" id="extra_and_filters">
+ <property name="no-show-all">True</property>
+ <child>
+ <object class="GtkBox" id="extra_align">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="filter_combo_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkComboBoxText" id="filter_combo">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text" translatable="yes">Select which types of files are shown</property>
+ <property name="focus_on_click">False</property>
+ <property name="entry_text_column">0</property>
+ <property name="id_column">1</property>
+ <signal name="changed" handler="filter_combo_changed" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </template>
+ <object class="GtkSizeGroup" id="browse_path_bar_size_group">
+ <property name="mode">vertical</property>
+ <widgets>
+ <widget name="browse_path_bar"/>
+ <widget name="browse_new_folder_button"/>
+ </widgets>
+ </object>
+</interface>
diff --git a/gtk/ui/gtkfilechooserwidget.ui.h b/gtk/ui/gtkfilechooserwidget.ui.h
new file mode 100644
index 0000000000..2c65d51d85
--- /dev/null
+++ b/gtk/ui/gtkfilechooserwidget.ui.h
@@ -0,0 +1,7 @@
+N_("Create Fo_lder");
+N_("_Location:");
+N_("Files");
+N_("Name");
+N_("Size");
+N_("Modified");
+N_("Select which types of files are shown");
diff --git a/gtk/ui/gtkfontbutton.ui b/gtk/ui/gtkfontbutton.ui
new file mode 100644
index 0000000000..62658fbad5
--- /dev/null
+++ b/gtk/ui/gtkfontbutton.ui
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkFontButton" parent="GtkButton">
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="font_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Font</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="font_size_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <child>
+ <object class="GtkSeparator" id="separator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</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="size_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">14</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</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>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkfontbutton.ui.h b/gtk/ui/gtkfontbutton.ui.h
new file mode 100644
index 0000000000..e60a3d402a
--- /dev/null
+++ b/gtk/ui/gtkfontbutton.ui.h
@@ -0,0 +1 @@
+N_("Font");
diff --git a/gtk/ui/gtkfontchooserdialog.ui b/gtk/ui/gtkfontchooserdialog.ui
new file mode 100644
index 0000000000..61e6ea54b1
--- /dev/null
+++ b/gtk/ui/gtkfontchooserdialog.ui
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkFontChooserDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Select Font</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkFontChooserWidget" id="fontchooser">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <signal name="font-activated" handler="font_activated_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="action">
+ <object class="GtkButton" id="cancel_button">
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="label" translatable="yes">_Cancel</property>
+ </object>
+ </child>
+ <child type="action">
+ <object class="GtkButton" id="ok_button">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Select</property>
+ <property name="use_underline">True</property>
+ <property name="can_default">True</property>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="cancel">cancel_button</action-widget>
+ <action-widget response="ok" default="true">ok_button</action-widget>
+ </action-widgets>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkfontchooserdialog.ui.h b/gtk/ui/gtkfontchooserdialog.ui.h
new file mode 100644
index 0000000000..2996d844a4
--- /dev/null
+++ b/gtk/ui/gtkfontchooserdialog.ui.h
@@ -0,0 +1,3 @@
+N_("Select Font");
+N_("_Cancel");
+N_("_Select");
diff --git a/gtk/ui/gtkfontchooserwidget.ui b/gtk/ui/gtkfontchooserwidget.ui
new file mode 100644
index 0000000000..2c9d5f1e47
--- /dev/null
+++ b/gtk/ui/gtkfontchooserwidget.ui
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <object class="GtkListStore" id="model">
+ <columns>
+ <!-- column-name family -->
+ <column type="PangoFontFamily"/>
+ <!-- column-name face -->
+ <column type="PangoFontFace"/>
+ <!-- column-name description -->
+ <column type="PangoFontDescription"/>
+ <!-- column-name preview-title -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkTreeModelFilter" id="filter_model">
+ <property name="child_model">model</property>
+ <signal name="row-deleted" handler="row_deleted_cb" swapped="no"/>
+ <signal name="row-inserted" handler="row_inserted_cb" swapped="no"/>
+ </object>
+ <object class="GtkAdjustment" id="slider_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ <signal name="value-changed" handler="size_change_cb" swapped="no"/>
+ </object>
+ <object class="GtkAdjustment" id="spin_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ <signal name="value-changed" handler="size_change_cb" swapped="no"/>
+ </object>
+ <template class="GtkFontChooserWidget" parent="GtkBox">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkSearchEntry" id="search_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="primary_icon_name">edit-find-symbolic</property>
+ <property name="primary_icon_activatable">False</property>
+ <property name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">False</property>
+ <property name="secondary_icon_sensitive">False</property>
+ <property name="placeholder_text" translatable="yes">Search font name</property>
+ <signal name="notify::text" handler="text_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkNotebook" id="list_notebook">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">False</property>
+ <child>
+ <object class="GtkScrolledWindow" id="list_scrolled_window">
+ <property name="width_request">400</property>
+ <property name="height_request">300</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">etched-in</property>
+ <child>
+ <object class="GtkTreeView" id="family_face_list">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="model">filter_model</property>
+ <property name="headers_visible">False</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">True</property>
+ <signal name="cursor-changed" handler="cursor_changed_cb" swapped="no"/>
+ <signal name="row-activated" handler="row_activated_cb" swapped="no"/>
+ <signal name="style-updated" handler="gtk_font_chooser_widget_set_cell_size" object="GtkFontChooserWidget" after="yes" swapped="yes"/>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection1"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="family_face_column">
+ <property name="sizing">fixed</property>
+ <property name="title" translatable="yes">Font Family</property>
+ <child>
+ <object class="GtkCellRendererText" id="family_face_cell">
+ <property name="ellipsize">end</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkLabel" id="empty_list">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="margin_start">12</property>
+ <property name="margin_end">12</property>
+ <property name="margin_top">12</property>
+ <property name="margin_bottom">12</property>
+ <property name="label" translatable="yes">No fonts matched your search. You can revise your search and try again.</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="preview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="text">Sample string goes here</property>
+ <signal name="scroll-event" handler="resize_by_scroll_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="size_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="adjustment">slider_adjustment</property>
+ <property name="draw_value">False</property>
+ <property name="round-digits">0</property>
+ <signal name="scroll-event" handler="resize_by_scroll_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="size_spin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="adjustment">spin_adjustment</property>
+ <signal name="output" handler="output_cb"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkfontchooserwidget.ui.h b/gtk/ui/gtkfontchooserwidget.ui.h
new file mode 100644
index 0000000000..4e858db40b
--- /dev/null
+++ b/gtk/ui/gtkfontchooserwidget.ui.h
@@ -0,0 +1,3 @@
+N_("Search font name");
+N_("Font Family");
+N_("No fonts matched your search. You can revise your search and try again.");
diff --git a/gtk/ui/gtkinfobar.ui b/gtk/ui/gtkinfobar.ui
new file mode 100644
index 0000000000..97c2c6301f
--- /dev/null
+++ b/gtk/ui/gtkinfobar.ui
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkInfoBar" parent="GtkBox">
+ <property name="app_paintable">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRevealer" id="revealer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkBox" id="content">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkBox" id="content_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">8</property>
+ <property name="spacing">16</property>
+ <property name="hexpand">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox" id="action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="orientation">horizontal</property>
+ <property name="spacing">6</property>
+ <property name="layout_style">end</property>
+ <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="GtkButton" id="close_button">
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="border_width">6</property>
+ <property name="relief">none</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="raised"/>
+ <class name="close"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="close_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">window-close-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkinfobar.ui.h b/gtk/ui/gtkinfobar.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtkinfobar.ui.h
diff --git a/gtk/ui/gtklockbutton.ui b/gtk/ui/gtklockbutton.ui
new file mode 100644
index 0000000000..a512de8e55
--- /dev/null
+++ b/gtk/ui/gtklockbutton.ui
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.6 -->
+ <template class="GtkLockButton" parent="GtkButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <child>
+ <object class="GtkBox" id="box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">image-missing</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="label_lock">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Lock</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_unlock">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Unlock</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+ <object class="GtkSizeGroup" id="label_group">
+ <property name="mode">both</property>
+ <widgets>
+ <widget name="label_lock"/>
+ <widget name="label_unlock"/>
+ </widgets>
+ </object>
+</interface>
diff --git a/gtk/ui/gtklockbutton.ui.h b/gtk/ui/gtklockbutton.ui.h
new file mode 100644
index 0000000000..4746c79a48
--- /dev/null
+++ b/gtk/ui/gtklockbutton.ui.h
@@ -0,0 +1,2 @@
+N_("Lock");
+N_("Unlock");
diff --git a/gtk/ui/gtkmessagedialog.ui b/gtk/ui/gtkmessagedialog.ui
new file mode 100644
index 0000000000..b3472ef25b
--- /dev/null
+++ b/gtk/ui/gtkmessagedialog.ui
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkMessageDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="title"> </property>
+ <property name="resizable">False</property>
+ <property name="type_hint">dialog</property>
+ <property name="skip_taskbar_hint">True</property>
+ <style>
+ <class name="message-dialog"/>
+ </style>
+ <child internal-child="headerbar">
+ <object class="GtkHeaderBar" id="headerbar1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show-close-button">False</property>
+ </object>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">20</property>
+ <child>
+ <object class="GtkBox" id="box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="margin_start">30</property>
+ <property name="margin_end">30</property>
+ <property name="spacing">30</property>
+ <child>
+ <object class="GtkBox" id="message_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkLabel" id="label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ <property name="max-width-chars">60</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="secondary_label">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="margin-bottom">2</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ <property name="max-width-chars">60</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">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkmessagedialog.ui.h b/gtk/ui/gtkmessagedialog.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtkmessagedialog.ui.h
diff --git a/gtk/ui/gtkpagesetupunixdialog.ui b/gtk/ui/gtkpagesetupunixdialog.ui
new file mode 100644
index 0000000000..f8aaf9a350
--- /dev/null
+++ b/gtk/ui/gtkpagesetupunixdialog.ui
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.6 -->
+ <object class="GtkListStore" id="custom_paper_list">
+ <columns>
+ <!-- column-name paper -->
+ <column type="GObject"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="page_setup_list">
+ <columns>
+ <!-- column-name page-setup -->
+ <column type="GObject"/>
+ <!-- column-name is-separator -->
+ <column type="gboolean"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="printer_list">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name printer -->
+ <column type="GObject"/>
+ </columns>
+ </object>
+ <template class="GtkPageSetupUnixDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="resizable">False</property>
+ <property name="type_hint">dialog</property>
+ <property name="title" translatable="yes">Page Setup</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="printer_combo_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">_Format for:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">printer_combo</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="printer_combo">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="model">printer_list</property>
+ <signal name="changed" handler="printer_changed_callback" swapped="no"/>
+ <child>
+ <object class="GtkCellRendererText" id="printer_combo_renderer"/>
+ <attributes>
+ <attribute name="markup">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="paper_size_combo_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">_Paper size:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">paper_size_combo</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="paper_size_combo">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="model">page_setup_list</property>
+ <signal name="changed" handler="paper_size_changed" swapped="no"/>
+ <child>
+ <object class="GtkCellRendererText" id="paper_size_cell"/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="paper_size_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="orientation_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">_Orientation:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">portrait_radio</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="portrait_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">gtk-orientation-portrait</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" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Portrait</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="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="reverse_portrait_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">portrait_radio</property>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">gtk-orientation-reverse-portrait</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" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Reverse portrait</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="left_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="landscape_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">portrait_radio</property>
+ <child>
+ <object class="GtkBox" id="box3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">gtk-orientation-landscape</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" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Landscape</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="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="reverse_landscape_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">portrait_radio</property>
+ <child>
+ <object class="GtkBox" id="box4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">gtk-orientation-reverse-landscape</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" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Reverse landscape</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="left_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkpagesetupunixdialog.ui.h b/gtk/ui/gtkpagesetupunixdialog.ui.h
new file mode 100644
index 0000000000..8ee6315470
--- /dev/null
+++ b/gtk/ui/gtkpagesetupunixdialog.ui.h
@@ -0,0 +1,8 @@
+N_("Page Setup");
+N_("_Format for:");
+N_("_Paper size:");
+N_("_Orientation:");
+N_("Portrait");
+N_("Reverse portrait");
+N_("Landscape");
+N_("Reverse landscape");
diff --git a/gtk/ui/gtkpathbar.ui b/gtk/ui/gtkpathbar.ui
new file mode 100644
index 0000000000..c41ed7fd7f
--- /dev/null
+++ b/gtk/ui/gtkpathbar.ui
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <object class="GtkButton" id="down_slider_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="down_slider_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Down Path</property>
+ </object>
+ </child>
+ <signal name="button-press-event" handler="gtk_path_bar_slider_button_press" swapped="no"/>
+ <signal name="button-release-event" handler="gtk_path_bar_slider_button_release" swapped="no"/>
+ <signal name="focus-out-event" handler="gtk_path_bar_slider_down_defocus" swapped="no"/>
+ <signal name="unmap" handler="on_slider_unmap" swapped="no"/>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">pan-end-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ <style>
+ <class name="image-button"/>
+ </style>
+ </object>
+ <object class="GtkButton" id="up_slider_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="up_slider_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Up Path</property>
+ </object>
+ </child>
+ <signal name="button-press-event" handler="gtk_path_bar_slider_button_press" swapped="no"/>
+ <signal name="button-release-event" handler="gtk_path_bar_slider_button_release" swapped="no"/>
+ <signal name="focus-out-event" handler="gtk_path_bar_slider_up_defocus" swapped="no"/>
+ <signal name="unmap" handler="on_slider_unmap" swapped="no"/>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">pan-start-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ <style>
+ <class name="image-button"/>
+ </style>
+ </object>
+</interface>
diff --git a/gtk/ui/gtkpathbar.ui.h b/gtk/ui/gtkpathbar.ui.h
new file mode 100644
index 0000000000..4adefacc05
--- /dev/null
+++ b/gtk/ui/gtkpathbar.ui.h
@@ -0,0 +1,2 @@
+N_("Down Path");
+N_("Up Path");
diff --git a/gtk/ui/gtkprintunixdialog.ui b/gtk/ui/gtkprintunixdialog.ui
new file mode 100644
index 0000000000..ae714e06f7
--- /dev/null
+++ b/gtk/ui/gtkprintunixdialog.ui
@@ -0,0 +1,1717 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.6 -->
+ <!-- interface-requires gtkprivate 3.10 -->
+ <object class="GtkAdjustment" id="copies_spin_adjustment">
+ <property name="lower">1</property>
+ <property name="upper">999</property>
+ <property name="value">1</property>
+ <property name="step_increment">1</property>
+ </object>
+ <object class="GtkListStore" id="custom_paper_list">
+ <columns>
+ <!-- column-name custom -->
+ <column type="GObject"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="page_setup_list">
+ <columns>
+ <!-- column-name page-setup -->
+ <column type="GObject"/>
+ <!-- column-name is-separator -->
+ <column type="gboolean"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="printer_list">
+ <columns>
+ <!-- column-name icon -->
+ <column type="GIcon"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name state -->
+ <column type="gchararray"/>
+ <!-- column-name jobs -->
+ <column type="gint"/>
+ <!-- column-name location -->
+ <column type="gchararray"/>
+ <!-- column-name printer -->
+ <column type="GObject"/>
+ </columns>
+ </object>
+ <object class="GtkTreeModelFilter" id="printer_list_filter">
+ <property name="child_model">printer_list</property>
+ </object>
+ <object class="GtkAdjustment" id="scale_spin_adjustment">
+ <property name="lower">1</property>
+ <property name="upper">1000</property>
+ <property name="value">100</property>
+ <property name="step_increment">1</property>
+ </object>
+ <template class="GtkPrintUnixDialog" parent="GtkDialog">
+ <property name="can_focus">False</property>
+ <property name="type_hint">dialog</property>
+ <signal name="notify::page-setup" handler="redraw_page_layout_preview" swapped="no"/>
+ <signal name="response" handler="error_dialogs" swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <property name="border_width">0</property>
+ <style>
+ <class name="view"/>
+ </style>
+ <child internal-child="action_box">
+ <object class="GtkBox">
+ <property name="margin">6</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkNotebook" id="notebook">
+ <property name="visible">True</property>
+ <property name="border_width">0</property>
+ <property name="can_focus">True</property>
+ <property name="show_border">False</property>
+ <child>
+ <object class="GtkBox" id="general_main_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkScrolledWindow" id="printer_swin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="printer_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="model">printer_list_filter</property>
+ <signal name="row-activated" handler="emit_ok_response" swapped="no"/>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection1">
+ <property name="mode">browse</property>
+ <signal name="changed" handler="selected_printer_changed" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="printer_icon_column">
+ <child>
+ <object class="GtkCellRendererPixbuf" id="printer_icon_renderer"/>
+ <attributes>
+ <attribute name="gicon">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="printer_name_column">
+ <property name="title" translatable="yes">Printer</property>
+ <child>
+ <object class="GtkCellRendererText" id="printer_name_renderer"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="printer_location_column">
+ <property name="title" translatable="yes" comments="this is the header for the location column in the print dialog">Location</property>
+ <child>
+ <object class="GtkCellRendererText" id="printer_location_renderer"/>
+ <attributes>
+ <attribute name="text">4</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="printer_status_column">
+ <property name="title" translatable="yes" comments="this is the header for the printer status column in the print dialog">Status</property>
+ <child>
+ <object class="GtkCellRendererText" id="printer_status_renderer">
+ <property name="ellipsize">end</property>
+ </object>
+ <attributes>
+ <attribute name="text">2</attribute>
+ </attributes>
+ </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>
+ <object class="GtkBox" id="extension_point">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">18</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</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" id="box3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkBox" id="frame_template1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label_widget1">
+ <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">Range</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <accessibility>
+ <relation type="label-for" target="range_table"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="range_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="all_pages_radio">
+ <property name="label" translatable="yes">_All Pages</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="current_page_radio">
+ <property name="label" translatable="yes">C_urrent Page</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">all_pages_radio</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="selection_radio">
+ <property name="label" translatable="yes">Se_lection</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">all_pages_radio</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="page_range_radio">
+ <property name="label" translatable="yes">Pag_es:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Specify one or more page ranges,
+ e.g. 1–3, 7, 11</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">all_pages_radio</property>
+ <signal name="toggled" handler="update_page_range_entry_sensitivity" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="page_range_entry">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Specify one or more page ranges,
+ e.g. 1–3, 7, 11</property>
+ <property name="invisible_char">•</property>
+ <property name="activates_default">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="page_range_entry-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Pages</property>
+ <property name="AtkObject::accessible-description" translatable="yes">Specify one or more page ranges,
+ e.g. 1–3, 7, 11</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label_widget1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</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" id="frame_template2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label_widget2">
+ <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">Copies</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <accessibility>
+ <relation type="label-for" target="grid1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <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">Copie_s:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">copies_spin</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="copies_spin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">copies_spin_adjustment</property>
+ <signal name="changed" handler="update_dialog_from_capabilities" object="GtkPrintUnixDialog" swapped="yes"/>
+ <signal name="value-changed" handler="update_dialog_from_capabilities" object="GtkPrintUnixDialog" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="collate_check">
+ <property name="label" translatable="yes">C_ollate</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="update_collate_icon" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="reverse_check">
+ <property name="label" translatable="yes">_Reverse</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="update_collate_icon" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkDrawingArea" id="collate_image">
+ <property name="width_request">70</property>
+ <property name="height_request">90</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <signal name="draw" handler="draw_collate_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label_widget2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</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>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">General</property>
+ </object>
+ <packing>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="page_setup_main_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkBox" id="box4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkBox" id="frame_template3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label_widget3">
+ <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">Layout</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <accessibility>
+ <relation type="label-for" target="grid2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">T_wo-sided:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">duplex</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="duplex">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Pages per _side:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">pages_per_sheet</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="pages_per_sheet">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <signal name="changed" handler="redraw_page_layout_preview" object="GtkPrintUnixDialog" swapped="yes"/>
+ <signal name="changed" handler="update_number_up_layout" object="GtkPrintUnixDialog" swapped="yes"/>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Page or_dering:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">number_up_layout</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="number_up_layout">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <signal name="changed" handler="redraw_page_layout_preview" object="GtkPrintUnixDialog" swapped="yes"/>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">_Only print:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">page_set_combo</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="page_set_combo">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <property name="id_column">1</property>
+ <items>
+ <item translatable="yes">All sheets</item>
+ <item translatable="yes">Even sheets</item>
+ <item translatable="yes">Odd sheets</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Sc_ale:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">scale_spin</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkSpinButton" id="scale_spin">
+ <property name="visible">True</property>
+ <property name="valign">baseline</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="adjustment">scale_spin_adjustment</property>
+ <property name="digits">1</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <property name="label">%</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">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label_widget3"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</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" id="frame_template4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label_widget4">
+ <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">Paper</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <accessibility>
+ <relation type="label-for" target="grid3"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label11">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Paper _type:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">paper_type</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="paper_type">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Paper _source:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">paper_source</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="paper_source">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label13">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Output t_ray:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">output_tray</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="output_tray">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="paper_size_combo_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">_Paper size:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">paper_size_combo</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="paper_size_combo">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">False</property>
+ <property name="model">page_setup_list</property>
+ <property name="valign">baseline</property>
+ <child>
+ <object class="GtkCellRendererText" id="paper_size_renderer"/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="orientation_combo_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Or_ientation:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">orientation_combo</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="orientation_combo">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">False</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <property name="valign">baseline</property>
+ <property name="id_column">1</property>
+ <items>
+ <item translatable="yes">Portrait</item>
+ <item translatable="yes">Landscape</item>
+ <item translatable="yes">Reverse portrait</item>
+ <item translatable="yes">Reverse landscape</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label_widget4"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="padding">6</property>
+ <property name="position">1</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="box6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkDrawingArea" id="page_layout_preview">
+ <property name="width_request">280</property>
+ <property name="height_request">160</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <signal name="draw" handler="draw_page_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</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" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Page Setup</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="job_page">
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="row_spacing">18</property>
+ <property name="column_spacing">18</property>
+ <child>
+ <object class="GtkBox" id="frame_template5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label_widget5">
+ <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">Job Details</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <accessibility>
+ <relation type="label-for" target="grid5"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label16">
+ <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">Pri_ority:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">job_prio</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="job_prio">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label17">
+ <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">_Billing info:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">billing_info</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="billing_info">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label_widget5"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="frame_template6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label_widget6">
+ <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">Print Document</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <accessibility>
+ <relation type="label-for" target="grid6"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="print_now_radio">
+ <property name="label" translatable="yes" comments="this is one of the choices for the print at option in the print dialog">_Now</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="update_print_at_option" object="GtkPrintUnixDialog" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="print_at_radio">
+ <property name="label" translatable="yes" comments="this is one of the choices for the print at option in the print dialog. It also serves as the label for an entry that allows the user to enter a time.">A_t:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip_markup" translatable="yes">Specify the time of print,
+ e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
+ <property name="tooltip_text" translatable="yes" comments="Ability to parse the am/pm format depends on actual locale. You can remove the am/pm values below for your locale if they are not supported.">Specify the time of print,
+ e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">print_now_radio</property>
+ <signal name="toggled" handler="update_print_at_entry_sensitivity" swapped="no"/>
+ <signal name="toggled" handler="update_print_at_option" object="GtkPrintUnixDialog" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="print_at_entry">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip_markup" translatable="yes">Specify the time of print,
+ e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
+ <property name="tooltip_text" translatable="yes" comments="Ability to parse the am/pm format depends on actual locale. You can remove the am/pm values below for your locale if they are not supported.">Specify the time of print,
+ e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="print_at_entry-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Time of print</property>
+ <property name="AtkObject::accessible-description" translatable="yes">Specify the time of print,
+ e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
+ </object>
+ </child>
+ <signal name="changed" handler="update_print_at_option" object="GtkPrintUnixDialog" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="print_hold_radio">
+ <property name="label" translatable="yes" comments="this is one of the choices for the print at option in the print dialog. It means that the print job will not be printed until it explicitly gets 'released'.">On _hold</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip_markup" translatable="yes">Hold the job until it is explicitly released</property>
+ <property name="tooltip_text" translatable="yes">Hold the job until it is explicitly released</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">print_now_radio</property>
+ <signal name="toggled" handler="update_print_at_option" object="GtkPrintUnixDialog" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label_widget6"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="frame_template7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label_widget7">
+ <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">Add Cover Page</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <accessibility>
+ <relation type="label-for" target="grid7"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label18">
+ <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" comments="this is the label used for the option in the print dialog that controls the front cover page.">Be_fore:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">cover_before</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="cover_before">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label19">
+ <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" comments="this is the label used for the option in the print dialog that controls the back cover page.">_After:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">cover_after</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkPrinterOptionWidget" id="cover_after">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label_widget7"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Job</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="image_quality_page">
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkViewport" id="viewport1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkGrid" id="image_quality_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <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="position">3</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" comments="This will appear as a tab label in the print dialog.">Image Quality</property>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="color_page">
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkViewport" id="viewport2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkGrid" id="color_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <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="position">4</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label21">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" comments="This will appear as a tab label in the print dialog.">Color</property>
+ </object>
+ <packing>
+ <property name="position">4</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="finishing_page">
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkViewport" id="viewport3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkGrid" id="finishing_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <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="position">5</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label22">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" comments="This will appear as a tab label in the print dialog.&#10;It's a typographical term, as in &quot;Binding and finishing&quot;">Finishing</property>
+ </object>
+ <packing>
+ <property name="position">5</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="advanced_page">
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkViewport" id="viewport4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkBox" id="advanced_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">18</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label23">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Advanced</property>
+ </object>
+ <packing>
+ <property name="position">6</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="GtkActionBar" id="conflicts_widget">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">dialog-warning-symbolic</property>
+ <property name="icon_size">1</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label24">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Some of the settings in the dialog conflict</property>
+ </object>
+ </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="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkprintunixdialog.ui.h b/gtk/ui/gtkprintunixdialog.ui.h
new file mode 100644
index 0000000000..73b02abbcc
--- /dev/null
+++ b/gtk/ui/gtkprintunixdialog.ui.h
@@ -0,0 +1,94 @@
+N_("Printer");
+
+/* this is the header for the location column in the print dialog */
+N_("Location");
+
+/* this is the header for the printer status column in the print dialog */
+N_("Status");
+N_("Range");
+N_("_All Pages");
+N_("C_urrent Page");
+N_("Se_lection");
+N_("Pag_es:");
+N_("Specify one or more page ranges,\n"
+ " e.g. 1–3, 7, 11");
+N_("Specify one or more page ranges,\n"
+ " e.g. 1–3, 7, 11");
+N_("Pages");
+N_("Specify one or more page ranges,\n"
+ " e.g. 1–3, 7, 11");
+N_("Copies");
+N_("Copie_s:");
+N_("C_ollate");
+N_("_Reverse");
+N_("General");
+N_("Layout");
+N_("T_wo-sided:");
+N_("Pages per _side:");
+N_("Page or_dering:");
+N_("_Only print:");
+N_("All sheets");
+N_("Even sheets");
+N_("Odd sheets");
+N_("Sc_ale:");
+N_("Paper");
+N_("Paper _type:");
+N_("Paper _source:");
+N_("Output t_ray:");
+N_("_Paper size:");
+N_("Or_ientation:");
+N_("Portrait");
+N_("Landscape");
+N_("Reverse portrait");
+N_("Reverse landscape");
+N_("Page Setup");
+N_("Job Details");
+N_("Pri_ority:");
+N_("_Billing info:");
+N_("Print Document");
+
+/* this is one of the choices for the print at option in the print dialog */
+N_("_Now");
+
+/* this is one of the choices for the print at option in the print dialog. It also serves as the label for an entry that allows the user to enter a time. */
+N_("A_t:");
+N_("Specify the time of print,\n"
+ " e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm");
+
+/* Ability to parse the am/pm format depends on actual locale. You can remove the am/pm values below for your locale if they are not supported. */
+N_("Specify the time of print,\n"
+ " e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm");
+N_("Specify the time of print,\n"
+ " e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm");
+
+/* Ability to parse the am/pm format depends on actual locale. You can remove the am/pm values below for your locale if they are not supported. */
+N_("Specify the time of print,\n"
+ " e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm");
+N_("Time of print");
+N_("Specify the time of print,\n"
+ " e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm");
+
+/* this is one of the choices for the print at option in the print dialog. It means that the print job will not be printed until it explicitly gets 'released'. */
+N_("On _hold");
+N_("Hold the job until it is explicitly released");
+N_("Hold the job until it is explicitly released");
+N_("Add Cover Page");
+
+/* this is the label used for the option in the print dialog that controls the front cover page. */
+N_("Be_fore:");
+
+/* this is the label used for the option in the print dialog that controls the back cover page. */
+N_("_After:");
+N_("Job");
+
+/* This will appear as a tab label in the print dialog. */
+N_("Image Quality");
+
+/* This will appear as a tab label in the print dialog. */
+N_("Color");
+
+/* This will appear as a tab label in the print dialog.
+It's a typographical term, as in "Binding and finishing" */
+N_("Finishing");
+N_("Advanced");
+N_("Some of the settings in the dialog conflict");
diff --git a/gtk/ui/gtkrecentchooserdefault.ui b/gtk/ui/gtkrecentchooserdefault.ui
new file mode 100644
index 0000000000..b8e26b3b0e
--- /dev/null
+++ b/gtk/ui/gtkrecentchooserdefault.ui
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <object class="GtkListStore" id="recent_store">
+ <columns>
+ <!-- column-name uri -->
+ <column type="gchararray"/>
+ <!-- column-name display-name -->
+ <column type="gchararray"/>
+ <!-- column-name info -->
+ <column type="GtkRecentInfo"/>
+ </columns>
+ </object>
+ <template class="GtkRecentChooserDefault" parent="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow">
+ <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="GtkTreeView" id="recent_view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="headers_visible">False</property>
+ <signal name="button-press-event" handler="recent_view_button_press_cb" swapped="no"/>
+ <signal name="drag-begin" handler="recent_view_drag_begin_cb" swapped="no"/>
+ <signal name="drag-data-get" handler="recent_view_drag_data_get_cb" swapped="no"/>
+ <signal name="popup-menu" handler="recent_view_popup_menu_cb" swapped="no"/>
+ <signal name="query-tooltip" handler="recent_view_query_tooltip_cb" swapped="no"/>
+ <signal name="row-activated" handler="row_activated_cb" swapped="no"/>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="selection">
+ <signal name="changed" handler="selection_changed_cb" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="icon_column">
+ <property name="title">icon</property>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="icon_renderer">
+ <property name="stock_size">4</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="meta_column">
+ <property name="title">meta</property>
+ <property name="expand">True</property>
+ <child>
+ <object class="GtkCellRendererText" id="meta_renderer">
+ <property name="ellipsize">end</property>
+ </object>
+ </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>
+ <object class="GtkBox" id="filter_combo_hbox">
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkComboBoxText" id="filter_combo">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text" translatable="yes">Select which type of documents are shown</property>
+ <property name="focus_on_click">False</property>
+ <property name="entry_text_column">0</property>
+ <property name="id_column">1</property>
+ <signal name="changed" handler="filter_combo_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</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">1</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkrecentchooserdefault.ui.h b/gtk/ui/gtkrecentchooserdefault.ui.h
new file mode 100644
index 0000000000..9fdfda393e
--- /dev/null
+++ b/gtk/ui/gtkrecentchooserdefault.ui.h
@@ -0,0 +1 @@
+N_("Select which type of documents are shown");
diff --git a/gtk/ui/gtkscalebutton.ui b/gtk/ui/gtkscalebutton.ui
new file mode 100644
index 0000000000..c48c052709
--- /dev/null
+++ b/gtk/ui/gtkscalebutton.ui
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <!-- interface-requires gtkprivate 3.10 -->
+ <template class="GtkScaleButton" parent="GtkButton">
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <property name="focus_on_click">False</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">image-missing</property>
+ <property name="use-fallback">True</property>
+ </object>
+ </child>
+ </template>
+ <object class="GtkAdjustment" id="adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">2</property>
+ <property name="page_increment">20</property>
+ </object>
+ <object class="GtkPopover" id="dock">
+ <signal name="map" handler="cb_popup_mapped" swapped="no"/>
+ <style>
+ <class name="scale-popup"/>
+ </style>
+ <child>
+ <object class="GtkBox" id="box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="margin">4</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkButton" id="plus_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">list-add-symbolic</property>
+ <property name="use-fallback">True</property>
+ </object>
+ </child>
+ <signal name="button-press-event" handler="cb_button_press" swapped="no"/>
+ <signal name="button-release-event" handler="cb_button_release" swapped="no"/>
+ <signal name="clicked" handler="cb_button_clicked" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="scale">
+ <property name="height_request">100</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="orientation">vertical</property>
+ <property name="adjustment">adjustment</property>
+ <property name="inverted">True</property>
+ <property name="round_digits">1</property>
+ <property name="draw_value">False</property>
+ <signal name="value-changed" handler="cb_scale_value_changed" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="minus_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">list-remove-symbolic</property>
+ <property name="use-fallback">True</property>
+ </object>
+ </child>
+ <signal name="button-press-event" handler="cb_button_press" swapped="no"/>
+ <signal name="button-release-event" handler="cb_button_release" swapped="no"/>
+ <signal name="clicked" handler="cb_button_clicked" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/gtk/ui/gtkscalebutton.ui.h b/gtk/ui/gtkscalebutton.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtkscalebutton.ui.h
diff --git a/gtk/ui/gtksearchbar.ui b/gtk/ui/gtksearchbar.ui
new file mode 100644
index 0000000000..d8b100bc79
--- /dev/null
+++ b/gtk/ui/gtksearchbar.ui
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkSearchBar" parent="GtkBin">
+ <property name="app_paintable">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRevealer" id="revealer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">False</property>
+ <child>
+ <object class="GtkBox" id="tool_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkBox" id="box_left">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="hexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <placeholder/>
+ </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="box_center">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</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>
+ <child>
+ <object class="GtkBox" id="box_right">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkButton" id="close_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <style>
+ <class name="raised"/>
+ <class name="close"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="close_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_size">1</property>
+ <property name="icon_name">window-close-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</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>
+ </template>
+ <object class="GtkSizeGroup" id="sizegroup">
+ <property name="mode">both</property>
+ <widgets>
+ <widget name="box_left"/>
+ <widget name="box_right"/>
+ </widgets>
+ </object>
+</interface>
diff --git a/gtk/ui/gtksearchbar.ui.h b/gtk/ui/gtksearchbar.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtksearchbar.ui.h
diff --git a/gtk/ui/gtkstatusbar.ui b/gtk/ui/gtkstatusbar.ui
new file mode 100644
index 0000000000..16ca59f45e
--- /dev/null
+++ b/gtk/ui/gtkstatusbar.ui
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkStatusbar" parent="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="vexpand">False</property>
+ <property name="spacing">2</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>
+ <child>
+ <object class="GtkFrame" id="frame">
+ <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="GtkBox" id="message_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">4</property>
+ <property name="margin">4</property>
+ <child>
+ <object class="GtkLabel" id="label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="ellipsize">end</property>
+ <property name="single_line_mode">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="label_item">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkstatusbar.ui.h b/gtk/ui/gtkstatusbar.ui.h
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gtk/ui/gtkstatusbar.ui.h
diff --git a/gtk/ui/gtkvolumebutton.ui b/gtk/ui/gtkvolumebutton.ui
new file mode 100644
index 0000000000..e4162f5739
--- /dev/null
+++ b/gtk/ui/gtkvolumebutton.ui
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.6 -->
+ <object class="GtkAdjustment" id="adjustment">
+ <property name="upper">1</property>
+ <property name="step_increment">0.02</property>
+ <property name="page_increment">0.2</property>
+ </object>
+ <template class="GtkVolumeButton" parent="GtkScaleButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="relief">none</property>
+ <property name="focus_on_click">False</property>
+ <property name="orientation">vertical</property>
+ <property name="adjustment">adjustment</property>
+ <property name="icons">audio-volume-muted
+audio-volume-high
+audio-volume-low
+audio-volume-medium</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="GtkVolumeButton-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Volume</property>
+ <property name="AtkObject::accessible-description" translatable="yes">Turns volume up or down</property>
+ </object>
+ </child>
+ <signal name="query-tooltip" handler="cb_query_tooltip" swapped="no"/>
+ <signal name="value-changed" handler="cb_value_changed" swapped="no"/>
+ <child internal-child="plus_button">
+ <object class="GtkButton" id="scalebutton-plus_button1">
+ <child internal-child="accessible">
+ <object class="AtkObject" id="scalebutton-plus_button1-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Volume Up</property>
+ <property name="AtkObject::accessible-description" translatable="yes">Increases the volume</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child internal-child="minus_button">
+ <object class="GtkButton" id="scalebutton-minus_button1">
+ <child internal-child="accessible">
+ <object class="AtkObject" id="scalebutton-minus_button1-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Volume Down</property>
+ <property name="AtkObject::accessible-description" translatable="yes">Decreases the volume</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/gtk/ui/gtkvolumebutton.ui.h b/gtk/ui/gtkvolumebutton.ui.h
new file mode 100644
index 0000000000..9226c69171
--- /dev/null
+++ b/gtk/ui/gtkvolumebutton.ui.h
@@ -0,0 +1,6 @@
+N_("Volume");
+N_("Turns volume up or down");
+N_("Volume Up");
+N_("Increases the volume");
+N_("Volume Down");
+N_("Decreases the volume");