Add paper size combo and orientation combo to print dialog

Paper size combo and orientation combo can be added by
gtk_print_operation_set_embed_page_setup_dialog() to GtkPrinUnixDialog
now. This function induce calling of
gtk_print_unix_dailog_set_embed_page_setup_dialog() after creation of
dialog. These two functions control embed-page-setup-dialog properties
in GtkPrintOperation and in GtkPrintUnixDialog.
There is also new function gtk_print_unix_dialog_get_page_setup_set()
which says whether page setup was set by user.
Selected page setup is stored as default page setup in
GtkPrintOperation.
New class is added, its name is GtkCustomPaperUnixDialog. The class
manages custom sizes. It is derived from GtkPageSetupUnixDialog's
CustomPaperDialog structure.
Page layout preview is modified, so, it shows dimensions of current
page setup (mm or inch - depends on locale). It also shows the name of
actual paper if page setup dialog is not embedded (paper size combo is
not visible).
gtk-demo is actualized to include this new feature.
This commit is contained in:
Marek Kasik
2009-07-10 11:28:31 +02:00
parent 6ca5430a74
commit 0ef74c936f
13 changed files with 2134 additions and 926 deletions

View File

@ -64,25 +64,25 @@ struct _GtkPrintUnixDialogClass
void (*_gtk_reserved7) (void);
};
GType gtk_print_unix_dialog_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_print_unix_dialog_new (const gchar *title,
GtkWindow *parent);
GType gtk_print_unix_dialog_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_print_unix_dialog_new (const gchar *title,
GtkWindow *parent);
void gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog,
GtkPageSetup *page_setup);
GtkPageSetup * gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_current_page (GtkPrintUnixDialog *dialog,
gint current_page);
gint gtk_print_unix_dialog_get_current_page (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog,
GtkPrintSettings *settings);
GtkPrintSettings *gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog);
GtkPrinter * gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog,
GtkWidget *child,
GtkWidget *tab_label);
void gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog *dialog,
GtkPrintCapabilities capabilities);
void gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog,
GtkPageSetup *page_setup);
GtkPageSetup * gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_current_page (GtkPrintUnixDialog *dialog,
gint current_page);
gint gtk_print_unix_dialog_get_current_page (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog,
GtkPrintSettings *settings);
GtkPrintSettings * gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog);
GtkPrinter * gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog,
GtkWidget *child,
GtkWidget *tab_label);
void gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog *dialog,
GtkPrintCapabilities capabilities);
GtkPrintCapabilities gtk_print_unix_dialog_get_manual_capabilities (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog,
gboolean support_selection);
@ -90,6 +90,10 @@ gboolean gtk_print_unix_dialog_get_support_selection (GtkPrintUnix
void gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog,
gboolean has_selection);
gboolean gtk_print_unix_dialog_get_has_selection (GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_embed_page_setup (GtkPrintUnixDialog *dialog,
gboolean embed);
gboolean gtk_print_unix_dialog_get_embed_page_setup (GtkPrintUnixDialog *dialog);
gboolean gtk_print_unix_dialog_get_page_setup_set (GtkPrintUnixDialog *dialog);
G_END_DECLS