diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2006-06-30 10:32:56 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2006-06-30 10:32:56 +0000 |
commit | 866006534ccee4e5114ba61e35f03da49d40bafd (patch) | |
tree | f108e15938fe09331862c8b8bfe43330b02c4283 /gtk | |
parent | 593170d7e37cd1620767df6e508e50c420fa3ba0 (diff) | |
download | gtk+-866006534ccee4e5114ba61e35f03da49d40bafd.tar.gz |
Add a preview capability
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkprintjob.c | 1 | ||||
-rw-r--r-- | gtk/gtkprintjob.h | 3 | ||||
-rw-r--r-- | gtk/gtkprintoperation-unix.c | 3 | ||||
-rw-r--r-- | gtk/gtkprintunixdialog.c | 13 |
4 files changed, 17 insertions, 3 deletions
diff --git a/gtk/gtkprintjob.c b/gtk/gtkprintjob.c index ce2af9b9d9..f68a7ca5c4 100644 --- a/gtk/gtkprintjob.c +++ b/gtk/gtkprintjob.c @@ -695,6 +695,7 @@ gtk_print_capabilities_get_type (void) { GTK_PRINT_CAPABILITY_SCALE, "GTK_PRINT_CAPABILITY_SCALE", "scale" }, { GTK_PRINT_CAPABILITY_GENERATE_PDF, "GTK_PRINT_CAPABILITY_GENERATE_PDF", "generate-pdf" }, { GTK_PRINT_CAPABILITY_GENERATE_PS, "GTK_PRINT_CAPABILITY_GENERATE_PS", "generate-ps" }, + { GTK_PRINT_CAPABILITY_PREVIEW, "GTK_PRINT_CAPABILITY_PREVIEW", "preview" }, { 0, NULL, NULL } }; diff --git a/gtk/gtkprintjob.h b/gtk/gtkprintjob.h index bb5e299f5e..9d538c2cb1 100644 --- a/gtk/gtkprintjob.h +++ b/gtk/gtkprintjob.h @@ -45,7 +45,8 @@ typedef enum GTK_PRINT_CAPABILITY_REVERSE = 1 << 3, GTK_PRINT_CAPABILITY_SCALE = 1 << 4, GTK_PRINT_CAPABILITY_GENERATE_PDF = 1 << 5, - GTK_PRINT_CAPABILITY_GENERATE_PS = 1 << 6 + GTK_PRINT_CAPABILITY_GENERATE_PS = 1 << 6, + GTK_PRINT_CAPABILITY_PREVIEW = 1 << 7 } GtkPrintCapabilities; typedef struct _GtkPrintJob GtkPrintJob; diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c index 126771491d..5f93fef5ac 100644 --- a/gtk/gtkprintoperation-unix.c +++ b/gtk/gtkprintoperation-unix.c @@ -346,7 +346,8 @@ get_print_dialog (GtkPrintOperation *op, GTK_PRINT_CAPABILITY_REVERSE | GTK_PRINT_CAPABILITY_SCALE | GTK_PRINT_CAPABILITY_GENERATE_PDF | - GTK_PRINT_CAPABILITY_GENERATE_PS); + GTK_PRINT_CAPABILITY_GENERATE_PS | + GTK_PRINT_CAPABILITY_PREVIEW); if (priv->print_settings) gtk_print_unix_dialog_set_settings (GTK_PRINT_UNIX_DIALOG (pd), diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index fb485409b4..0a7e03b361 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -136,6 +136,7 @@ struct GtkPrintUnixDialogPrivate GtkWidget *print_at_radio; GtkWidget *print_at_entry; GtkWidget *print_hold_radio; + GtkWidget *preview_button; gboolean updating_print_at; GtkPrinterOptionWidget *pages_per_sheet; GtkPrinterOptionWidget *duplex; @@ -273,8 +274,13 @@ gtk_print_unix_dialog_init (GtkPrintUnixDialog *dialog) (GCallback) gtk_print_unix_dialog_destroy, NULL); + priv->preview_button = gtk_button_new_from_stock (GTK_STOCK_PRINT_PREVIEW); + gtk_widget_show (priv->preview_button); + + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), + priv->preview_button, + GTK_RESPONSE_APPLY); gtk_dialog_add_buttons (GTK_DIALOG (dialog), - GTK_STOCK_PRINT_PREVIEW, GTK_RESPONSE_APPLY, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_PRINT, GTK_RESPONSE_OK, NULL); @@ -1029,6 +1035,11 @@ update_dialog_from_capabilities (GtkPrintUnixDialog *dialog) gtk_widget_set_sensitive (priv->scale_spin, caps & GTK_PRINT_CAPABILITY_PAGE_SET); + if (caps & GTK_PRINT_CAPABILITY_PREVIEW) + gtk_widget_show (priv->preview_button); + else + gtk_widget_hide (priv->preview_button); + update_collate_icon (NULL, dialog); gtk_tree_model_filter_refilter (priv->printer_list_filter); |