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:54:17 +0800
commitd18993476aefeffa86a409d58286a86baef4b8c3 (patch)
tree67ff987d47ffa7e62ba212cadd64534f22587e2e /e-util/e-print.c
parent5e356995407fd947625b0913bdc739c7eed65f9d (diff)
downloadgsoc2013-evolution-d18993476aefeffa86a409d58286a86baef4b8c3.tar
gsoc2013-evolution-d18993476aefeffa86a409d58286a86baef4b8c3.tar.gz
gsoc2013-evolution-d18993476aefeffa86a409d58286a86baef4b8c3.tar.bz2
gsoc2013-evolution-d18993476aefeffa86a409d58286a86baef4b8c3.tar.lz
gsoc2013-evolution-d18993476aefeffa86a409d58286a86baef4b8c3.tar.xz
gsoc2013-evolution-d18993476aefeffa86a409d58286a86baef4b8c3.tar.zst
gsoc2013-evolution-d18993476aefeffa86a409d58286a86baef4b8c3.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);
}