Remove the GList holding printing devices and use already present GtkListStore for this in the New printer dialog. This avoids us to install wrong printer when there is more devices with the same name since we have GtkTreeIter of the selected row. Use GtkTreeModelFilter for filtering of current devices. Update test for canonicalize_device_name() since I had to change one of its parameters. https://bugzilla.gnome.org/show_bug.cgi?id=749830
284 lines
14 KiB
XML
284 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<requires lib="gtk+" version="3.14"/>
|
|
<object class="GtkListStore" id="devices-liststore">
|
|
<columns>
|
|
<!-- column-name device_gicon -->
|
|
<column type="GIcon"/>
|
|
<!-- column-name device_name -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name device_display_name -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name device_description -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name server_needs_authentication -->
|
|
<column type="gboolean"/>
|
|
<!-- column-name device_visible -->
|
|
<column type="gboolean"/>
|
|
<!-- column-name device -->
|
|
<column type="PpPrintDevice"/>
|
|
</columns>
|
|
</object>
|
|
<object class="GtkTreeModelFilter" id="devices-model-filter">
|
|
<property name="child_model">devices-liststore</property>
|
|
</object>
|
|
<object class="GtkDialog" id="dialog">
|
|
<property name="width_request">500</property>
|
|
<property name="height_request">350</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="border_width">5</property>
|
|
<property name="title" translatable="yes">Add a New Printer</property>
|
|
<property name="resizable">False</property>
|
|
<property name="modal">True</property>
|
|
<property name="destroy_with_parent">True</property>
|
|
<property name="type_hint">dialog</property>
|
|
<child internal-child="vbox">
|
|
<object class="GtkBox" id="dialog-vbox1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">10</property>
|
|
<child internal-child="action_area">
|
|
<object class="GtkButtonBox" id="dialog-action-area1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkButton" id="new-printer-cancel-button">
|
|
<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="use_underline">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkNotebook" id="notebook">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="show_tabs">False</property>
|
|
<child>
|
|
<object class="GtkButton" id="new-printer-add-button">
|
|
<property name="label" translatable="yes">_Add</property>
|
|
<property name="visible">True</property>
|
|
<property name="sensitive">False</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="use_underline">True</property>
|
|
</object>
|
|
</child>
|
|
<child type="tab">
|
|
<object class="GtkLabel" id="label1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label">page 1</property>
|
|
</object>
|
|
<packing>
|
|
<property name="tab_fill">False</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="authenticate-button">
|
|
<property name="label" translatable="yes" comments="Translators: This button opens authentication dialog for selected server.">A_uthenticate</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="use_underline">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="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">page 2</property>
|
|
</object>
|
|
<packing>
|
|
<property name="position">1</property>
|
|
<property name="tab_fill">False</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">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="box2">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="vexpand">True</property>
|
|
<child>
|
|
<object class="GtkStack" id="stack">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="transition-type">none</property>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="shadow_type">in</property>
|
|
<child>
|
|
<object class="GtkTreeView" id="devices-treeview">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="model">devices-model-filter</property>
|
|
<property name="headers_visible">False</property>
|
|
<child internal-child="selection">
|
|
<object class="GtkTreeSelection" id="treeview-selection"/>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">standard-page</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFrame" id="frame1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="shadow_type">in</property>
|
|
<child>
|
|
<object class="GtkLabel" id="no-devices-label">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="sensitive">False</property>
|
|
<property name="label" translatable="yes" comments="Translators: No printers were found">No printers detected.</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"/>
|
|
</attributes>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">no-printers-page</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="GtkToolbar" id="toolbar1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="toolbar_style">icons</property>
|
|
<property name="icon_size">1</property>
|
|
<style>
|
|
<class name="inline-toolbar"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkToolItem" id="toolbutton1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkBox" id="box1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkFixed" id="fixed">
|
|
<property name="width_request">24</property>
|
|
<property name="height_request">24</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">center</property>
|
|
<property name="valign">center</property>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="padding">10</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSearchEntry" id="search-entry">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="has_tooltip">True</property>
|
|
<property name="invisible_char">●</property>
|
|
<property name="truncate_multiline">True</property>
|
|
<property name="invisible_char_set">True</property>
|
|
<property name="placeholder_text" translatable="yes" comments="Translators: The entered text should contain network address of a printer or a text which will filter found devices (their names and locations)">Enter a network address or search for a printer</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFixed" id="fixed1">
|
|
<property name="width_request">24</property>
|
|
<property name="height_request">24</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">center</property>
|
|
<property name="valign">center</property>
|
|
<child>
|
|
<object class="GtkSpinner" id="spinner">
|
|
<property name="width_request">24</property>
|
|
<property name="height_request">24</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="no_show_all">True</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="padding">10</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="homogeneous">True</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<action-widgets>
|
|
<action-widget response="-6">new-printer-cancel-button</action-widget>
|
|
<action-widget response="-5">new-printer-add-button</action-widget>
|
|
</action-widgets>
|
|
</object>
|
|
</interface>
|