[gedit] Persist page-setup when using the embedded page setup.
- From: Paolo Borelli <pborelli src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gedit] Persist page-setup when using the embedded page setup.
- Date: Mon, 24 Aug 2009 19:47:33 +0000 (UTC)
commit b4bf42322868c63fe332cd4d26314cabb122d2d0
Author: Marek KaÅ¡Ãk <mkasik redhat com>
Date: Mon Aug 24 21:40:23 2009 +0200
Persist page-setup when using the embedded page setup.
gedit/gedit-print-job.c | 7 +++++++
gedit/gedit-print-job.h | 14 +++++++-------
gedit/gedit-tab.c | 17 +++++++++++++++--
3 files changed, 29 insertions(+), 9 deletions(-)
---
diff --git a/gedit/gedit-print-job.c b/gedit/gedit-print-job.c
index 3e26c42..00acba2 100644
--- a/gedit/gedit-print-job.c
+++ b/gedit/gedit-print-job.c
@@ -856,3 +856,10 @@ gedit_print_job_get_print_settings (GeditPrintJob *job)
return gtk_print_operation_get_print_settings (job->priv->operation);
}
+GtkPageSetup *
+gedit_print_job_get_page_setup (GeditPrintJob *job)
+{
+ g_return_val_if_fail (GEDIT_IS_PRINT_JOB (job), NULL);
+
+ return gtk_print_operation_get_default_page_setup (job->priv->operation);
+}
diff --git a/gedit/gedit-print-job.h b/gedit/gedit-print-job.h
index 261be96..956dc73 100644
--- a/gedit/gedit-print-job.h
+++ b/gedit/gedit-print-job.h
@@ -110,7 +110,7 @@ GeditPrintJob *gedit_print_job_new (GeditView *view);
void gedit_print_job_set_export_filename (GeditPrintJob *job,
const gchar *filename);
-
+
GtkPrintOperationResult gedit_print_job_print (GeditPrintJob *job,
GtkPrintOperationAction action,
GtkPageSetup *page_setup,
@@ -118,15 +118,15 @@ GtkPrintOperationResult gedit_print_job_print (GeditPrintJob *job,
GtkWindow *parent,
GError **error);
-void gedit_print_job_cancel (GeditPrintJob *job);
+void gedit_print_job_cancel (GeditPrintJob *job);
+
+const gchar *gedit_print_job_get_status_string (GeditPrintJob *job);
-// GeditView *gedit_print_job_get_view (GeditPrintJob *job);
-
-const gchar *gedit_print_job_get_status_string (GeditPrintJob *job);
+gdouble gedit_print_job_get_progress (GeditPrintJob *job);
-gdouble gedit_print_job_get_progress (GeditPrintJob *job);
+GtkPrintSettings *gedit_print_job_get_print_settings (GeditPrintJob *job);
-GtkPrintSettings *gedit_print_job_get_print_settings (GeditPrintJob *job);
+GtkPageSetup *gedit_print_job_get_page_setup (GeditPrintJob *job);
G_END_DECLS
diff --git a/gedit/gedit-tab.c b/gedit/gedit-tab.c
index 476f3fd..fa0c65e 100644
--- a/gedit/gedit-tab.c
+++ b/gedit/gedit-tab.c
@@ -2321,17 +2321,18 @@ done_printing_cb (GeditPrintJob *job,
// TODO: check status and error
- /* Save the print settings */
+ /* Save the print settings and the page setup */
if (result == GEDIT_PRINT_JOB_RESULT_OK)
{
GeditDocument *doc;
GtkPrintSettings *settings;
+ GtkPageSetup *page_setup;
doc = gedit_tab_get_document (tab);
settings = gedit_print_job_get_print_settings (job);
- /* remember them for this document */
+ /* remember settings for this document */
g_object_set_data_full (G_OBJECT (doc),
GEDIT_PRINT_SETTINGS_KEY,
g_object_ref (settings),
@@ -2340,6 +2341,18 @@ done_printing_cb (GeditPrintJob *job,
/* make them the default */
_gedit_app_set_default_print_settings (gedit_app_get_default (),
settings);
+
+ page_setup = gedit_print_job_get_page_setup (job);
+
+ /* remember page setup for this document */
+ g_object_set_data_full (G_OBJECT (doc),
+ GEDIT_PAGE_SETUP_KEY,
+ g_object_ref (page_setup),
+ (GDestroyNotify)g_object_unref);
+
+ /* make it the default */
+ _gedit_app_set_default_page_setup (gedit_app_get_default (),
+ page_setup);
}
#if 0
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]