GtkPrinter *current_printer;
GtkPrinter *request_details_printer;
- guint request_details_tag;
+ gulong request_details_tag;
GtkPrinterOptionSet *options;
gulong options_changed_handler;
gulong mark_conflicts_id;
gtk_label_set_markup (GTK_LABEL (label_widget), bold_text);
g_free (bold_text);
- frame = gtk_vbox_new (FALSE, 6);
+ frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6);
gtk_box_pack_start (GTK_BOX (frame), label_widget, FALSE, FALSE, 0);
alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
- hbox = gtk_hbox_new (FALSE, 12);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
gtk_widget_show (hbox);
static gboolean
draw_collate_cb (GtkWidget *widget,
- GdkEventExpose *event,
+ cairo_t *cr,
GtkPrintUnixDialog *dialog)
{
- GtkAllocation allocation;
GtkSettings *settings;
- cairo_t *cr;
gint size;
gfloat scale;
gboolean collate, reverse, rtl;
scale = size / 48.0;
text_x = rtl ? 4 : 11;
- cr = gdk_cairo_create (gtk_widget_get_window (widget));
-
- gtk_widget_get_allocation (widget, &allocation);
- cairo_translate (cr, allocation.x, allocation.y);
- gtk_widget_set_allocation (widget, &allocation);
-
if (copies == 1)
{
paint_page (widget, cr, scale, rtl ? 40: 15, 5, reverse ? "1" : "2", text_x);
paint_page (widget, cr, scale, rtl ? 15 : 40, 15, collate == reverse ? "2" : "1", text_x);
}
- cairo_destroy (cr);
-
return TRUE;
}
GtkWidget *custom_input;
const gchar *range_tooltip;
- main_vbox = gtk_vbox_new (FALSE, 18);
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
gtk_widget_show (main_vbox);
- vbox = gtk_vbox_new (FALSE, 6);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6);
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, TRUE, TRUE, 0);
gtk_widget_show (vbox);
gtk_widget_show (treeview);
gtk_container_add (GTK_CONTAINER (scrolled), treeview);
- custom_input = gtk_hbox_new (FALSE, 18);
+ custom_input = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18);
gtk_widget_show (custom_input);
gtk_box_pack_start (GTK_BOX (vbox), custom_input, FALSE, FALSE, 0);
priv->extension_point = custom_input;
- hbox = gtk_hbox_new (FALSE, 18);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18);
gtk_widget_show (hbox);
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
gtk_table_attach (GTK_TABLE (table), image,
1, 2, 1, 3, GTK_FILL, 0,
0, 0);
- g_signal_connect (image, "expose-event",
+ g_signal_connect (image, "draw",
G_CALLBACK (draw_collate_cb), dialog);
label = gtk_label_new (_("General"));
if (val == NULL)
return layout;
+ if (val[0] == '\0' && priv->options)
+ {
+ GtkPrinterOption *option = gtk_printer_option_set_lookup (priv->options, "gtk-n-up-layout");
+ if (option)
+ val = option->value;
+ }
+
enum_class = g_type_class_ref (GTK_TYPE_NUMBER_UP_LAYOUT);
enum_value = g_enum_get_value_by_nick (enum_class, val);
if (enum_value)
static gboolean
draw_page_cb (GtkWidget *widget,
- GdkEventExpose *event,
+ cairo_t *cr,
GtkPrintUnixDialog *dialog)
{
GtkPrintUnixDialogPrivate *priv = dialog->priv;
- GtkAllocation allocation;
GtkStyle *style;
- cairo_t *cr;
gdouble ratio;
gint w, h, tmp, shadow_offset;
gint pages_x, pages_y, i, x, y, layout_w, layout_h;
GtkNumberUpLayout number_up_layout;
gint start_x, end_x, start_y, end_y;
gint dx, dy;
+ gint width, height;
gboolean horizontal;
GtkPageSetup *page_setup;
gdouble paper_width, paper_height;
(orientation == GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE);
number_up_layout = dialog_get_number_up_layout (dialog);
-
- cr = gdk_cairo_create (gtk_widget_get_window (widget));
+ width = gtk_widget_get_allocated_width (widget);
+ height = gtk_widget_get_allocated_height (widget);
cairo_save (cr);
style = gtk_widget_get_style (widget);
- gtk_widget_get_allocation (widget, &allocation);
- pos_x = allocation.x + (allocation.width - w) / 2;
- pos_y = allocation.y + (allocation.height - h) / 2 - 10;
+ pos_x = (width - w) / 2;
+ pos_y = (height - h) / 2 - 10;
cairo_translate (cr, pos_x, pos_y);
shadow_offset = 3;
ltr = gtk_widget_get_direction (GTK_WIDGET (dialog)) == GTK_TEXT_DIR_LTR;
- gtk_widget_get_allocation (widget, &allocation);
if (ltr)
cairo_translate (cr, pos_x - layout_w / PANGO_SCALE - 2 * RULER_DISTANCE,
- allocation.y + (allocation.height - layout_h / PANGO_SCALE) / 2);
+ (height - layout_h / PANGO_SCALE) / 2);
else
cairo_translate (cr, pos_x + w + shadow_offset + 2 * RULER_DISTANCE,
- allocation.y + (allocation.height - layout_h / PANGO_SCALE) / 2);
+ (height - layout_h / PANGO_SCALE) / 2);
pango_cairo_show_layout (cr, layout);
g_free (text);
pango_layout_get_size (layout, &layout_w, &layout_h);
- cairo_translate (cr, allocation.x + (allocation.width - layout_w / PANGO_SCALE) / 2,
+ cairo_translate (cr, (width - layout_w / PANGO_SCALE) / 2,
pos_y + h + shadow_offset + 2 * RULER_DISTANCE);
pango_cairo_show_layout (cr, layout);
cairo_stroke (cr);
}
- cairo_destroy (cr);
-
return TRUE;
}
GtkWidget *combo, *spinbutton, *draw;
GtkCellRenderer *cell;
- main_vbox = gtk_vbox_new (FALSE, 18);
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
gtk_widget_show (main_vbox);
- hbox = gtk_hbox_new (FALSE, 18);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18);
gtk_widget_show (hbox);
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
0, 1, 3, 4, GTK_FILL, 0,
0, 0);
- combo = gtk_combo_box_new_text ();
+ combo = gtk_combo_box_text_new ();
priv->page_set_combo = combo;
gtk_widget_show (combo);
gtk_table_attach (GTK_TABLE (table), combo,
0, 0);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
/* In enum order */
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("All sheets"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Even sheets"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Odd sheets"));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("All sheets"));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("Even sheets"));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("Odd sheets"));
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
label = gtk_label_new_with_mnemonic (_("Sc_ale:"));
0, 1, 4, 5, GTK_FILL, 0,
0, 0);
- hbox2 = gtk_hbox_new (FALSE, 6);
+ hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6);
gtk_widget_show (hbox2);
gtk_table_attach (GTK_TABLE (table), hbox2,
1, 2, 4, 5, GTK_FILL, 0,
0, 1, 4, 5,
GTK_FILL, 0, 0, 0);
- combo = gtk_combo_box_new_text ();
+ combo = gtk_combo_box_text_new ();
priv->orientation_combo = GTK_WIDGET (combo);
gtk_table_attach (GTK_TABLE (table), combo,
1, 2, 4, 5, GTK_FILL, 0,
0, 0);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
/* In enum order */
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Portrait"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Landscape"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Reverse portrait"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Reverse landscape"));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("Portrait"));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("Landscape"));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("Reverse portrait"));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("Reverse landscape"));
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
gtk_widget_set_sensitive (combo, FALSE);
gtk_widget_show (combo);
/* Add the page layout preview */
- hbox2 = gtk_hbox_new (FALSE, 0);
+ hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
gtk_widget_show (hbox2);
gtk_box_pack_start (GTK_BOX (main_vbox), hbox2, TRUE, TRUE, 0);
gtk_widget_set_has_window (draw, FALSE);
priv->page_layout_preview = draw;
gtk_widget_set_size_request (draw, 350, 200);
- g_signal_connect (draw, "expose-event", G_CALLBACK (draw_page_cb), dialog);
+ g_signal_connect (draw, "draw", G_CALLBACK (draw_page_cb), dialog);
gtk_widget_show (draw);
gtk_box_pack_start (GTK_BOX (hbox2), draw, TRUE, FALSE, 0);
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
- main_vbox = gtk_vbox_new (FALSE, 18);
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
gtk_widget_show (main_vbox);
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
gtk_box_set_spacing (GTK_BOX (action_area), 6);
- vbox = gtk_vbox_new (FALSE, 6);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
gtk_widget_show (vbox);
&priv->finishing_page);
create_advanced_page (print_dialog);
- priv->conflicts_widget = conflict_hbox = gtk_hbox_new (FALSE, 12);
+ priv->conflicts_widget = conflict_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12);
gtk_box_pack_end (GTK_BOX (vbox), conflict_hbox, FALSE, FALSE, 0);
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_MENU);
gtk_widget_show (image);