printers: Cache pointer to devices-treeview
Store device-treeview in PpNewPrinterDialogPrivate so we don't need to search for it each time we need it. https://bugzilla.gnome.org/show_bug.cgi?id=749830
This commit is contained in:
parent
c26553ed3e
commit
68e92988a8
1 changed files with 29 additions and 51 deletions
|
@ -87,6 +87,8 @@ struct _PpNewPrinterDialogPrivate
|
||||||
GList *devices;
|
GList *devices;
|
||||||
GList *local_cups_devices;
|
GList *local_cups_devices;
|
||||||
|
|
||||||
|
GtkTreeView *treeview;
|
||||||
|
|
||||||
cups_dest_t *dests;
|
cups_dest_t *dests;
|
||||||
gint num_of_dests;
|
gint num_of_dests;
|
||||||
|
|
||||||
|
@ -329,15 +331,10 @@ authenticate_samba_server (GtkButton *button,
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
AuthSMBData *data;
|
AuthSMBData *data;
|
||||||
GtkWidget *treeview;
|
|
||||||
PpSamba *samba_host;
|
PpSamba *samba_host;
|
||||||
gchar *server_name = NULL;
|
gchar *server_name = NULL;
|
||||||
|
|
||||||
treeview = WID ("devices-treeview");
|
if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (priv->treeview), &model, &iter))
|
||||||
|
|
||||||
if (treeview &&
|
|
||||||
gtk_tree_selection_get_selected (
|
|
||||||
gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), &model, &iter))
|
|
||||||
{
|
{
|
||||||
gtk_tree_model_get (model, &iter,
|
gtk_tree_model_get (model, &iter,
|
||||||
DEVICE_NAME_COLUMN, &server_name,
|
DEVICE_NAME_COLUMN, &server_name,
|
||||||
|
@ -395,6 +392,8 @@ pp_new_printer_dialog_init (PpNewPrinterDialog *dialog)
|
||||||
/* Construct dialog */
|
/* Construct dialog */
|
||||||
priv->dialog = WID ("dialog");
|
priv->dialog = WID ("dialog");
|
||||||
|
|
||||||
|
priv->treeview = GTK_TREE_VIEW (WID ("devices-treeview"));
|
||||||
|
|
||||||
/* Connect signals */
|
/* Connect signals */
|
||||||
g_signal_connect (priv->dialog, "response", G_CALLBACK (new_printer_dialog_response_cb), dialog);
|
g_signal_connect (priv->dialog, "response", G_CALLBACK (new_printer_dialog_response_cb), dialog);
|
||||||
|
|
||||||
|
@ -478,17 +477,12 @@ device_selection_changed_cb (GtkTreeSelection *selection,
|
||||||
PpNewPrinterDialogPrivate *priv = dialog->priv;
|
PpNewPrinterDialogPrivate *priv = dialog->priv;
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkWidget *treeview = NULL;
|
|
||||||
GtkWidget *widget;
|
GtkWidget *widget;
|
||||||
GtkWidget *notebook;
|
GtkWidget *notebook;
|
||||||
gboolean authentication_needed;
|
gboolean authentication_needed;
|
||||||
gboolean selected;
|
gboolean selected;
|
||||||
|
|
||||||
treeview = WID ("devices-treeview");
|
selected = gtk_tree_selection_get_selected (gtk_tree_view_get_selection (priv->treeview),
|
||||||
if (treeview)
|
|
||||||
{
|
|
||||||
selected = gtk_tree_selection_get_selected (
|
|
||||||
gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
|
|
||||||
&model,
|
&model,
|
||||||
&iter);
|
&iter);
|
||||||
|
|
||||||
|
@ -511,7 +505,6 @@ device_selection_changed_cb (GtkTreeSelection *selection,
|
||||||
else
|
else
|
||||||
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0);
|
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1585,15 +1578,12 @@ actualize_devices_list (PpNewPrinterDialog *dialog)
|
||||||
GtkTreeSelection *selection;
|
GtkTreeSelection *selection;
|
||||||
PpPrintDevice *device;
|
PpPrintDevice *device;
|
||||||
GtkListStore *store;
|
GtkListStore *store;
|
||||||
GtkTreeView *treeview;
|
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkWidget *widget;
|
GtkWidget *widget;
|
||||||
gboolean no_device = TRUE;
|
gboolean no_device = TRUE;
|
||||||
GList *item;
|
GList *item;
|
||||||
gchar *description;
|
gchar *description;
|
||||||
|
|
||||||
treeview = GTK_TREE_VIEW (WID ("devices-treeview"));
|
|
||||||
|
|
||||||
store = GTK_LIST_STORE (gtk_builder_get_object (priv->builder, "devices-liststore"));
|
store = GTK_LIST_STORE (gtk_builder_get_object (priv->builder, "devices-liststore"));
|
||||||
|
|
||||||
gtk_list_store_clear (store);
|
gtk_list_store_clear (store);
|
||||||
|
@ -1673,7 +1663,7 @@ actualize_devices_list (PpNewPrinterDialog *dialog)
|
||||||
|
|
||||||
if (!no_device &&
|
if (!no_device &&
|
||||||
gtk_tree_model_get_iter_first ((GtkTreeModel *) store, &iter) &&
|
gtk_tree_model_get_iter_first ((GtkTreeModel *) store, &iter) &&
|
||||||
(selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview))) != NULL)
|
(selection = gtk_tree_view_get_selection (priv->treeview)) != NULL)
|
||||||
gtk_tree_selection_select_iter (selection, &iter);
|
gtk_tree_selection_select_iter (selection, &iter);
|
||||||
|
|
||||||
update_spinner_state (dialog);
|
update_spinner_state (dialog);
|
||||||
|
@ -1740,17 +1730,12 @@ cell_data_func (GtkTreeViewColumn *tree_column,
|
||||||
{
|
{
|
||||||
PpNewPrinterDialog *dialog = (PpNewPrinterDialog *) user_data;
|
PpNewPrinterDialog *dialog = (PpNewPrinterDialog *) user_data;
|
||||||
PpNewPrinterDialogPrivate *priv = dialog->priv;
|
PpNewPrinterDialogPrivate *priv = dialog->priv;
|
||||||
GtkWidget *treeview;
|
|
||||||
gboolean selected = FALSE;
|
gboolean selected = FALSE;
|
||||||
gchar *name = NULL;
|
gchar *name = NULL;
|
||||||
gchar *description = NULL;
|
gchar *description = NULL;
|
||||||
gchar *text;
|
gchar *text;
|
||||||
|
|
||||||
treeview = WID ("devices-treeview");
|
selected = gtk_tree_selection_iter_is_selected (gtk_tree_view_get_selection (priv->treeview), iter);
|
||||||
|
|
||||||
if (treeview != NULL)
|
|
||||||
selected = gtk_tree_selection_iter_is_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
|
|
||||||
iter);
|
|
||||||
|
|
||||||
gtk_tree_model_get (tree_model, iter,
|
gtk_tree_model_get (tree_model, iter,
|
||||||
DEVICE_DISPLAY_NAME_COLUMN, &name,
|
DEVICE_DISPLAY_NAME_COLUMN, &name,
|
||||||
|
@ -1792,18 +1777,15 @@ populate_devices_list (PpNewPrinterDialog *dialog)
|
||||||
{
|
{
|
||||||
PpNewPrinterDialogPrivate *priv = dialog->priv;
|
PpNewPrinterDialogPrivate *priv = dialog->priv;
|
||||||
GtkTreeViewColumn *column;
|
GtkTreeViewColumn *column;
|
||||||
GtkWidget *treeview;
|
|
||||||
PpSamba *samba;
|
PpSamba *samba;
|
||||||
GEmblem *emblem;
|
GEmblem *emblem;
|
||||||
PpCups *cups;
|
PpCups *cups;
|
||||||
GIcon *icon, *emblem_icon;
|
GIcon *icon, *emblem_icon;
|
||||||
|
|
||||||
treeview = WID ("devices-treeview");
|
g_signal_connect (gtk_tree_view_get_selection (priv->treeview),
|
||||||
|
|
||||||
g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
|
|
||||||
"changed", G_CALLBACK (device_selection_changed_cb), dialog);
|
"changed", G_CALLBACK (device_selection_changed_cb), dialog);
|
||||||
|
|
||||||
g_signal_connect (treeview,
|
g_signal_connect (priv->treeview,
|
||||||
"row-activated", G_CALLBACK (row_activated_cb), dialog);
|
"row-activated", G_CALLBACK (row_activated_cb), dialog);
|
||||||
|
|
||||||
priv->local_printer_icon = g_themed_icon_new ("printer");
|
priv->local_printer_icon = g_themed_icon_new ("printer");
|
||||||
|
@ -1827,7 +1809,7 @@ populate_devices_list (PpNewPrinterDialog *dialog)
|
||||||
"gicon", DEVICE_GICON_COLUMN, NULL);
|
"gicon", DEVICE_GICON_COLUMN, NULL);
|
||||||
gtk_tree_view_column_set_max_width (column, -1);
|
gtk_tree_view_column_set_max_width (column, -1);
|
||||||
gtk_tree_view_column_set_min_width (column, 80);
|
gtk_tree_view_column_set_min_width (column, 80);
|
||||||
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
|
gtk_tree_view_append_column (priv->treeview, column);
|
||||||
|
|
||||||
|
|
||||||
priv->text_renderer = gtk_cell_renderer_text_new ();
|
priv->text_renderer = gtk_cell_renderer_text_new ();
|
||||||
|
@ -1835,7 +1817,7 @@ populate_devices_list (PpNewPrinterDialog *dialog)
|
||||||
NULL);
|
NULL);
|
||||||
gtk_tree_view_column_set_cell_data_func (column, priv->text_renderer, cell_data_func,
|
gtk_tree_view_column_set_cell_data_func (column, priv->text_renderer, cell_data_func,
|
||||||
dialog, NULL);
|
dialog, NULL);
|
||||||
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
|
gtk_tree_view_append_column (priv->treeview, column);
|
||||||
|
|
||||||
cups = pp_cups_new ();
|
cups = pp_cups_new ();
|
||||||
pp_cups_get_dests_async (cups, priv->cancellable, cups_get_dests_cb, dialog);
|
pp_cups_get_dests_async (cups, priv->cancellable, cups_get_dests_cb, dialog);
|
||||||
|
@ -1977,7 +1959,6 @@ new_printer_dialog_response_cb (GtkDialog *_dialog,
|
||||||
PpPrintDevice *tmp;
|
PpPrintDevice *tmp;
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkWidget *treeview;
|
|
||||||
GList *list_iter;
|
GList *list_iter;
|
||||||
gchar *device_name = NULL;
|
gchar *device_name = NULL;
|
||||||
|
|
||||||
|
@ -1988,10 +1969,7 @@ new_printer_dialog_response_cb (GtkDialog *_dialog,
|
||||||
g_cancellable_cancel (priv->cancellable);
|
g_cancellable_cancel (priv->cancellable);
|
||||||
g_clear_object (&priv->cancellable);
|
g_clear_object (&priv->cancellable);
|
||||||
|
|
||||||
treeview = WID ("devices-treeview");
|
if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (priv->treeview), &model, &iter))
|
||||||
if (treeview &&
|
|
||||||
gtk_tree_selection_get_selected (
|
|
||||||
gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), &model, &iter))
|
|
||||||
{
|
{
|
||||||
gtk_tree_model_get (model, &iter,
|
gtk_tree_model_get (model, &iter,
|
||||||
DEVICE_NAME_COLUMN, &device_name,
|
DEVICE_NAME_COLUMN, &device_name,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue