diff options
-rw-r--r-- | panels/printers/cc-printers-panel.c | 22 | ||||
-rw-r--r-- | panels/printers/printers.ui | 229 |
2 files changed, 112 insertions, 139 deletions
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c index fe1e618d1..2ec88b8a7 100644 --- a/panels/printers/cc-printers-panel.c +++ b/panels/printers/cc-printers-panel.c @@ -732,9 +732,8 @@ printer_selection_changed_cb (GtkTreeSelection *selection, priv->dests != NULL) { widget = (GtkWidget*) - gtk_builder_get_object (priv->builder, "notebook"); - if (gtk_notebook_get_current_page (GTK_NOTEBOOK (widget)) >= NOTEBOOK_NO_PRINTERS_PAGE) - gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), NOTEBOOK_INFO_PAGE); + gtk_builder_get_object (priv->builder, "main-vbox"); + gtk_stack_set_visible_child_name (GTK_STACK (widget), "printers-list"); for (i = 0; i < priv->dests[id].num_options; i++) { @@ -1035,9 +1034,8 @@ printer_selection_changed_cb (GtkTreeSelection *selection, printer_model = g_strdup (priv->new_printer_make_and_model); widget = (GtkWidget*) - gtk_builder_get_object (priv->builder, "notebook"); - if (gtk_notebook_get_current_page (GTK_NOTEBOOK (widget)) >= NOTEBOOK_NO_PRINTERS_PAGE) - gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), NOTEBOOK_INFO_PAGE); + gtk_builder_get_object (priv->builder, "main-vbox"); + gtk_stack_set_visible_child_name (GTK_STACK (widget), "printers-list"); } } @@ -1142,9 +1140,9 @@ set_current_page (GObject *source_object, g_object_unref (source_object); if (success) - gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), NOTEBOOK_NO_PRINTERS_PAGE); + gtk_stack_set_visible_child_name (GTK_STACK (widget), "empty-state"); else - gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), NOTEBOOK_NO_CUPS_PAGE); + gtk_stack_set_visible_child_name (GTK_STACK (widget), "no-cups-page"); } static void @@ -1218,7 +1216,7 @@ actualize_printers_list_cb (GObject *source_object, if (priv->num_dests == 0 && !priv->new_printer_name) { widget = (GtkWidget*) - gtk_builder_get_object (priv->builder, "notebook"); + gtk_builder_get_object (priv->builder, "main-vbox"); pp_cups_connection_test_async (g_object_ref (cups), set_current_page, widget); @@ -2663,7 +2661,6 @@ update_sensitivity (gpointer user_data) gboolean already_present_local; GList *iter; gchar *current_printer_name = NULL; - gchar *no_printer_label; gint i; priv = PRINTERS_PANEL_PRIVATE (self); @@ -2745,11 +2742,6 @@ update_sensitivity (gpointer user_data) widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-add-button2"); gtk_widget_set_sensitive (widget, local_server && is_authorized && !no_cups && !priv->new_printer_name); - widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "no-printer-label"); - no_printer_label = g_strdup_printf ("<span size=\"larger\" weight=\"bold\">%s</span>", _("No printers")); - gtk_label_set_markup (GTK_LABEL (widget), no_printer_label); - g_free (no_printer_label); - widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-remove-button"); gtk_widget_set_sensitive (widget, already_present_local && printer_selected && !no_cups); diff --git a/panels/printers/printers.ui b/panels/printers/printers.ui index f27efcab8..f88711589 100644 --- a/panels/printers/printers.ui +++ b/panels/printers/printers.ui @@ -2,10 +2,7 @@ <interface> <requires lib="gtk+" version="3.12"/> <!-- interface-naming-policy project-wide --> - <object class="GtkBox" id="main-vbox"> - <property name="border_width">10</property> - <property name="orientation">vertical</property> - <property name="spacing">10</property> + <object class="GtkStack" id="main-vbox"> <property name="margin-start">6</property> <property name="margin-end">6</property> <property name="margin-top">6</property> @@ -13,7 +10,8 @@ <child> <object class="GtkBox" id="hbox1"> <property name="visible">True</property> - <property name="spacing">10</property> + <property name="spacing">20</property> + <property name="border_width">10</property> <child> <object class="GtkBox" id="vbox4"> <property name="visible">True</property> @@ -536,123 +534,108 @@ <property name="tab_fill">False</property> </packing> </child> - <child> - <object class="GtkBox" id="hbuttonbox2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="spacing">10</property> - <property name="orientation">vertical</property> - <property name="valign">center</property> - <child> - <object class="GtkImage" id="no-printer-image"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="valign">start</property> - <property name="pixel_size">64</property> - <property name="icon_name">printer-symbolic</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="no-printer-label"> - <property name="visible">True</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="printer-add-button2"> - <property name="label" translatable="yes" comments="Translators: This button adds new printer.">Add a Printer</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="halign">center</property> - <property name="relief">normal</property> - <style> - <class name="suggested-action"/> - </style> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - <child type="tab"> - <object class="GtkLabel" id="label21"> - <property name="visible">True</property> - <property name="label">No printers</property> - </object> - <packing> - <property name="position">1</property> - <property name="tab_fill">False</property> - </packing> - </child> - <child> - <object class="GtkBox" id="vbox7"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="spacing">20</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel" id="no-cups-label"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="yalign">1</property> - <property name="label" translatable="yes" comments="Translators: The CUPS server is not running (we can not connect to it).">Sorry! The system printing service + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="name">printers-list</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">10</property> + <property name="orientation">vertical</property> + <property name="valign">center</property> + <child> + <object class="GtkImage"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">start</property> + <property name="pixel_size">72</property> + <property name="icon_name">printer-symbolic</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="label" translatable="yes">No printers</property> + <style> + <class name="dim-label"/> + </style> + <attributes> + <attribute name="weight" value="bold"/> + <attribute name="scale" value="1.2"/> + </attributes> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="printer-add-button2"> + <property name="label" translatable="yes" comments="Translators: This button adds new printer.">Add a Printer</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="halign">center</property> + <property name="relief">normal</property> + <style> + <class name="suggested-action"/> + </style> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="name">empty-state</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">20</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="yalign">1</property> + <property name="label" translatable="yes" comments="Translators: The CUPS server is not running (we can not connect to it).">Sorry! The system printing service doesn't seem to be available.</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="valign">start</property> - <property name="pixel_size">64</property> - <property name="icon_name">computer-fail</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="position">2</property> - </packing> - </child> - <child type="tab"> - <object class="GtkLabel" id="label9"> - <property name="visible">True</property> - <property name="label">No cups</property> - </object> - <packing> - <property name="position">2</property> - <property name="tab_fill">False</property> - </packing> - </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkImage"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">start</property> + <property name="pixel_size">64</property> + <property name="icon_name">computer-fail</property> </object> <packing> <property name="expand">True</property> @@ -662,9 +645,7 @@ doesn't seem to be available.</property> </child> </object> <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> + <property name="name">no-cups-page</property> </packing> </child> </object> |