Move the registration of the gtk-print-preview-command setting from

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.
This commit is contained in:
Matthias Clasen
2006-06-16 16:57:02 +00:00
committed by Matthias Clasen
parent d9d210ad23
commit 0b05edb04f
4 changed files with 52 additions and 5 deletions

View 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 ();