summaryrefslogtreecommitdiff
path: root/gtk/gtkprintsettings.c
diff options
context:
space:
mode:
authorMarek Kasik <mkasik@redhat.com>2009-06-08 15:37:32 +0200
committerMarek Kasik <mkasik@redhat.com>2009-06-08 15:37:32 +0200
commita12a583c99982a4072cb3ac8ae969a9ebd5cbd69 (patch)
tree74fafbcf4791378162fb3da35070aa08a77edd90 /gtk/gtkprintsettings.c
parent9a4122a1302ae4d09610b3b86995095c877d8f95 (diff)
downloadgtk+-a12a583c99982a4072cb3ac8ae969a9ebd5cbd69.tar.gz
Add ability to print selection
Add a new radio button "Selection" to the print dialog. Its presence depends on calling of functions gtk_print_operation_set_support_selection() and gtk_print_dialog_unix_set_support_selection(). Sensitivity of the radio depends on calling of functions gtk_print_operation_set_has_selection() and gtk_print_dialog_unix_set_has_selection(). There are new properties GtkPrintUnixDialog::support-selection, GtkPrintUnixDialog::has-selection, GtkPrintOperation::support-selection and GtkPrintOperation::has-selection. Corresponding getters are gtk_print_dialog_unix_get_support_selection(), gtk_print_dialog_unix_get_has_selection(), gtk_print_operation_get_support_selection() and gtk_print_operation_get_has_selection(). Application has to set number of pages to which the selection will be formated in GtkPrintOperation::begin-print's callback by the gtk_print_operation_set_n_pages() function (bug #344519). There is also new property GtkPrintUnixDialog::manual-capabilities controled by gtk_print_unix_dialog_set_manual_capabilities() and gtk_print_unix_dialog_get_manual_capabilities().
Diffstat (limited to 'gtk/gtkprintsettings.c')
-rw-r--r--gtk/gtkprintsettings.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/gtkprintsettings.c b/gtk/gtkprintsettings.c
index 4328960f9e..e50208017b 100644
--- a/gtk/gtkprintsettings.c
+++ b/gtk/gtkprintsettings.c
@@ -1356,6 +1356,9 @@ gtk_print_settings_get_print_pages (GtkPrintSettings *settings)
if (val == NULL || (strcmp (val, "all") == 0))
return GTK_PRINT_PAGES_ALL;
+ if (strcmp (val, "selection") == 0)
+ return GTK_PRINT_PAGES_SELECTION;
+
if (strcmp (val, "current") == 0)
return GTK_PRINT_PAGES_CURRENT;
@@ -1389,6 +1392,9 @@ gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
case GTK_PRINT_PAGES_CURRENT:
str = "current";
break;
+ case GTK_PRINT_PAGES_SELECTION:
+ str = "selection";
+ break;
case GTK_PRINT_PAGES_RANGES:
str = "ranges";
break;