[gnome-control-center] printers: Don't show printers separator when not needed
- From: Marek Kašík <mkasik src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] printers: Don't show printers separator when not needed
- Date: Thu, 10 Feb 2011 10:02:40 +0000 (UTC)
commit 88ff47618b0f4b93c0d6c5b40f15e49505499974
Author: Marek Kasik <mkasik redhat com>
Date: Thu Feb 10 11:00:27 2011 +0100
printers: Don't show printers separator when not needed
Don't show printers separator when there are only unused printers.
panels/printers/cc-printers-panel.c | 30 ++++++++++++++++++------------
1 files changed, 18 insertions(+), 12 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index 8fb8f54..13ba0d5 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -542,6 +542,7 @@ actualize_printers_list (CcPrintersPanel *self)
GtkTreeView *treeview;
GtkTreeIter iter;
cups_job_t *jobs = NULL;
+ gboolean has_used_printer = FALSE;
gboolean has_separator = FALSE;
gboolean paused = FALSE;
gboolean valid = FALSE;
@@ -588,7 +589,7 @@ actualize_printers_list (CcPrintersPanel *self)
num_jobs = cupsGetJobs (&jobs, priv->dests[i].name, 1, CUPS_WHICHJOBS_ALL);
usage->printer_id = i;
usage->usage = num_jobs;
- usages = g_list_prepend (usages, usage);
+ usages = g_list_append (usages, usage);
cupsFreeJobs (num_jobs, jobs);
}
num_jobs = 0;
@@ -601,19 +602,24 @@ actualize_printers_list (CcPrintersPanel *self)
gchar *instance;
i = ((PrinterUsage*) tmp_list->data)->printer_id;
- if (((PrinterUsage*) tmp_list->data)->usage == 0 && !has_separator)
+ if (((PrinterUsage*) tmp_list->data)->usage == 0)
{
- has_separator = TRUE;
- gtk_list_store_append (store, &iter);
- gtk_list_store_set (store, &iter,
- PRINTER_ID_COLUMN, -1,
- PRINTER_NAME_COLUMN, NULL,
- PRINTER_PAUSED_COLUMN, FALSE,
- PRINTER_DEFAULT_ICON_COLUMN, FALSE,
- PRINTER_ICON_COLUMN, NULL,
- PRINTER_IS_SEPARATOR_COLUMN, TRUE,
- -1);
+ if (!has_separator && has_used_printer)
+ {
+ has_separator = TRUE;
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter,
+ PRINTER_ID_COLUMN, -1,
+ PRINTER_NAME_COLUMN, NULL,
+ PRINTER_PAUSED_COLUMN, FALSE,
+ PRINTER_DEFAULT_ICON_COLUMN, FALSE,
+ PRINTER_ICON_COLUMN, NULL,
+ PRINTER_IS_SEPARATOR_COLUMN, TRUE,
+ -1);
+ }
}
+ else
+ has_used_printer = TRUE;
gtk_list_store_append (store, &iter);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]