#include "gtkpagesetupunixdialog.h"
#include "gtkcustompaperunixdialog.h"
#include "gtkprintbackend.h"
-#include "gtkprinter-private.h"
#include "gtkpapersize.h"
#include "gtkprintutils.h"
-#include "gtkalias.h"
+/**
+ * SECTION:gtkpagesetupunixdialog
+ * @Short_description: A page setup dialog
+ * @Title: GtkPageSetupUnixDialog
+ *
+ * #GtkPageSetupUnixDialog implements a page setup dialog for platforms
+ * which don't provide a native page setup dialog, like Unix. It can
+ * be used very much like any other GTK+ dialog, at the cost of
+ * the portability offered by the <link
+ * linkend="gtk-High-level-Printing-API">high-level printing API</link>
+ *
+ * Printing support was added in GTK+ 2.10.
+ */
-struct GtkPageSetupUnixDialogPrivate
+
+struct _GtkPageSetupUnixDialogPrivate
{
GtkListStore *printer_list;
GtkListStore *page_setup_list;
GtkWidget *landscape_radio;
GtkWidget *reverse_landscape_radio;
- guint request_details_tag;
+ gulong request_details_tag;
GtkPrinter *request_details_printer;
GtkPrintSettings *print_settings;
G_DEFINE_TYPE (GtkPageSetupUnixDialog, gtk_page_setup_unix_dialog, GTK_TYPE_DIALOG)
-#define GTK_PAGE_SETUP_UNIX_DIALOG_GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_PAGE_SETUP_UNIX_DIALOG, GtkPageSetupUnixDialogPrivate))
-
static void gtk_page_setup_unix_dialog_finalize (GObject *object);
static void populate_dialog (GtkPageSetupUnixDialog *dialog);
static void fill_paper_sizes_from_printer (GtkPageSetupUnixDialog *dialog,
GtkTreeIter iter;
gchar *tmp;
- priv = dialog->priv = GTK_PAGE_SETUP_UNIX_DIALOG_GET_PRIVATE (dialog);
+ priv = dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
+ GTK_TYPE_PAGE_SETUP_UNIX_DIALOG,
+ GtkPageSetupUnixDialogPrivate);
priv->print_backends = NULL;
image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_stock_lookup (stock_id, &item);
label = gtk_label_new (item.label);
- hbox = gtk_hbox_new (0, 6);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
gtk_container_add (GTK_CONTAINER (radio_button), hbox);
gtk_container_add (GTK_CONTAINER (hbox), image);
gtk_container_add (GTK_CONTAINER (hbox), label);
GtkPageSetupUnixDialogPrivate *priv = ps_dialog->priv;
GtkDialog *dialog = GTK_DIALOG (ps_dialog);
GtkWidget *table, *label, *combo, *radio_button;
+ GtkWidget *action_area, *content_area;
GtkCellRenderer *cell;
gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
- gtk_dialog_set_has_separator (dialog, FALSE);
+ content_area = gtk_dialog_get_content_area (dialog);
+ action_area = gtk_dialog_get_action_area (dialog);
+
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
- gtk_box_set_spacing (GTK_BOX (dialog->vbox), 2); /* 2 * 5 + 2 = 12 */
- gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area), 5);
- gtk_box_set_spacing (GTK_BOX (dialog->action_area), 6);
+ gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
+ gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
+ gtk_box_set_spacing (GTK_BOX (action_area), 6);
table = gtk_table_new (5, 4, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_table_set_col_spacings (GTK_TABLE (table), 12);
gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_box_pack_start (GTK_BOX (dialog->vbox), table, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 0);
gtk_widget_show (table);
label = gtk_label_new_with_mnemonic (_("_Format for:"));
/**
* gtk_page_setup_unix_dialog_new:
- * @title: the title of the dialog, or %NULL
- * @parent: transient parent of the dialog, or %NULL
+ * @title: (allow-none): the title of the dialog, or %NULL
+ * @parent: (allow-none): transient parent of the dialog, or %NULL
*
* Creates a new page setup dialog.
*
return priv->print_settings;
}
-
-#define __GTK_PAGE_SETUP_UNIX_DIALOG_C__
-#include "gtkaliasdef.c"