aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-print.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-04-18 21:43:53 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-04-18 21:50:13 +0800
commitca14525fbb14e4150365860ab1354695d3153cdf (patch)
treeb57ff071e79aa3c8cc086d795979ed608a686866 /e-util/e-print.c
parentb0c6583c07d925a1d344170a6142ff12df67d428 (diff)
downloadgsoc2013-evolution-ca14525fbb14e4150365860ab1354695d3153cdf.tar
gsoc2013-evolution-ca14525fbb14e4150365860ab1354695d3153cdf.tar.gz
gsoc2013-evolution-ca14525fbb14e4150365860ab1354695d3153cdf.tar.bz2
gsoc2013-evolution-ca14525fbb14e4150365860ab1354695d3153cdf.tar.lz
gsoc2013-evolution-ca14525fbb14e4150365860ab1354695d3153cdf.tar.xz
gsoc2013-evolution-ca14525fbb14e4150365860ab1354695d3153cdf.tar.zst
gsoc2013-evolution-ca14525fbb14e4150365860ab1354695d3153cdf.zip
Bug 616097 - Remembers page ranges
Exclude print settings that should not persist. This topic has a lot of grey areas and GTK+ offers no help, so we'll do this by popular demand. For starters, I'm excluding settings that have messed -me- up in the past: GTK_PRINT_SETTINGS_N_COPIES GTK_PRINT_SETTINGS_PAGE_RANGES GTK_PRINT_SETTINGS_PAGE_SET GTK_PRINT_SETTINGS_PRINT_PAGES
Diffstat (limited to 'e-util/e-print.c')
-rw-r--r--e-util/e-print.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/e-util/e-print.c b/e-util/e-print.c
index 6e5afd05f7..bb5ce9067a 100644
--- a/e-util/e-print.c
+++ b/e-util/e-print.c
@@ -109,6 +109,17 @@ static void
save_settings (GtkPrintSettings *settings,
GKeyFile *key_file)
{
+ /* XXX GtkPrintSettings does not distinguish between settings
+ * that should persist and one-time-only settings, such as
+ * page range or number of copies. All print settings are
+ * persistent by default and we opt out particular keys by
+ * popular demand. */
+
+ gtk_print_settings_unset (settings, GTK_PRINT_SETTINGS_N_COPIES);
+ gtk_print_settings_unset (settings, GTK_PRINT_SETTINGS_PAGE_RANGES);
+ gtk_print_settings_unset (settings, GTK_PRINT_SETTINGS_PAGE_SET);
+ gtk_print_settings_unset (settings, GTK_PRINT_SETTINGS_PRINT_PAGES);
+
gtk_print_settings_to_key_file (settings, key_file, NULL);
}