summaryrefslogtreecommitdiff
path: root/gtk/gtkprintjob.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkprintjob.c')
-rw-r--r--gtk/gtkprintjob.c61
1 files changed, 40 insertions, 21 deletions
diff --git a/gtk/gtkprintjob.c b/gtk/gtkprintjob.c
index b8f757500e..9f7ffebf5b 100644
--- a/gtk/gtkprintjob.c
+++ b/gtk/gtkprintjob.c
@@ -86,10 +86,11 @@ enum {
enum {
PROP_0,
- GTK_PRINT_JOB_PROP_TITLE,
- GTK_PRINT_JOB_PROP_PRINTER,
- GTK_PRINT_JOB_PROP_PAGE_SETUP,
- GTK_PRINT_JOB_PROP_SETTINGS
+ PROP_TITLE,
+ PROP_PRINTER,
+ PROP_PAGE_SETUP,
+ PROP_SETTINGS,
+ PROP_TRACK_PRINT_STATUS
};
static guint signals[LAST_SIGNAL] = { 0 };
@@ -109,8 +110,8 @@ gtk_print_job_class_init (GtkPrintJobClass *class)
g_type_class_add_private (class, sizeof (GtkPrintJobPrivate));
- g_object_class_install_property (G_OBJECT_CLASS (class),
- GTK_PRINT_JOB_PROP_TITLE,
+ g_object_class_install_property (object_class,
+ PROP_TITLE,
g_param_spec_string ("title",
P_("Title"),
P_("Title of the print job"),
@@ -118,8 +119,8 @@ gtk_print_job_class_init (GtkPrintJobClass *class)
GTK_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
- g_object_class_install_property (G_OBJECT_CLASS (class),
- GTK_PRINT_JOB_PROP_PRINTER,
+ g_object_class_install_property (object_class,
+ PROP_PRINTER,
g_param_spec_object ("printer",
P_("Printer"),
P_("Printer to print the job to"),
@@ -127,8 +128,8 @@ gtk_print_job_class_init (GtkPrintJobClass *class)
GTK_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
- g_object_class_install_property (G_OBJECT_CLASS (class),
- GTK_PRINT_JOB_PROP_SETTINGS,
+ g_object_class_install_property (object_class,
+ PROP_SETTINGS,
g_param_spec_object ("settings",
P_("Settings"),
P_("Printer settings"),
@@ -136,8 +137,8 @@ gtk_print_job_class_init (GtkPrintJobClass *class)
GTK_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
- g_object_class_install_property (G_OBJECT_CLASS (class),
- GTK_PRINT_JOB_PROP_PAGE_SETUP,
+ g_object_class_install_property (object_class,
+ PROP_PAGE_SETUP,
g_param_spec_object ("page-setup",
P_("Page Setup"),
P_("Page Setup"),
@@ -145,6 +146,17 @@ gtk_print_job_class_init (GtkPrintJobClass *class)
GTK_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
+ g_object_class_install_property (object_class,
+ PROP_TRACK_PRINT_STATUS,
+ g_param_spec_boolean ("track-print-status",
+ P_("Track Print Status"),
+ P_("TRUE if the print job will continue to emit "
+ "status-changed signals after the print data "
+ "has been sent to the printer or print server."),
+ FALSE,
+ GTK_PARAM_READWRITE));
+
+
/**
* GtkPrintJob::status-changed:
* @job: the #GtkPrintJob object on which the signal was emitted
@@ -509,7 +521,7 @@ gtk_print_job_set_track_print_status (GtkPrintJob *job,
{
priv->track_print_status = track_status;
- g_object_notify (G_OBJECT (job), "track-status");
+ g_object_notify (G_OBJECT (job), "track-print-status");
}
}
@@ -549,22 +561,22 @@ gtk_print_job_set_property (GObject *object,
switch (prop_id)
{
- case GTK_PRINT_JOB_PROP_TITLE:
+ case PROP_TITLE:
priv->title = g_value_dup_string (value);
break;
- case GTK_PRINT_JOB_PROP_PRINTER:
+ case PROP_PRINTER:
priv->printer = GTK_PRINTER (g_value_dup_object (value));
priv->printer_set = TRUE;
priv->backend = g_object_ref (gtk_printer_get_backend (priv->printer));
break;
- case GTK_PRINT_JOB_PROP_PAGE_SETUP:
+ case PROP_PAGE_SETUP:
priv->page_setup = GTK_PAGE_SETUP (g_value_dup_object (value));
priv->page_setup_set = TRUE;
break;
- case GTK_PRINT_JOB_PROP_SETTINGS:
+ case PROP_SETTINGS:
/* We save a copy of the settings since we modify
* if when preparing the printer job. */
settings = GTK_PRINT_SETTINGS (g_value_get_object (value));
@@ -572,6 +584,10 @@ gtk_print_job_set_property (GObject *object,
priv->settings_set = TRUE;
break;
+ case PROP_TRACK_PRINT_STATUS:
+ gtk_print_job_set_track_print_status (job, g_value_get_boolean (value));
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -589,18 +605,21 @@ gtk_print_job_get_property (GObject *object,
switch (prop_id)
{
- case GTK_PRINT_JOB_PROP_TITLE:
+ case PROP_TITLE:
g_value_set_string (value, priv->title);
break;
- case GTK_PRINT_JOB_PROP_PRINTER:
+ case PROP_PRINTER:
g_value_set_object (value, priv->printer);
break;
- case GTK_PRINT_JOB_PROP_SETTINGS:
+ case PROP_SETTINGS:
g_value_set_object (value, priv->settings);
break;
- case GTK_PRINT_JOB_PROP_PAGE_SETUP:
+ case PROP_PAGE_SETUP:
g_value_set_object (value, priv->page_setup);
break;
+ case PROP_TRACK_PRINT_STATUS:
+ g_value_set_boolean (value, priv->track_print_status);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;