printers: Show icons of printers in printers list
Mark default printer in printers list.
This commit is contained in:
parent
88562eba2d
commit
265948473e
1 changed files with 39 additions and 4 deletions
|
@ -155,9 +155,11 @@ cc_printers_panel_class_finalize (CcPrintersPanelClass *klass)
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PRINTER_NAME_COLUMN,
|
|
||||||
PRINTER_ID_COLUMN,
|
PRINTER_ID_COLUMN,
|
||||||
|
PRINTER_NAME_COLUMN,
|
||||||
PRINTER_PAUSED_COLUMN,
|
PRINTER_PAUSED_COLUMN,
|
||||||
|
PRINTER_DEFAULT_ICON_COLUMN,
|
||||||
|
PRINTER_ICON_COLUMN,
|
||||||
PRINTER_N_COLUMNS
|
PRINTER_N_COLUMNS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -514,6 +516,8 @@ actualize_printers_list (CcPrintersPanel *self)
|
||||||
gboolean paused = FALSE;
|
gboolean paused = FALSE;
|
||||||
gchar *current_printer_instance = NULL;
|
gchar *current_printer_instance = NULL;
|
||||||
gchar *current_printer_name = NULL;
|
gchar *current_printer_name = NULL;
|
||||||
|
gchar *printer_icon_name = NULL;
|
||||||
|
gchar *default_icon_name = NULL;
|
||||||
int current_dest = -1;
|
int current_dest = -1;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
|
@ -537,9 +541,11 @@ actualize_printers_list (CcPrintersPanel *self)
|
||||||
gtk_builder_get_object (priv->builder, "printers-treeview");
|
gtk_builder_get_object (priv->builder, "printers-treeview");
|
||||||
|
|
||||||
store = gtk_list_store_new (PRINTER_N_COLUMNS,
|
store = gtk_list_store_new (PRINTER_N_COLUMNS,
|
||||||
G_TYPE_STRING,
|
|
||||||
G_TYPE_INT,
|
G_TYPE_INT,
|
||||||
G_TYPE_BOOLEAN);
|
G_TYPE_STRING,
|
||||||
|
G_TYPE_BOOLEAN,
|
||||||
|
G_TYPE_STRING,
|
||||||
|
G_TYPE_STRING);
|
||||||
|
|
||||||
for (i = 0; i < priv->num_dests; i++)
|
for (i = 0; i < priv->num_dests; i++)
|
||||||
{
|
{
|
||||||
|
@ -577,12 +583,24 @@ actualize_printers_list (CcPrintersPanel *self)
|
||||||
paused = (g_strcmp0 (priv->dests[i].options[j].value, "5") == 0);
|
paused = (g_strcmp0 (priv->dests[i].options[j].value, "5") == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (priv->dests[i].is_default)
|
||||||
|
default_icon_name = g_strdup ("gtk-apply");
|
||||||
|
else
|
||||||
|
default_icon_name = NULL;
|
||||||
|
|
||||||
|
printer_icon_name = g_strdup ("printer");
|
||||||
|
|
||||||
gtk_list_store_set (store, &iter,
|
gtk_list_store_set (store, &iter,
|
||||||
PRINTER_NAME_COLUMN, instance,
|
|
||||||
PRINTER_ID_COLUMN, i,
|
PRINTER_ID_COLUMN, i,
|
||||||
|
PRINTER_NAME_COLUMN, instance,
|
||||||
PRINTER_PAUSED_COLUMN, paused,
|
PRINTER_PAUSED_COLUMN, paused,
|
||||||
|
PRINTER_DEFAULT_ICON_COLUMN, default_icon_name,
|
||||||
|
PRINTER_ICON_COLUMN, printer_icon_name,
|
||||||
-1);
|
-1);
|
||||||
|
|
||||||
g_free (instance);
|
g_free (instance);
|
||||||
|
g_free (printer_icon_name);
|
||||||
|
g_free (default_icon_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_tree_view_set_model (treeview, GTK_TREE_MODEL (store));
|
gtk_tree_view_set_model (treeview, GTK_TREE_MODEL (store));
|
||||||
|
@ -676,6 +694,8 @@ populate_printers_list (CcPrintersPanel *self)
|
||||||
{
|
{
|
||||||
CcPrintersPanelPrivate *priv;
|
CcPrintersPanelPrivate *priv;
|
||||||
GtkTreeViewColumn *column;
|
GtkTreeViewColumn *column;
|
||||||
|
GtkCellRenderer *icon_renderer;
|
||||||
|
GtkCellRenderer *icon_renderer2;
|
||||||
GtkCellRenderer *renderer;
|
GtkCellRenderer *renderer;
|
||||||
GtkWidget *treeview;
|
GtkWidget *treeview;
|
||||||
|
|
||||||
|
@ -690,12 +710,27 @@ populate_printers_list (CcPrintersPanel *self)
|
||||||
actualize_printers_list (self);
|
actualize_printers_list (self);
|
||||||
|
|
||||||
|
|
||||||
|
icon_renderer = gtk_cell_renderer_pixbuf_new ();
|
||||||
|
g_object_set (icon_renderer, "stock-size", GTK_ICON_SIZE_DND, NULL);
|
||||||
|
column = gtk_tree_view_column_new_with_attributes ("Icon", icon_renderer,
|
||||||
|
"icon-name", PRINTER_ICON_COLUMN, 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 ();
|
renderer = gtk_cell_renderer_text_new ();
|
||||||
column = gtk_tree_view_column_new_with_attributes ("Printer", renderer,
|
column = gtk_tree_view_column_new_with_attributes ("Printer", renderer,
|
||||||
"text", PRINTER_NAME_COLUMN, NULL);
|
"text", PRINTER_NAME_COLUMN, NULL);
|
||||||
gtk_tree_view_column_set_cell_data_func (column, renderer, set_cell_sensitivity_func,
|
gtk_tree_view_column_set_cell_data_func (column, renderer, set_cell_sensitivity_func,
|
||||||
self, NULL);
|
self, NULL);
|
||||||
|
gtk_tree_view_column_set_expand (column, FALSE);
|
||||||
|
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
|
||||||
|
|
||||||
|
|
||||||
|
icon_renderer2 = gtk_cell_renderer_pixbuf_new ();
|
||||||
|
column = gtk_tree_view_column_new_with_attributes ("Default", icon_renderer2,
|
||||||
|
"stock-id", PRINTER_DEFAULT_ICON_COLUMN, NULL);
|
||||||
|
gtk_tree_view_column_set_expand (column, FALSE);
|
||||||
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
|
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue