[gnome-control-center/wip/feborges/new-printers-panel: 1/2] printers: Make the printers panel a single column
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/feborges/new-printers-panel: 1/2] printers: Make the printers panel a single column
- Date: Wed, 25 Jan 2017 14:12:52 +0000 (UTC)
commit bd31e72605a4fd440b0fce1712c7c1bcf299e0bd
Author: Felipe Borges <felipeborges gnome org>
Date: Wed Jan 25 14:24:04 2017 +0100
printers: Make the printers panel a single column
This patch purges all the former TreeView machinery and makes the
Printers panel have the printers listed in a scrolled window, as
designed at https://wiki.gnome.org/Design/SystemSettings/Printers
https://bugzilla.gnome.org/show_bug.cgi?id=767600
panels/printers/cc-printers-panel.c | 592 +----------------------------------
panels/printers/printers.ui | 70 +----
2 files changed, 14 insertions(+), 648 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index 8f6b2c4..ea71235 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -70,12 +70,7 @@ struct _CcPrintersPanelPrivate
GtkBuilder *builder;
cups_dest_t *dests;
- gchar **dest_model_names;
- gchar **ppd_file_names;
int num_dests;
- int current_dest;
-
- int num_jobs;
GPermission *permission;
gboolean is_authorized;
@@ -83,7 +78,6 @@ struct _CcPrintersPanelPrivate
GSettings *lockdown_settings;
PpNewPrinterDialog *pp_new_printer_dialog;
- PpPPDSelectionDialog *pp_ppd_selection_dialog;
GDBusProxy *cups_proxy;
GDBusConnection *cups_bus_connection;
@@ -93,13 +87,7 @@ struct _CcPrintersPanelPrivate
guint dbus_subscription_id;
GtkWidget *headerbar_buttons;
- GtkWidget *popup_menu;
- GList *driver_change_list;
- GCancellable *get_ppd_name_cancellable;
- gboolean getting_ppd_names;
PPDList *all_ppds_list;
- GHashTable *preferred_drivers;
- GCancellable *get_all_ppds_cancellable;
GCancellable *subscription_renew_cancellable;
gchar *new_printer_name;
@@ -222,37 +210,6 @@ cc_printers_panel_dispose (GObject *object)
priv->all_ppds_list = NULL;
}
- if (priv->preferred_drivers)
- {
- g_hash_table_unref (priv->preferred_drivers);
- priv->preferred_drivers = NULL;
- }
-
- if (priv->get_all_ppds_cancellable)
- {
- g_cancellable_cancel (priv->get_all_ppds_cancellable);
- g_object_unref (priv->get_all_ppds_cancellable);
- priv->get_all_ppds_cancellable = NULL;
- }
-
- if (priv->driver_change_list)
- {
- GList *iter;
-
- for (iter = priv->driver_change_list; iter; iter = iter->next)
- {
- SetPPDItem *item = (SetPPDItem *) iter->data;
-
- g_cancellable_cancel (item->cancellable);
- g_object_unref (item->cancellable);
- g_free (item->printer_name);
- g_free (item);
- }
-
- g_list_free (priv->driver_change_list);
- priv->driver_change_list = NULL;
- }
-
G_OBJECT_CLASS (cc_printers_panel_parent_class)->dispose (object);
}
@@ -488,41 +445,17 @@ static void
free_dests (CcPrintersPanel *self)
{
CcPrintersPanelPrivate *priv;
- gint i;
priv = PRINTERS_PANEL_PRIVATE (self);
if (priv->num_dests > 0)
{
- for (i = 0; i < priv->num_dests; i++)
- {
- g_free (priv->dest_model_names[i]);
- if (priv->ppd_file_names[i]) {
- g_unlink (priv->ppd_file_names[i]);
- g_free (priv->ppd_file_names[i]);
- }
- }
- g_free (priv->dest_model_names);
- g_free (priv->ppd_file_names);
cupsFreeDests (priv->num_dests, priv->dests);
}
priv->dests = NULL;
priv->num_dests = 0;
- priv->current_dest = -1;
- priv->dest_model_names = NULL;
- priv->ppd_file_names = NULL;
}
-enum
-{
- PRINTER_ID_COLUMN,
- PRINTER_NAME_COLUMN,
- PRINTER_PAUSED_COLUMN,
- PRINTER_DEFAULT_ICON_COLUMN,
- PRINTER_ICON_COLUMN,
- PRINTER_N_COLUMNS
-};
-
static void
on_printer_changed (PpPrinterEntry *printer_entry,
gpointer user_data)
@@ -578,106 +511,19 @@ set_current_page (GObject *source_object,
}
static void
-printer_selection_changed_cb (GtkTreeSelection *selection,
- gpointer user_data)
-{
- CcPrintersPanelPrivate *priv;
- CcPrintersPanel *self = (CcPrintersPanel*) user_data;
- GtkTreeModel *model;
- GtkTreeIter iter;
- GtkWidget *widget;
- PpCups *cups;
- gchar *printer_name = NULL;
- gchar *printer_icon = NULL;
- int id = -1;
-
- priv = PRINTERS_PANEL_PRIVATE (self);
-
- if (gtk_tree_selection_get_selected (selection, &model, &iter))
- {
- gtk_tree_model_get (model, &iter,
- PRINTER_ID_COLUMN, &id,
- PRINTER_NAME_COLUMN, &printer_name,
- PRINTER_ICON_COLUMN, &printer_icon,
- -1);
- }
- else
- id = -1;
-
- priv->current_dest = id;
- cups = pp_cups_new ();
-
- widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "main-vbox");
- if (priv->num_dests == 0 && !priv->new_printer_name)
- pp_cups_connection_test_async (g_object_ref (cups), set_current_page, widget);
- else
- gtk_stack_set_visible_child_name (GTK_STACK (widget), "printers-list");
-
- widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "content");
-
- gtk_container_foreach (GTK_CONTAINER (widget), (GtkCallback)clear_all_printer_entries, widget);
-
- add_printer_entry (self, priv->dests[priv->current_dest]);
-}
-
-static void
actualize_printers_list_cb (GObject *source_object,
GAsyncResult *result,
gpointer user_data)
{
CcPrintersPanelPrivate *priv;
- GtkTreeSelection *selection;
CcPrintersPanel *self = (CcPrintersPanel*) user_data;
- GtkListStore *store;
- cups_ptype_t printer_type = 0;
- GtkTreeModel *model;
- GtkTreeIter selected_iter;
- GtkTreeView *treeview;
- GtkTreeIter iter;
- cups_job_t *jobs = NULL;
GtkWidget *widget;
- gboolean paused = FALSE;
- gboolean selected_iter_set = FALSE;
- gboolean valid = FALSE;
PpCups *cups = PP_CUPS (source_object);
PpCupsDests *cups_dests;
- gchar *current_printer_name = NULL;
- gchar *printer_icon_name = NULL;
- gchar *default_icon_name = NULL;
- gchar *device_uri = NULL;
- gint new_printer_position = 0;
- int current_dest = -1;
- int i, j;
- int num_jobs = 0;
+ int i;
priv = PRINTERS_PANEL_PRIVATE (self);
- treeview = (GtkTreeView*)
- gtk_builder_get_object (priv->builder, "printers-treeview");
-
- if ((selection = gtk_tree_view_get_selection (treeview)) != NULL &&
- gtk_tree_selection_get_selected (selection, &model, &iter))
- {
- gtk_tree_model_get (model, &iter,
- PRINTER_NAME_COLUMN, ¤t_printer_name,
- -1);
- }
-
- if (priv->renamed_printer_name != NULL)
- {
- g_free (current_printer_name);
- current_printer_name = priv->renamed_printer_name;
- priv->renamed_printer_name = NULL;
- }
-
- if (priv->new_printer_name &&
- priv->select_new_printer)
- {
- g_free (current_printer_name);
- current_printer_name = g_strdup (priv->new_printer_name);
- priv->select_new_printer = FALSE;
- }
-
free_dests (self);
cups_dests = pp_cups_get_dests_finish (cups, result, NULL);
@@ -685,198 +531,14 @@ actualize_printers_list_cb (GObject *source_object,
priv->num_dests = cups_dests->num_of_dests;
g_free (cups_dests);
- priv->dest_model_names = g_new0 (gchar *, priv->num_dests);
- priv->ppd_file_names = g_new0 (gchar *, priv->num_dests);
-
- store = gtk_list_store_new (PRINTER_N_COLUMNS,
- G_TYPE_INT,
- G_TYPE_STRING,
- G_TYPE_BOOLEAN,
- G_TYPE_STRING,
- G_TYPE_STRING);
-
+ widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "main-vbox");
if (priv->num_dests == 0 && !priv->new_printer_name)
- {
- widget = (GtkWidget*)
- gtk_builder_get_object (priv->builder, "main-vbox");
-
- pp_cups_connection_test_async (g_object_ref (cups), set_current_page, widget);
-
- gtk_widget_set_sensitive (GTK_WIDGET (treeview), FALSE);
- }
+ pp_cups_connection_test_async (g_object_ref (cups), set_current_page, widget);
else
- gtk_widget_set_sensitive (GTK_WIDGET (treeview), TRUE);
-
- g_object_unref (cups);
+ gtk_stack_set_visible_child_name (GTK_STACK (widget), "printers-list");
for (i = 0; i < priv->num_dests; i++)
- {
- gchar *instance;
-
- if (priv->new_printer_name && new_printer_position >= 0)
- {
- gint comparison_result = g_ascii_strcasecmp (priv->dests[i].name, priv->new_printer_name);
-
- if (comparison_result < 0)
- new_printer_position = i + 1;
- else if (comparison_result == 0)
- new_printer_position = -1;
- }
-
- gtk_list_store_append (store, &iter);
-
- if (priv->dests[i].instance)
- {
- instance = g_strdup_printf ("%s / %s", priv->dests[i].name, priv->dests[i].instance);
- }
- else
- {
- instance = g_strdup (priv->dests[i].name);
- }
-
- for (j = 0; j < priv->dests[i].num_options; j++)
- {
- if (g_strcmp0 (priv->dests[i].options[j].name, "printer-state") == 0)
- paused = (g_strcmp0 (priv->dests[i].options[j].value, "5") == 0);
- else if (g_strcmp0 (priv->dests[i].options[j].name, "device-uri") == 0)
- device_uri = priv->dests[i].options[j].value;
- else if (g_strcmp0 (priv->dests[i].options[j].name, "printer-type") == 0)
- printer_type = atoi (priv->dests[i].options[j].value);
- }
-
- if (priv->dests[i].is_default)
- default_icon_name = g_strdup ("object-select-symbolic");
- else
- default_icon_name = NULL;
-
- if (printer_is_local (printer_type, device_uri))
- printer_icon_name = g_strdup ("printer");
- else
- printer_icon_name = g_strdup ("printer-network");
-
- gtk_list_store_set (store, &iter,
- PRINTER_ID_COLUMN, i,
- PRINTER_NAME_COLUMN, instance,
- PRINTER_PAUSED_COLUMN, paused,
- PRINTER_DEFAULT_ICON_COLUMN, default_icon_name,
- PRINTER_ICON_COLUMN, printer_icon_name,
- -1);
-
- if (g_strcmp0 (current_printer_name, instance) == 0)
- {
- current_dest = i;
- selected_iter = iter;
- selected_iter_set = TRUE;
- }
-
- g_free (instance);
- g_free (printer_icon_name);
- g_free (default_icon_name);
- }
-
- if (priv->new_printer_name && new_printer_position >= 0)
- {
- gtk_list_store_insert (store, &iter, new_printer_position);
- gtk_list_store_set (store, &iter,
- PRINTER_ID_COLUMN, -1,
- PRINTER_NAME_COLUMN, priv->new_printer_name,
- PRINTER_PAUSED_COLUMN, TRUE,
- PRINTER_DEFAULT_ICON_COLUMN, NULL,
- PRINTER_ICON_COLUMN, priv->new_printer_on_network ?
- "printer-network" : "printer",
- -1);
-
- if (g_strcmp0 (current_printer_name, priv->new_printer_name) == 0)
- {
- selected_iter = iter;
- selected_iter_set = TRUE;
- }
- }
-
- g_signal_handlers_block_by_func (
- G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview))),
- printer_selection_changed_cb,
- self);
-
- gtk_tree_view_set_model (treeview, GTK_TREE_MODEL (store));
-
- g_signal_handlers_unblock_by_func (
- G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview))),
- printer_selection_changed_cb,
- self);
-
- if (selected_iter_set)
- {
- priv->current_dest = current_dest;
- gtk_tree_selection_select_iter (
- gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
- &selected_iter);
- }
- else
- {
- num_jobs = cupsGetJobs (&jobs, NULL, 1, CUPS_WHICHJOBS_ALL);
-
- /* Select last used printer */
- if (num_jobs > 0)
- {
- for (i = 0; i < priv->num_dests; i++)
- if (g_strcmp0 (priv->dests[i].name, jobs[num_jobs - 1].dest) == 0)
- {
- priv->current_dest = i;
- break;
- }
- cupsFreeJobs (num_jobs, jobs);
- }
-
- /* Select default printer */
- if (priv->current_dest < 0)
- {
- for (i = 0; i < priv->num_dests; i++)
- if (priv->dests[i].is_default)
- {
- priv->current_dest = i;
- break;
- }
- }
-
- if (priv->current_dest >= 0)
- {
- gint id;
- valid = gtk_tree_model_get_iter_first ((GtkTreeModel *) store,
- &selected_iter);
-
- while (valid)
- {
- gtk_tree_model_get ((GtkTreeModel *) store, &selected_iter,
- PRINTER_ID_COLUMN, &id,
- -1);
- if (id == priv->current_dest)
- break;
-
- valid = gtk_tree_model_iter_next ((GtkTreeModel *) store,
- &selected_iter);
- }
-
- gtk_tree_selection_select_iter (
- gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
- &selected_iter);
- }
- else if (priv->num_dests > 0)
- {
- /* Select first printer */
- gtk_tree_model_get_iter_first ((GtkTreeModel *) store,
- &selected_iter);
-
- gtk_tree_selection_select_iter (
- gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
- &selected_iter);
- }
- }
-
- g_free (current_printer_name);
- g_object_unref (store);
-
- update_sensitivity (self);
+ add_printer_entry (self, priv->dests[i]);
}
static void
@@ -889,104 +551,6 @@ actualize_printers_list (CcPrintersPanel *self)
}
static void
-set_cell_sensitivity_func (GtkTreeViewColumn *tree_column,
- GtkCellRenderer *cell,
- GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gpointer func_data)
-{
- CcPrintersPanelPrivate *priv;
- CcPrintersPanel *self = (CcPrintersPanel*) func_data;
- gboolean paused = FALSE;
-
- priv = PRINTERS_PANEL_PRIVATE (self);
-
- gtk_tree_model_get (tree_model, iter, PRINTER_PAUSED_COLUMN, &paused, -1);
-
- if (priv->num_dests == 0)
- g_object_set (G_OBJECT (cell),
- "ellipsize", PANGO_ELLIPSIZE_NONE,
- "width-chars", -1,
- NULL);
- else
- g_object_set (G_OBJECT (cell),
- "ellipsize", PANGO_ELLIPSIZE_END,
- "width-chars", 18,
- NULL);
-
- g_object_set (cell, "sensitive", !paused, NULL);
-}
-
-static void
-set_pixbuf_cell_sensitivity_func (GtkTreeViewColumn *tree_column,
- GtkCellRenderer *cell,
- GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gpointer func_data)
-{
- gboolean paused = FALSE;
-
- gtk_tree_model_get (tree_model, iter, PRINTER_PAUSED_COLUMN, &paused, -1);
- g_object_set (cell, "sensitive", !paused, NULL);
-}
-
-static void
-populate_printers_list (CcPrintersPanel *self)
-{
- CcPrintersPanelPrivate *priv;
- GtkTreeViewColumn *column;
- GtkCellRenderer *icon_renderer;
- GtkCellRenderer *icon_renderer2;
- GtkCellRenderer *renderer;
- GtkWidget *treeview;
- int icon_width;
-
- priv = PRINTERS_PANEL_PRIVATE (self);
-
- treeview = (GtkWidget*)
- gtk_builder_get_object (priv->builder, "printers-treeview");
-
- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
- "changed", G_CALLBACK (printer_selection_changed_cb), self);
-
- actualize_printers_list (self);
-
-
- icon_renderer = gtk_cell_renderer_pixbuf_new ();
- g_object_set (icon_renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
- gtk_cell_renderer_set_padding (icon_renderer, 4, 4);
- column = gtk_tree_view_column_new_with_attributes ("Icon", icon_renderer,
- "icon-name", PRINTER_ICON_COLUMN, NULL);
- gtk_tree_view_column_set_cell_data_func (column, icon_renderer, set_pixbuf_cell_sensitivity_func,
- self, NULL);
- gtk_tree_view_column_set_expand (column, FALSE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
-
-
- renderer = gtk_cell_renderer_text_new ();
- g_object_set (G_OBJECT (renderer),
- "ellipsize", PANGO_ELLIPSIZE_MIDDLE,
- "max-width-chars", 18, NULL);
- column = gtk_tree_view_column_new_with_attributes ("Printer", renderer,
- "text", PRINTER_NAME_COLUMN, NULL);
- gtk_tree_view_column_set_cell_data_func (column, renderer, set_cell_sensitivity_func,
- self, NULL);
- gtk_tree_view_column_set_expand (column, FALSE);
- gtk_tree_view_column_set_min_width (column, 120);
- gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
-
-
- icon_renderer2 = gtk_cell_renderer_pixbuf_new ();
- g_object_set (G_OBJECT (icon_renderer2), "follow-state", TRUE, NULL);
- column = gtk_tree_view_column_new_with_attributes ("Default", icon_renderer2,
- "icon-name", PRINTER_DEFAULT_ICON_COLUMN, NULL);
- gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &icon_width, NULL);
- gtk_cell_renderer_set_fixed_size (icon_renderer2, icon_width, -1);
- gtk_tree_view_column_set_expand (column, FALSE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
-}
-
-static void
new_printer_dialog_pre_response_cb (PpNewPrinterDialog *dialog,
const gchar *device_name,
const gchar *device_location,
@@ -1072,47 +636,14 @@ printer_add_cb (GtkToolButton *toolbutton,
}
static void
-printer_remove_cb (GtkToolButton *toolbutton,
- gpointer user_data)
-{
- CcPrintersPanelPrivate *priv;
- CcPrintersPanel *self = (CcPrintersPanel*) user_data;
- char *printer_name = NULL;
-
- priv = PRINTERS_PANEL_PRIVATE (self);
-
- if (priv->current_dest >= 0 &&
- priv->current_dest < priv->num_dests &&
- priv->dests != NULL)
- printer_name = priv->dests[priv->current_dest].name;
-
- if (printer_name && printer_delete (printer_name))
- actualize_printers_list (self);
-}
-
-static void
update_sensitivity (gpointer user_data)
{
CcPrintersPanelPrivate *priv;
- GtkTreeSelection *selection;
CcPrintersPanel *self = (CcPrintersPanel*) user_data;
- cups_ptype_t type = 0;
- GtkTreeModel *model;
- GtkTreeView *treeview;
- GtkTreeIter tree_iter;
const char *cups_server = NULL;
GtkWidget *widget;
- gboolean is_discovered = FALSE;
- gboolean is_class = FALSE;
- gboolean is_changing_driver = FALSE;
- gboolean printer_selected;
gboolean local_server = TRUE;
gboolean no_cups = FALSE;
- gboolean is_new = FALSE;
- gboolean already_present_local;
- GList *iter;
- gchar *current_printer_name = NULL;
- gint i;
priv = PRINTERS_PANEL_PRIVATE (self);
@@ -1125,56 +656,9 @@ update_sensitivity (gpointer user_data)
gtk_stack_set_visible_child_name (GTK_STACK (priv->headerbar_buttons),
priv->is_authorized ? PAGE_ADDPRINTER : PAGE_LOCK);
- printer_selected = priv->current_dest >= 0 &&
- priv->current_dest < priv->num_dests &&
- priv->dests != NULL;
-
- if (printer_selected)
- {
- for (i = 0; i < priv->dests[priv->current_dest].num_options; i++)
- {
- if (g_strcmp0 (priv->dests[priv->current_dest].options[i].name, "printer-type") == 0)
- {
- type = atoi (priv->dests[priv->current_dest].options[i].value);
- is_discovered = type & CUPS_PRINTER_DISCOVERED;
- is_class = type & CUPS_PRINTER_CLASS;
- break;
- }
- }
-
- for (iter = priv->driver_change_list; iter; iter = iter->next)
- {
- SetPPDItem *item = (SetPPDItem *) iter->data;
-
- if (g_strcmp0 (item->printer_name, priv->dests[priv->current_dest].name) == 0)
- {
- is_changing_driver = TRUE;
- }
- }
- }
-
- treeview = (GtkTreeView*)
- gtk_builder_get_object (priv->builder, "printers-treeview");
-
- selection = gtk_tree_view_get_selection (treeview);
- if (selection &&
- gtk_tree_selection_get_selected (selection, &model, &tree_iter))
- {
- gtk_tree_model_get (model, &tree_iter,
- PRINTER_NAME_COLUMN, ¤t_printer_name,
- -1);
- }
-
- if (priv->new_printer_name &&
- g_strcmp0 (priv->new_printer_name, current_printer_name) == 0)
- {
- printer_selected = TRUE;
- is_discovered = FALSE;
- is_class = FALSE;
- is_new = TRUE;
- }
-
- g_free (current_printer_name);
+ widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "main-vbox");
+ if (g_strcmp0 (gtk_stack_get_visible_child_name (GTK_STACK (widget)), "no-cups-page") == 0)
+ no_cups = TRUE;
cups_server = cupsServer ();
if (cups_server &&
@@ -1184,26 +668,11 @@ update_sensitivity (gpointer user_data)
cups_server[0] != '/')
local_server = FALSE;
- widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "main-vbox");
- if (g_strcmp0 (gtk_stack_get_visible_child_name (GTK_STACK (widget)), "no-cups-page") == 0)
- no_cups = TRUE;
-
- already_present_local = local_server && !is_discovered && priv->is_authorized && !is_new;
-
widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-add-button");
gtk_widget_set_sensitive (widget, local_server && priv->is_authorized && !no_cups &&
!priv->new_printer_name);
widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-add-button2");
gtk_widget_set_sensitive (widget, local_server && priv->is_authorized && !no_cups &&
!priv->new_printer_name);
-
- widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-remove-button");
- gtk_widget_set_sensitive (widget, already_present_local && printer_selected && !no_cups);
-
- widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "main-vbox");
- if (is_changing_driver)
- {
- gtk_stack_set_visible_child_name (GTK_STACK (widget), "loading-page");
- }
}
static void
@@ -1300,29 +769,6 @@ connection_test_cb (GObject *source_object,
}
static void
-get_all_ppds_async_cb (PPDList *ppds,
- gpointer user_data)
-{
- CcPrintersPanelPrivate *priv;
- CcPrintersPanel *self = (CcPrintersPanel*) user_data;
-
- priv = self->priv = PRINTERS_PANEL_PRIVATE (self);
-
- priv->all_ppds_list = ppds;
-
- if (priv->pp_ppd_selection_dialog)
- pp_ppd_selection_dialog_set_ppd_list (priv->pp_ppd_selection_dialog,
- priv->all_ppds_list);
-
- if (priv->pp_new_printer_dialog)
- pp_new_printer_dialog_set_ppd_list (priv->pp_new_printer_dialog,
- priv->all_ppds_list);
-
- g_object_unref (priv->get_all_ppds_cancellable);
- priv->get_all_ppds_cancellable = NULL;
-}
-
-static void
cc_printers_panel_init (CcPrintersPanel *self)
{
CcPrintersPanelPrivate *priv;
@@ -1331,7 +777,6 @@ cc_printers_panel_init (CcPrintersPanel *self)
PpCups *cups;
GError *error = NULL;
gchar *objects[] = { "main-vbox", "headerbar-buttons", NULL };
- GtkStyleContext *context;
guint builder_result;
priv = self->priv = PRINTERS_PANEL_PRIVATE (self);
@@ -1340,12 +785,7 @@ cc_printers_panel_init (CcPrintersPanel *self)
/* initialize main data structure */
priv->builder = gtk_builder_new ();
priv->dests = NULL;
- priv->dest_model_names = NULL;
- priv->ppd_file_names = NULL;
priv->num_dests = 0;
- priv->current_dest = -1;
-
- priv->num_jobs = 0;
priv->pp_new_printer_dialog = NULL;
@@ -1367,12 +807,7 @@ cc_printers_panel_init (CcPrintersPanel *self)
priv->permission = NULL;
priv->lockdown_settings = NULL;
- priv->getting_ppd_names = FALSE;
-
priv->all_ppds_list = NULL;
- priv->get_all_ppds_cancellable = NULL;
-
- priv->preferred_drivers = NULL;
builder_result = gtk_builder_add_objects_from_resource (priv->builder,
"/org/gnome/control-center/printers/printers.ui",
@@ -1403,10 +838,6 @@ cc_printers_panel_init (CcPrintersPanel *self)
gtk_builder_get_object (priv->builder, "printer-add-button2");
g_signal_connect (widget, "clicked", G_CALLBACK (printer_add_cb), self);
- widget = (GtkWidget*)
- gtk_builder_get_object (priv->builder, "printer-remove-button");
- g_signal_connect (widget, "clicked", G_CALLBACK (printer_remove_cb), self);
-
priv->lockdown_settings = g_settings_new ("org.gnome.desktop.lockdown");
if (priv->lockdown_settings)
g_signal_connect_object (priv->lockdown_settings,
@@ -1434,14 +865,9 @@ Please check your installation");
priv->subscription_renew_cancellable = g_cancellable_new ();
- populate_printers_list (self);
+ actualize_printers_list (self);
attach_to_cups_notifier (self);
- priv->get_all_ppds_cancellable = g_cancellable_new ();
- get_all_ppds_async (priv->get_all_ppds_cancellable,
- get_all_ppds_async_cb,
- self);
-
cups = pp_cups_new ();
pp_cups_connection_test_async (cups, connection_test_cb, self);
diff --git a/panels/printers/printers.ui b/panels/printers/printers.ui
index b4799c4..d65ae66 100644
--- a/panels/printers/printers.ui
+++ b/panels/printers/printers.ui
@@ -28,10 +28,6 @@
</child>
</object>
<object class="GtkStack" id="main-vbox">
- <property name="margin-start">6</property>
- <property name="margin-end">6</property>
- <property name="margin-top">6</property>
- <property name="margin-bottom">6</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@@ -48,72 +44,16 @@
</packing>
</child>
<child>
- <object class="GtkBox" id="hbox1">
+ <object class="GtkScrolledWindow">
<property name="visible">True</property>
- <property name="spacing">20</property>
- <property name="border_width">10</property>
- <child>
- <object class="GtkBox" id="vbox4">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkScrolledWindow" id="printers-scrolledwindow">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">never</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkTreeView" id="printers-treeview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="width-request">200</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolbar" id="printers-toolbar">
- <property name="visible">True</property>
- <property name="icon_size">1</property>
- <property name="icon_size_set">True</property>
- <property name="toolbar-style">icons</property>
- <style>
- <class name="inline-toolbar"/>
- </style>
- <child>
- <object class="GtkToolButton" id="printer-remove-button">
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="icon_name">list-remove-symbolic</property>
- <property name="label" translatable="yes">Remove Printer</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
<child>
<object class="GtkBox" id="content">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="halign">center</property>
+ <property name="margin">20</property>
+ <property name="spacing">20</property>
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]