]> Pileus Git - ~andy/gtk/commitdiff
Move the registration of the gtk-print-preview-command setting from
authorMatthias Clasen <mclasen@redhat.com>
Fri, 16 Jun 2006 16:57:02 +0000 (16:57 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 16 Jun 2006 16:57:02 +0000 (16:57 +0000)
2006-06-16  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintbackend.c: Move the registration of the
gtk-print-preview-command setting from gtkprintbackend.c to
gtkprintoperation-unix.c, to make sure it is registered before
the first use. Also, document the two settings.

ChangeLog
ChangeLog.pre-2-10
gtk/gtkprintbackend.c
gtk/gtkprintoperation-unix.c

index 0e163615224910685398f73b30f1f16a0c089b26..720ee78641758f75f912114febbee2bd021cfc3c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2006-06-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkprintoperation-unix.c: 
+       * gtk/gtkprintbackend.c: Move the registration of the 
+       gtk-print-preview-command setting from gtkprintbackend.c to 
+       gtkprintoperation-unix.c, to make sure it is registered before
+       the first use. Also, document the two settings.
+
        * tests/print-editor.c: Add a "Preview" menu item.
 
        * gtk/gtkprintoperation-unix.c (handle_print_response): When starting
index 0e163615224910685398f73b30f1f16a0c089b26..720ee78641758f75f912114febbee2bd021cfc3c 100644 (file)
@@ -1,5 +1,11 @@
 2006-06-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkprintoperation-unix.c: 
+       * gtk/gtkprintbackend.c: Move the registration of the 
+       gtk-print-preview-command setting from gtkprintbackend.c to 
+       gtkprintoperation-unix.c, to make sure it is registered before
+       the first use. Also, document the two settings.
+
        * tests/print-editor.c: Add a "Preview" menu item.
 
        * gtk/gtkprintoperation-unix.c (handle_print_response): When starting
index cbcf21e8fba836f7af5ce18a9331d1314626d98b..a70582b7a1b6bcfcd53fbd6fad376f2e19021902 100644 (file)
@@ -248,17 +248,21 @@ gtk_print_backend_initialize (void)
 
   if (!initialized)
     {
+      /**
+       * GtkSettings::gtk-print-backends:
+       *
+       * A comma-separated list of print backends to use in the print
+       * dialog. Available print backends depend on the GTK+ installation,
+       * and may include "pdf", "cups" or "lpr".
+       *
+       * Since: 2.10
+       */
       gtk_settings_install_property (g_param_spec_string ("gtk-print-backends",
                                                          P_("Default print backend"),
                                                          P_("List of the GtkPrintBackend backends to use by default"),
                                                          GTK_PRINT_BACKENDS,
                                                          GTK_PARAM_READWRITE));
 
-      gtk_settings_install_property (g_param_spec_string ("gtk-print-preview-command",
-                                                         P_("Default command to run when displaying a print preview"),
-                                                         P_("Command to run when displaying a print preview"),
-                                                         GTK_PRINT_PREVIEW_COMMAND,
-                                                         GTK_PARAM_READWRITE)); 
       initialized = TRUE;
     }
 }
index 0de8add643cf5b5a4a64a46ecb8e8b14c250f92b..0b7014b84c45d376555676a1641a61c0e763117c 100644 (file)
@@ -36,6 +36,7 @@
 
 #include <cairo-pdf.h>
 #include <cairo-ps.h>
+#include "gtkprivate.h"
 #include "gtkprintunixdialog.h"
 #include "gtkpagesetupunixdialog.h"
 #include "gtkprintbackend.h"
@@ -164,6 +165,34 @@ shell_command_substitute_file (const gchar *cmd,
   return result;
 }
 
+static void
+gtk_print_operation_unix_initialize (void)
+{
+  static gboolean initialized = FALSE;
+
+  if (!initialized)
+    {
+      /**
+       * GtkSettings::gtk-print-preview-command:
+       *
+       * A command to run for displaying the print preview. The command
+       * should contain a %f placeholder, which will get replaced by
+       * the path to the pdf file.
+       *
+       * The preview application is responsible for removing the pdf file
+       * when it is done.
+       *
+       * Since: 2.10
+       */
+      gtk_settings_install_property (g_param_spec_string ("gtk-print-preview-command",
+                                                         P_("Default command to run when displaying a print preview"),
+                                                         P_("Command to run when displaying a print preview"),
+                                                         GTK_PRINT_PREVIEW_COMMAND,
+                                                         GTK_PARAM_READWRITE)); 
+      initialized = TRUE;
+    }
+}
+
 void
 _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op,
                                                      cairo_surface_t   *surface,
@@ -179,6 +208,8 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op,
   GdkScreen *screen;
   GError *error = NULL;
 
+  gtk_print_operation_unix_initialize ();
+
   cairo_surface_destroy (surface);
  
   settings = gtk_settings_get_default ();