gnome-control-center/panels/printers/printers.ui
Hendrik Müller 7e0357cae3 printers: Improved empty state of printer panel
The empty state of the printer panel is not consistent with other panels
of the GNOME Settings app.
There are two empty states, either the system cannot connect to the
printer service or there are no printers registered yet.

To fix this issue, AdwStatusPage has been introduced for both cases,
which takes care of the layout and reduces the amount of code needed to
create these two pages. With this change, both empty states of the
printer panel have the same look as other panels in their empty state.
2022-12-01 01:29:10 +00:00

194 lines
7 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="3.12"/>
<object class="GtkBox" id="top-right-buttons">
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="printer-add-button">
<property name="sensitive">False</property>
<property name="use_underline">True</property>
<property name="label" translatable="yes" comments="Translators: This button adds new printer.">Add Printer…</property>
<style>
<class name="suggested-action"/>
</style>
</object>
</child>
<child>
<object class="GtkToggleButton" id="search-button">
<property name="margin-end">6</property> <!-- since we don't have access to the shell header bar -->
<property name="icon_name">edit-find-symbolic</property>
<style>
<class name="image-button"/>
</style>
</object>
</child>
</object>
<object class="GtkOverlay" id="overlay">
<child type="overlay">
<object class="GtkRevealer" id="notification">
<property name="halign">GTK_ALIGN_CENTER</property>
<property name="valign">GTK_ALIGN_START</property>
<child>
<object class="GtkBox">
<property name="spacing">6</property>
<style>
<class name="app-notification"/>
</style>
<child>
<object class="GtkLabel" id="notification-label">
<property name="wrap">True</property>
<property name="max_width_chars">50</property>
</object>
</child>
<child>
<object class="GtkButton" id="notification-undo-button">
<property name="valign">GTK_ALIGN_CENTER</property>
<property name="label" translatable="yes" comments="Translators: This is the button which allows undoing the removal of the printer.">Undo</property>
</object>
</child>
<child>
<object class="GtkButton" id="notification-dismiss-button">
<property name="valign">GTK_ALIGN_CENTER</property>
<property name="icon_name">window-close-symbolic</property>
<style>
<class name="flat"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<property name="orientation">GTK_ORIENTATION_VERTICAL</property>
<child>
<object class="CcPermissionInfobar" id="permission-infobar">
</object>
</child>
<child>
<object class="GtkStack" id="main-vbox">
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child>
<object class="GtkStackPage">
<property name="name">loading-page</property>
<property name="child">
<object class="GtkBox">
<child>
<object class="GtkSpinner" id="loading-spinner">
<property name="spinning">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="halign">center</property>
<property name="valign">center</property>
</object>
</child>
</object>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">printers-list</property>
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkSearchBar" id="search-bar">
<property name="hexpand">True</property>
<property name="search_mode_enabled" bind-source="search-button" bind-property="active" bind-flags="bidirectional" />
<child>
<object class="GtkSearchEntry" id="search-entry">
<property name="width_chars">30</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolled-window">
<property name="hscrollbar-policy">never</property>
<property name="min-content-height">490</property>
<property name="vexpand">True</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkListBox" id="content">
<property name="selection-mode">GTK_SELECTION_NONE</property>
<property name="margin-top">32</property>
<property name="margin-bottom">32</property>
<style>
<class name="background"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">empty-state</property>
<property name="child">
<object class="AdwStatusPage">
<property name="icon_name">printer-symbolic</property>
<property name="title" translatable="yes">No Printers</property>
<child>
<object class="GtkButton" id="printer-add-button2">
<property name="label" translatable="yes" comments="Translators: This button adds a new printer.">Add Printer…</property>
<property name="receives_default">True</property>
<property name="halign">center</property>
<style>
<class name="suggested-action"/>
<class name="pill"/>
</style>
</object>
</child>
</object>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">no-cups-page</property>
<property name="child">
<object class="AdwStatusPage">
<property name="icon_name">computer-fail-symbolic</property>
<property name="title" translatable="yes" comments="Translators: Title if the CUPS server is not running (we can not connect to it).">No Print Service</property>
<property name="description" translatable="yes" comments="Translators: Description if the CUPS server is not running (we can not connect to it).">The system printing service doesnt seem to be available.</property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<widgets>
<widget name="back-button-1"/>
<widget name="back-spacer-label-1"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup2">
<widgets>
<widget name="back-button-2"/>
<widget name="back-spacer-label-2"/>
</widgets>
</object>
</interface>