summaryrefslogtreecommitdiff
path: root/panels/printers/cc-printers-panel.c
diff options
context:
space:
mode:
authorFelipe Borges <felipeborges@gnome.org>2016-06-08 16:20:47 +0200
committerFelipe Borges <felipeborges@gnome.org>2016-06-15 15:46:19 +0200
commit11dd608f9488e4872e95b00b7174c21fddccc991 (patch)
tree9decfc93c61ca316c89f2dc418ed5f8387284161 /panels/printers/cc-printers-panel.c
parentda1d8f0d39e81d29cfce62cfe215e6113654ded7 (diff)
downloadgnome-control-center-11dd608f9488e4872e95b00b7174c21fddccc991.tar.gz
printers: use panel-wide page for empty-state
Instead of having the empty-state and no-cups-page states displayed as tabs of the printer notebook, go for panel-wide pages, which better highlight these states and doesn't unnecessarily shows the empty printers list. This change is also part of the effort of the panel redesign, according to the mockups at https://wiki.gnome.org/Design/SystemSettings/Printers https://bugzilla.gnome.org/show_bug.cgi?id=767600
Diffstat (limited to 'panels/printers/cc-printers-panel.c')
-rw-r--r--panels/printers/cc-printers-panel.c22
1 files changed, 7 insertions, 15 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);