diff options
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | addressbook/Makefile.am | 2 | ||||
-rw-r--r-- | addressbook/printing/.cvsignore | 7 | ||||
-rw-r--r-- | addressbook/printing/Makefile.am | 33 | ||||
-rw-r--r-- | addressbook/printing/e-contact-print-types.h | 66 | ||||
-rw-r--r-- | addressbook/printing/e-contact-print.c | 372 | ||||
-rw-r--r-- | addressbook/printing/e-contact-print.glade | 1992 | ||||
-rw-r--r-- | addressbook/printing/e-contact-print.h | 31 | ||||
-rw-r--r-- | addressbook/printing/smallbook.ecps | 32 | ||||
-rw-r--r-- | addressbook/printing/test-print.c | 80 | ||||
-rw-r--r-- | configure.in | 5 |
11 files changed, 2640 insertions, 1 deletions
@@ -1,3 +1,24 @@ +2000-01-25 Christopher James Lahey <clahey@helixcode.com> + + * addressbook/printing/smallbook.ecps: Example contact printing + style. Not used yet. + + * addressbook/printing/e-contact-print.glade: A glade file for + editing contact printing styles. Not used yet. + + * addressbook/printing/test-print.c: Test file for printing. + + * addressbook/printing/e-contact-print.c, + addressbook/printing/e-contact-print.h, + addressbook/printing/e-contact-print-types.h, + addressbook/printing/Makefile.am, addressbook/printing/.cvsignore: + New files for contact printing support. + + * addressbook/Makefile.am (SUBDIRS): Add printing. + + * configure.in: Check for gnome-print. Build the + addressbook/printing Makefile. + 2000-01-24 bertrand <bertrand@helixcode.com> * camel/camel-data-wrapper.h: diff --git a/addressbook/Makefile.am b/addressbook/Makefile.am index 5080457fe2..2b588a0738 100644 --- a/addressbook/Makefile.am +++ b/addressbook/Makefile.am @@ -1,2 +1,2 @@ SUBDIRS = \ - contact-editor + contact-editor printing diff --git a/addressbook/printing/.cvsignore b/addressbook/printing/.cvsignore new file mode 100644 index 0000000000..cd61db27f2 --- /dev/null +++ b/addressbook/printing/.cvsignore @@ -0,0 +1,7 @@ +.deps +.libs +Makefile +Makefile.in +*.lo +*.la +contact-print-test
\ No newline at end of file diff --git a/addressbook/printing/Makefile.am b/addressbook/printing/Makefile.am new file mode 100644 index 0000000000..4fabafafd3 --- /dev/null +++ b/addressbook/printing/Makefile.am @@ -0,0 +1,33 @@ + +CPPFLAGS = \ + -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \ + -DDATADIR=\""$(datadir)"\" \ + $(GNOME_PRINT_CFLAGS) + +INCLUDES = \ + $(GNOME_INCLUDEDIR) + +noinst_LIBRARIES = \ + libecontactprint.a + +libecontactprint_a_SOURCES = \ + e-contact-print.c \ + e-contact-print.h \ + e-contact-print-types.h + +noinst_PROGRAMS = \ + contact-print-test + +contact_print_test_SOURCES = \ + test-print.c + +contact_print_test_LDADD = \ + $(EXTRA_GNOME_LIBS) \ + libecontactprint.a \ + $(GNOME_PRINT_LIBS) + +gladedir = $(datadir)/evolution/glade + +#glade_DATA = \ +# e-contact-print.glade + diff --git a/addressbook/printing/e-contact-print-types.h b/addressbook/printing/e-contact-print-types.h new file mode 100644 index 0000000000..a59ff32c5e --- /dev/null +++ b/addressbook/printing/e-contact-print-types.h @@ -0,0 +1,66 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * e-contact-print-types.h + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey <clahey@helixcode.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef E_CONTACT_PRINT_TYPES_H +#define E_CONTACT_PRINT_TYPES_H + +#include <gnome.h> +#include <libgnomeprint/gnome-font.h> + +typedef struct _EContactPrintStyle EContactPrintStyle; + +struct _EContactPrintStyle +{ + gchar *title; + gboolean sections_start_new_page; + guint num_columns; + guint blank_forms; + gboolean letter_tabs; + gboolean letter_headings; + GnomeFont *headings_font; + GnomeFont *body_font; + gboolean print_using_grey; + gint paper_type; + gdouble paper_width; + gdouble paper_height; + gint paper_source; + gdouble top_margin; + gdouble left_margin; + gdouble bottom_margin; + gdouble right_margin; + gint page_size; + gdouble page_width; + gdouble page_height; + gboolean orientation_portrait; + GnomeFont *header_font; + gchar *left_header; + gchar *center_header; + gchar *right_header; + GnomeFont *footer_font; + gchar *left_footer; + gchar *center_footer; + gchar *right_footer; + gboolean reverse_on_even_pages; +}; + +#endif /* E_CONTACT_PRINT_TYPES_H */ + diff --git a/addressbook/printing/e-contact-print.c b/addressbook/printing/e-contact-print.c new file mode 100644 index 0000000000..482ccb6104 --- /dev/null +++ b/addressbook/printing/e-contact-print.c @@ -0,0 +1,372 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * e-contact-print.c + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey <clahey@helixcode.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + + +#include "e-contact-print.h" +#include <libgnomeprint/gnome-print.h> +#include <libgnomeprint/gnome-print-dialog.h> +#include <libgnomeprint/gnome-print-master.h> +#include <libgnomeprint/gnome-print-master-preview.h> +#include <libgnomeprint/gnome-print-multipage.h> +#include <gnome-xml/tree.h> +#include <gnome-xml/parser.h> +#include <ctype.h> + +typedef struct _EContactPrintContext EContactPrintContext; + +struct _EContactPrintContext +{ + GnomePrintContext *pc; + GnomePrintMaster *master; + gdouble x; + gdouble y; + EContactPrintStyle *style; + gboolean first_section; +}; + +static void +e_contact_output(GnomePrintContext *pc, GnomeFont *font, double x, double y, gchar *text) +{ + gnome_print_gsave(pc); + gnome_print_setfont(pc, font); + y -= gnome_font_get_ascender(font); + gnome_print_moveto(pc, x, y); + gnome_print_show(pc, text); + gnome_print_grestore(pc); +} + +static void +e_contact_output_and_advance(EContactPrintContext *ctxt, GnomeFont *font, double x, gchar *text) +{ + ctxt->y -= .1 * font->size; + e_contact_output(ctxt->pc, font, x, ctxt->y, text); + ctxt->y -= gnome_font_get_ascender(font) - gnome_font_get_descender(font); + ctxt->y -= .1 * font->size; +} + +static void +e_contact_rectangle(GnomePrintContext *pc, + gdouble x0, + gdouble y0, + gdouble x1, + gdouble y1, + gdouble r, + gdouble g, + gdouble b) +{ + gnome_print_gsave(pc); + gnome_print_setrgbcolor(pc, r, g, b); + gnome_print_moveto(pc, x0, y0); + gnome_print_lineto(pc, x1, y0); + gnome_print_lineto(pc, x1, y1); + gnome_print_lineto(pc, x0, y1); + gnome_print_lineto(pc, x0, y0); + gnome_print_fill(pc); + gnome_print_grestore(pc); +} + +static gchar *e_card_get_string(void *card, gchar *key) +{ + return key; +} + +static gchar *e_card_get_string_fileas(void *card) +{ + return "Lahey, Chris"; +} + +static void +e_contact_print_letter_heading (EContactPrintContext *ctxt, gchar *character) +{ + gdouble ascender, descender; + gdouble width; + + width = gnome_font_get_width_string(ctxt->style->headings_font, "m "); + ascender = gnome_font_get_ascender(ctxt->style->headings_font); + descender = gnome_font_get_descender(ctxt->style->headings_font); + gnome_print_gsave( ctxt->pc ); + e_contact_rectangle( ctxt->pc, ctxt->x, ctxt->y, ctxt->x + width, ctxt->y - (ctxt->style->headings_font->size + 6), 0, 0, 0); + gnome_print_setrgbcolor(ctxt->pc, 1, 1, 1); + ctxt->y -= 4; + e_contact_output(ctxt->pc, ctxt->style->headings_font, ctxt->x + (width - gnome_font_get_width_string(ctxt->style->headings_font, character))/ 2, ctxt->y, character); + ctxt->y -= ascender - descender; + ctxt->y -= 2; + ctxt->y -= 3; + gnome_print_grestore( ctxt->pc ); +} + +static double +e_contact_get_letter_tab_width (EContactPrintContext *ctxt) +{ + return gnome_font_get_width_string(ctxt->style->body_font, "123") + ctxt->style->body_font->size / 5; +} + +static double +e_contact_get_letter_heading_height (EContactPrintContext *ctxt) +{ + return ctxt->style->headings_font->size * 2; +} + +static void +e_contact_start_new_page(EContactPrintContext *ctxt) +{ + ctxt->x = ctxt->style->left_margin * 72; + ctxt->y = (ctxt->style->page_height - ctxt->style->top_margin) * 72; + gnome_print_showpage(ctxt->pc); +} + +static double +e_contact_get_card_size(void *card, EContactPrintContext *ctxt, GList *shown_fields) +{ + double height = 0; + height += ctxt->style->headings_font->size; + for(; shown_fields; shown_fields = g_list_next(shown_fields)) { + gchar *field = e_card_get_string(card, shown_fields->data); + gchar *start = field; + gchar *text; + gchar *temp; + for( text = start, temp = strchr(text, '\n'); temp; text = temp + 1, temp = strchr(text, '\n')) { + height += ctxt->style->body_font->size; + } + height += ctxt->style->body_font->size; + } + return height; +} + + +static void +e_contact_print_card (void *card, EContactPrintContext *ctxt, GList *shown_fields) +{ + gnome_print_gsave(ctxt->pc); + ctxt->y -= 2; + e_contact_rectangle(ctxt->pc, ctxt->x, ctxt->y + 2, ctxt->x + (ctxt->style->page_width - ctxt->style->left_margin - ctxt->style->right_margin) * 72, ctxt->y - (gnome_font_get_ascender(ctxt->style->headings_font) - gnome_font_get_descender(ctxt->style->headings_font)) - 2, .85, .85, .85); + e_contact_output(ctxt->pc, ctxt->style->headings_font, ctxt->x + 2, ctxt->y, e_card_get_string_fileas(card)); + ctxt->y -= gnome_font_get_ascender(ctxt->style->headings_font) - gnome_font_get_descender(ctxt->style->headings_font); + ctxt->y -= 2; + + for(; shown_fields; shown_fields = g_list_next(shown_fields)) { + double xoff = 0; + gchar *field = e_card_get_string(card, shown_fields->data); + ctxt->y -= .1 * ctxt->style->body_font->size; + e_contact_output(ctxt->pc, ctxt->style->body_font, ctxt->x + xoff, ctxt->y, shown_fields->data); + xoff += gnome_font_get_width_string(ctxt->style->body_font, shown_fields->data); + e_contact_output(ctxt->pc, ctxt->style->body_font, ctxt->x + xoff, ctxt->y, ": "); + xoff += gnome_font_get_width_string(ctxt->style->body_font, ": "); + if (strchr(field, '\n')) { + gchar *start = g_strdup(field); + gchar *text; + gchar *temp; + for( text = start, temp = strchr(text, '\n'); temp; text = temp + 1, temp = strchr(text, '\n')) { + *temp = 0; + e_contact_output(ctxt->pc, ctxt->style->body_font, ctxt->x + xoff, ctxt->y, text); + ctxt->y -= gnome_font_get_ascender(ctxt->style->body_font) - gnome_font_get_descender(ctxt->style->body_font); + ctxt->y -= .2 * ctxt->style->body_font->size; + xoff = 0; + } + e_contact_output(ctxt->pc, ctxt->style->body_font, ctxt->x + xoff, ctxt->y, text); + ctxt->y -= gnome_font_get_ascender(ctxt->style->body_font) - gnome_font_get_descender(ctxt->style->body_font); + ctxt->y -= .1 * ctxt->style->body_font->size; + g_free(text); + } else { + e_contact_output(ctxt->pc, ctxt->style->body_font, ctxt->x + xoff, ctxt->y, field); + ctxt->y -= gnome_font_get_ascender(ctxt->style->body_font) - gnome_font_get_descender(ctxt->style->body_font); + ctxt->y -= .1 * ctxt->style->body_font->size; + } + } + gnome_print_grestore(ctxt->pc); +} + +static void +e_contact_do_print (void *book, EContactPrintContext *ctxt, GList *shown_fields) +{ + gchar *character = NULL; + gchar first_page_character = 'a' - 1; + void *card = NULL; + int i; + gdouble page_height = 72 * (ctxt->style->page_height - ctxt->style->top_margin - ctxt->style->bottom_margin); + gdouble page_width = 72 * (ctxt->style->page_width - ctxt->style->left_margin - ctxt->style->right_margin); + ctxt->y = (ctxt->style->page_height - ctxt->style->top_margin) * 72; + ctxt->x = (ctxt->style->left_margin) * 72; + if ( ctxt->style->letter_tabs ) + page_width -= e_contact_get_letter_tab_width(ctxt); + /* + for(card = e_book_get_first(book); card; card = e_book_get_next(book)) { + */ + for (i=0; i < 40; i++) { + gchar *file_as = e_card_get_string_fileas(card); + if ( ctxt->style->letter_headings && file_as && (!character || *character != tolower(*file_as)) ) { + if (ctxt->style->sections_start_new_page) + e_contact_start_new_page(ctxt); + else if (ctxt->y - e_contact_get_letter_heading_height(ctxt) - e_contact_get_card_size(card, ctxt, shown_fields) < ctxt->style->bottom_margin * 72) + e_contact_start_new_page(ctxt); + if (!character) + character = g_strdup(" "); + *character = tolower(*file_as); + e_contact_print_letter_heading(ctxt, character); + ctxt->first_section = FALSE; + } + if (ctxt->y - e_contact_get_card_size(card, ctxt, shown_fields) < ctxt->style->bottom_margin * 72) { + e_contact_start_new_page(ctxt); + e_contact_print_letter_heading(ctxt, character); + } + e_contact_print_card(card, ctxt, shown_fields); + } + gnome_print_showpage(ctxt->pc); + gnome_print_context_close(ctxt->pc); + g_free(character); +} + +static void +e_contact_build_style(EContactPrintStyle *style) +{ + xmlDocPtr styledoc; + style->title = ""; + style->sections_start_new_page = FALSE; + style->num_columns = 1; + style->blank_forms = 2; + style->letter_tabs = TRUE; + style->letter_headings = TRUE; + style->headings_font = gnome_font_new("Helvetica-Bold", 8); + style->body_font = gnome_font_new("Helvetica", 6); + style->print_using_grey = TRUE; + style->paper_type = 0; + style->paper_width = 8.5; + style->paper_height = 11; + style->paper_source = 0; + style->top_margin = .5; + style->left_margin = .5; + style->bottom_margin = .5; + style->right_margin = .5; + style->page_size = 0; + style->page_width = 2.75; + style->page_height = 4.25; +#if 0 + style->page_width = 4.25; + style->page_height = 5.5; +#endif + style->orientation_portrait = FALSE; + style->header_font = gnome_font_new("Helvetica", 6); + style->left_header = ""; + style->center_header = ""; + style->right_header = ""; + style->footer_font = gnome_font_new("Helvetica", 6); + style->left_footer = ""; + style->center_footer = ""; + style->right_footer = ""; + style->reverse_on_even_pages = FALSE; + + styledoc = xmlParseFile("smallbook.ecps"); + if (styledoc) { +#if 0 + xmlNodePtr stylenode = xmlDocGetRootElement(styledoc); +#endif + xmlFreeDoc(styledoc); + } +} + +static gint +e_contact_print_close(GnomeDialog *dialog, gpointer data) +{ + return FALSE; +} + +static void +e_contact_print_button(GnomeDialog *dialog, gint button, gpointer data) +{ + EContactPrintContext ctxt; + EContactPrintStyle style; + GnomePrintMaster *master; + GtkWidget *preview; + GnomePrintContext *pc; + void *book = gtk_object_get_data(GTK_OBJECT(dialog), "book"); + GList *shown_fields = gtk_object_get_data(GTK_OBJECT(dialog), "shown_fields"); + switch( button ) { + case GNOME_PRINT_PRINT: + master = gnome_print_master_new_from_dialog( GNOME_PRINT_DIALOG(dialog) ); + pc = gnome_print_master_get_context( master ); + e_contact_build_style(&style); + + ctxt.x = 0; + ctxt.y = 0; + ctxt.style = &style; + ctxt.master = master; + ctxt.first_section = TRUE; + + ctxt.pc = gnome_print_multipage_new_from_sizes(pc, + 72 * style.paper_width, + 72 * style.paper_height, + 72 * style.page_width, + 72 * style.page_height); + + e_contact_do_print(book, &ctxt, shown_fields); + gnome_print_master_print(master); + gtk_object_unref(GTK_OBJECT(ctxt.pc)); + gtk_object_unref(GTK_OBJECT(master)); + gnome_dialog_close(dialog); + break; + case GNOME_PRINT_PREVIEW: + master = gnome_print_master_new_from_dialog( GNOME_PRINT_DIALOG(dialog) ); + pc = gnome_print_master_get_context( master ); + e_contact_build_style(&style); + + ctxt.x = 0; + ctxt.y = 0; + ctxt.style = &style; + ctxt.master = master; + ctxt.first_section = TRUE; + + ctxt.pc = gnome_print_multipage_new_from_sizes(pc, + 72 * style.paper_width, + 72 * style.paper_height, + 72 * style.page_width, + 72 * style.page_height); + + e_contact_do_print(book, &ctxt, shown_fields); + preview = GTK_WIDGET(gnome_print_master_preview_new(master, "Print Preview")); + gtk_widget_show_all(preview); + gtk_object_unref(GTK_OBJECT(ctxt.pc)); + gtk_object_unref(GTK_OBJECT(master)); + break; + case GNOME_PRINT_CANCEL: + gnome_dialog_close(dialog); + break; + } +} + +GtkWidget * +e_contact_print_dialog_new(void *book, GList *shown_fields) +{ + GtkWidget *dialog; + + + dialog = gnome_print_dialog_new("Print cards", GNOME_PRINT_DIALOG_RANGE | GNOME_PRINT_DIALOG_COPIES); + gnome_print_dialog_construct_range_any(GNOME_PRINT_DIALOG(dialog), GNOME_PRINT_RANGE_ALL | GNOME_PRINT_RANGE_SELECTION, + NULL, NULL, NULL); + + gtk_object_set_data(GTK_OBJECT(dialog), "book", book); + gtk_object_set_data(GTK_OBJECT(dialog), "shown_fields", shown_fields); + gtk_signal_connect(GTK_OBJECT(dialog), + "clicked", e_contact_print_button, NULL); + gtk_signal_connect(GTK_OBJECT(dialog), + "close", e_contact_print_close, NULL); + return dialog; +} diff --git a/addressbook/printing/e-contact-print.glade b/addressbook/printing/e-contact-print.glade new file mode 100644 index 0000000000..23088d889e --- /dev/null +++ b/addressbook/printing/e-contact-print.glade @@ -0,0 +1,1992 @@ +<?xml version="1.0"?> +<GTK-Interface> + +<project> + <name>Printing</name> + <program_name>printing</program_name> + <output_main_file>False</output_main_file> + <output_support_files>False</output_support_files> + <output_build_files>False</output_build_files> +</project> + +<widget> + <class>GnomeDialog</class> + <name>print-edit-style</name> + <title>Page Setup:</title> + <type>GTK_WINDOW_TOPLEVEL</type> + <position>GTK_WIN_POS_NONE</position> + <modal>False</modal> + <allow_shrink>False</allow_shrink> + <allow_grow>False</allow_grow> + <auto_shrink>False</auto_shrink> + <auto_close>False</auto_close> + <hide_on_close>False</hide_on_close> + + <widget> + <class>GtkVBox</class> + <child_name>GnomeDialog:vbox</child_name> + <name>dialog-vbox1</name> + <homogeneous>False</homogeneous> + <spacing>8</spacing> + <child> + <padding>4</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkVBox</class> + <name>vbox1</name> + <homogeneous>False</homogeneous> + <spacing>5</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkHBox</class> + <name>hbox2</name> + <border_width>5</border_width> + <homogeneous>False</homogeneous> + <spacing>16</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label8</name> + <label>Style name:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry1</name> + <can_focus>True</can_focus> + <editable>False</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + + <widget> + <class>GtkNotebook</class> + <name>notebook1</name> + <can_focus>True</can_focus> + <show_tabs>True</show_tabs> + <show_border>True</show_border> + <tab_pos>GTK_POS_TOP</tab_pos> + <scrollable>False</scrollable> + <tab_hborder>2</tab_hborder> + <tab_vborder>2</tab_vborder> + <popup_enable>False</popup_enable> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkVBox</class> + <name>vbox2</name> + <border_width>5</border_width> + <homogeneous>False</homogeneous> + <spacing>5</spacing> + + <widget> + <class>GtkAlignment</class> + <name>alignment1</name> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkFrame</class> + <name>frame5</name> + <label>Preview:</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + + <widget> + <class>Placeholder</class> + </widget> + </widget> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox1</name> + <homogeneous>True</homogeneous> + <spacing>7</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkFrame</class> + <name>frame6</name> + <label>Options</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkAlignment</class> + <name>alignment4</name> + <xalign>0</xalign> + <yalign>0</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + + <widget> + <class>GtkTable</class> + <name>table1</name> + <border_width>8</border_width> + <rows>6</rows> + <columns>5</columns> + <homogeneous>False</homogeneous> + <row_spacing>0</row_spacing> + <column_spacing>0</column_spacing> + + <widget> + <class>GtkLabel</class> + <name>label5</name> + <label>Include:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>4</top_attach> + <bottom_attach>5</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label4</name> + <label>Sections:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment2</name> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <left_attach>1</left_attach> + <right_attach>5</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkRadioButton</class> + <name>radiobutton1</name> + <can_focus>True</can_focus> + <label>Immediately follow each other</label> + <active>True</active> + <draw_indicator>True</draw_indicator> + </widget> + </widget> + + <widget> + <class>GtkCheckButton</class> + <name>checkbutton1</name> + <can_focus>True</can_focus> + <label>Letter tabs on side</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <left_attach>1</left_attach> + <right_attach>5</right_attach> + <top_attach>4</top_attach> + <bottom_attach>5</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkCheckButton</class> + <name>checkbutton2</name> + <can_focus>True</can_focus> + <label>Headings for each letter</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <left_attach>1</left_attach> + <right_attach>5</right_attach> + <top_attach>5</top_attach> + <bottom_attach>6</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment3</name> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <left_attach>1</left_attach> + <right_attach>5</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkRadioButton</class> + <name>radiobutton2</name> + <can_focus>True</can_focus> + <label>Start on a new page</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label6</name> + <label>Number of columns:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>3</right_attach> + <top_attach>2</top_attach> + <bottom_attach>3</bottom_attach> + <xpad>0</xpad> + <ypad>2</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label7</name> + <label>Blank forms at end:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>3</right_attach> + <top_attach>3</top_attach> + <bottom_attach>4</bottom_attach> + <xpad>0</xpad> + <ypad>2</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment6</name> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <left_attach>3</left_attach> + <right_attach>4</right_attach> + <top_attach>3</top_attach> + <bottom_attach>4</bottom_attach> + <xpad>0</xpad> + <ypad>2</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkSpinButton</class> + <name>spinbutton2</name> + <can_focus>True</can_focus> + <climb_rate>1</climb_rate> + <digits>0</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>2</value> + <lower>0</lower> + <upper>100</upper> + <step>1</step> + <page>10</page> + <page_size>10</page_size> + </widget> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment5</name> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <left_attach>3</left_attach> + <right_attach>4</right_attach> + <top_attach>2</top_attach> + <bottom_attach>3</bottom_attach> + <xpad>0</xpad> + <ypad>2</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkSpinButton</class> + <name>spinbutton1</name> + <width>45</width> + <can_focus>True</can_focus> + <climb_rate>1</climb_rate> + <digits>0</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>1</value> + <lower>0</lower> + <upper>100</upper> + <step>1</step> + <page>10</page> + <page_size>10</page_size> + </widget> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox3</name> + <homogeneous>False</homogeneous> + <spacing>8</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkFrame</class> + <name>frame7</name> + <label>Fonts</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkTable</class> + <name>table2</name> + <border_width>8</border_width> + <rows>2</rows> + <columns>2</columns> + <homogeneous>False</homogeneous> + <row_spacing>13</row_spacing> + <column_spacing>8</column_spacing> + + <widget> + <class>GtkAlignment</class> + <name>alignment7</name> + <xalign>0.5</xalign> + <yalign>1</yalign> + <xscale>1</xscale> + <yscale>0</yscale> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkButton</class> + <name>button6</name> + <can_focus>True</can_focus> + <label>Font...</label> + </widget> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment8</name> + <xalign>0.5</xalign> + <yalign>1</yalign> + <xscale>1</xscale> + <yscale>0</yscale> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkButton</class> + <name>button5</name> + <width>90</width> + <can_focus>True</can_focus> + <label>Font...</label> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox4</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label10</name> + <label>Headings</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry3</name> + <width>100</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text>10 pt. Tahoma</text> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox5</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label9</name> + <label>Body</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry2</name> + <width>100</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text>8 pt. Tahoma</text> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkFrame</class> + <name>frame8</name> + <label>Shading</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkCheckButton</class> + <name>checkbutton3</name> + <can_focus>True</can_focus> + <label>Print using gray shading</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + </widget> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label1</name> + <label>Format</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox3</name> + <homogeneous>True</homogeneous> + <spacing>0</spacing> + + <widget> + <class>GtkVBox</class> + <name>vbox6</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkFrame</class> + <name>frame9</name> + <label>Paper</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkVBox</class> + <name>vbox16</name> + <border_width>10</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + + <widget> + <class>GtkVBox</class> + <name>vbox17</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label21</name> + <label>Type:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkScrolledWindow</class> + <name>scrolledwindow1</name> + <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy> + <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> + <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> + <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkCList</class> + <name>clist1</name> + <can_focus>True</can_focus> + <columns>1</columns> + <column_widths>80</column_widths> + <selection_mode>GTK_SELECTION_SINGLE</selection_mode> + <show_titles>False</show_titles> + <shadow_type>GTK_SHADOW_IN</shadow_type> + + <widget> + <class>GtkLabel</class> + <child_name>CList:title</child_name> + <name>label26</name> + <label>label26</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox18</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label24</name> + <label>Dimensions:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox5</name> + <homogeneous>True</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label27</name> + <label>Width:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry9</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label28</name> + <label>Height:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry10</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox19</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label25</name> + <label>Paper source:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkCombo</class> + <name>combo1</name> + <value_in_list>False</value_in_list> + <ok_if_empty>True</ok_if_empty> + <case_sensitive>False</case_sensitive> + <use_arrows>True</use_arrows> + <use_arrows_always>False</use_arrows_always> + <items></items> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + + <widget> + <class>GtkEntry</class> + <child_name>GtkCombo:entry</child_name> + <name>combo-entry1</name> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + </widget> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkFrame</class> + <name>frame10</name> + <label>Margins</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkTable</class> + <name>table4</name> + <border_width>15</border_width> + <rows>2</rows> + <columns>4</columns> + <homogeneous>True</homogeneous> + <row_spacing>6</row_spacing> + <column_spacing>9</column_spacing> + + <widget> + <class>GtkLabel</class> + <name>label29</name> + <label>Top:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>True</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label30</name> + <label>Bottom:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>True</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label31</name> + <label>Left:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>2</left_attach> + <right_attach>3</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>True</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry11</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry12</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <left_attach>3</left_attach> + <right_attach>4</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry13</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <left_attach>3</left_attach> + <right_attach>4</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry14</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label32</name> + <label>Right:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>2</left_attach> + <right_attach>3</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>True</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox7</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkFrame</class> + <name>frame11</name> + <label>Page</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkVBox</class> + <name>vbox8</name> + <border_width>10</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + + <widget> + <class>GtkVBox</class> + <name>vbox20</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label33</name> + <label>Size:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkScrolledWindow</class> + <name>scrolledwindow2</name> + <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy> + <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> + <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> + <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkCList</class> + <name>clist2</name> + <can_focus>True</can_focus> + <columns>1</columns> + <column_widths>80</column_widths> + <selection_mode>GTK_SELECTION_SINGLE</selection_mode> + <show_titles>False</show_titles> + <shadow_type>GTK_SHADOW_IN</shadow_type> + + <widget> + <class>GtkLabel</class> + <child_name>CList:title</child_name> + <name>label35</name> + <label>label26</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox21</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label34</name> + <label>Dimensions:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox6</name> + <homogeneous>True</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label36</name> + <label>Width:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry15</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label37</name> + <label>Height:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry16</name> + <width>1</width> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkFrame</class> + <name>frame12</name> + <label>Orientation</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkHBox</class> + <name>hbox4</name> + <homogeneous>False</homogeneous> + <spacing>10</spacing> + + <widget> + <class>Placeholder</class> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox9</name> + <homogeneous>False</homogeneous> + <spacing>5</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkAlignment</class> + <name>alignment9</name> + <xalign>0</xalign> + <yalign>1</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkRadioButton</class> + <name>radiobutton3</name> + <can_focus>True</can_focus> + <label>Portrait</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + </widget> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment10</name> + <xalign>0</xalign> + <yalign>0</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkRadioButton</class> + <name>radiobutton4</name> + <can_focus>True</can_focus> + <label>Landscape</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + </widget> + </widget> + </widget> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label2</name> + <label>Paper</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox10</name> + <border_width>8</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + + <widget> + <class>GtkTable</class> + <name>table5</name> + <rows>4</rows> + <columns>3</columns> + <homogeneous>True</homogeneous> + <row_spacing>4</row_spacing> + <column_spacing>4</column_spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkAlignment</class> + <name>alignment15</name> + <xalign>0</xalign> + <yalign>1</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>2</top_attach> + <bottom_attach>3</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkButton</class> + <name>button11</name> + <can_focus>True</can_focus> + <label>Font...</label> + </widget> + </widget> + + <widget> + <class>GtkText</class> + <name>text10</name> + <height>50</height> + <can_focus>True</can_focus> + <editable>False</editable> + <text></text> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>True</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkText</class> + <name>text11</name> + <height>50</height> + <can_focus>True</can_focus> + <editable>False</editable> + <text></text> + <child> + <left_attach>2</left_attach> + <right_attach>3</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkText</class> + <name>text12</name> + <height>50</height> + <can_focus>True</can_focus> + <editable>False</editable> + <text></text> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkText</class> + <name>text13</name> + <height>50</height> + <can_focus>True</can_focus> + <editable>False</editable> + <text></text> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>3</top_attach> + <bottom_attach>4</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>True</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkText</class> + <name>text14</name> + <height>5</height> + <can_focus>True</can_focus> + <editable>False</editable> + <text></text> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>3</top_attach> + <bottom_attach>4</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkText</class> + <name>text15</name> + <height>50</height> + <can_focus>True</can_focus> + <editable>False</editable> + <text></text> + <child> + <left_attach>2</left_attach> + <right_attach>3</right_attach> + <top_attach>3</top_attach> + <bottom_attach>4</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment16</name> + <xalign>0.5</xalign> + <yalign>1</yalign> + <xscale>1</xscale> + <yscale>0</yscale> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkVBox</class> + <name>vbox14</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + + <widget> + <class>GtkLabel</class> + <name>label14</name> + <label>Header</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry7</name> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment17</name> + <xalign>0.5</xalign> + <yalign>1</yalign> + <xscale>1</xscale> + <yscale>0</yscale> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>2</top_attach> + <bottom_attach>3</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkVBox</class> + <name>vbox15</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + + <widget> + <class>GtkLabel</class> + <name>label15</name> + <label>Footer:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>entry8</name> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment14</name> + <xalign>0</xalign> + <yalign>1</yalign> + <xscale>0</xscale> + <yscale>0</yscale> + <child> + <left_attach>2</left_attach> + <right_attach>3</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkButton</class> + <name>button10</name> + <can_focus>True</can_focus> + <label>Font...</label> + </widget> + </widget> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox7</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkToolbar</class> + <name>toolbar1</name> + <orientation>GTK_ORIENTATION_HORIZONTAL</orientation> + <type>GTK_TOOLBAR_ICONS</type> + <space_size>5</space_size> + <space_style>GTK_TOOLBAR_SPACE_EMPTY</space_style> + <relief>GTK_RELIEF_NORMAL</relief> + <tooltips>True</tooltips> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>False</fill> + </child> + + <widget> + <class>Placeholder</class> + </widget> + + <widget> + <class>Placeholder</class> + </widget> + + <widget> + <class>Placeholder</class> + </widget> + + <widget> + <class>Placeholder</class> + </widget> + + <widget> + <class>Placeholder</class> + </widget> + </widget> + </widget> + + <widget> + <class>GtkCheckButton</class> + <name>checkbutton4</name> + <can_focus>True</can_focus> + <label>Reverse on even pages</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label3</name> + <label>Header/Footer</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + </widget> + </widget> + + <widget> + <class>GtkHButtonBox</class> + <child_name>GnomeDialog:action_area</child_name> + <name>dialog-action_area1</name> + <layout_style>GTK_BUTTONBOX_END</layout_style> + <spacing>8</spacing> + <child_min_width>85</child_min_width> + <child_min_height>27</child_min_height> + <child_ipad_x>7</child_ipad_x> + <child_ipad_y>0</child_ipad_y> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + <pack>GTK_PACK_END</pack> + </child> + + <widget> + <class>GtkButton</class> + <name>button1</name> + <can_default>True</can_default> + <can_focus>True</can_focus> + <stock_button>GNOME_STOCK_BUTTON_OK</stock_button> + </widget> + + <widget> + <class>GtkButton</class> + <name>button2</name> + <can_default>True</can_default> + <can_focus>True</can_focus> + <stock_button>GNOME_STOCK_BUTTON_APPLY</stock_button> + </widget> + + <widget> + <class>GtkButton</class> + <name>button3</name> + <can_default>True</can_default> + <can_focus>True</can_focus> + <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button> + </widget> + </widget> + </widget> +</widget> + +</GTK-Interface> diff --git a/addressbook/printing/e-contact-print.h b/addressbook/printing/e-contact-print.h new file mode 100644 index 0000000000..c0688c7273 --- /dev/null +++ b/addressbook/printing/e-contact-print.h @@ -0,0 +1,31 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * e-reflow.c + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey <clahey@helixcode.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef E_CONTACT_PRINT_H +#define E_CONTACT_PRINT_H + +#include <gnome.h> +#include "e-contact-print-types.h" + +GtkWidget *e_contact_print_dialog_new(void *book, GList *shown_fields); + +#endif /* E_CONTACT_PRINT_H */ diff --git a/addressbook/printing/smallbook.ecps b/addressbook/printing/smallbook.ecps new file mode 100644 index 0000000000..91c65a495b --- /dev/null +++ b/addressbook/printing/smallbook.ecps @@ -0,0 +1,32 @@ +<style> +<title/> +<sections_start_new_page>TRUE</sections_start_new_page> +<num_columns>1</num_columns> +<blank_forms>2</blank_forms> +<letter_tabs>TRUE</letter_tabs> +<letter_headings>TRUE</letter_headings> +<headings_font>Helvetica</headings_font> +<headings_font_size>14</headings_font_size> +<body_font>Helvetica</body_font> +<body_font_size>14</body_font_size> +<print_using_grey>TRUE</print_using_grey> +<paper_width>11</paper_width> +<paper_height>8.5</paper_height> +<top_margin>0.5</top_margin> +<left_margin>0.5</left_margin> +<bottom_margin>0.5</bottom_margin> +<right_margin>0.5</right_margin> +<page_width>1.75</page_width> +<page_height>3.25</page_height> +<orientation>portrait</orientation> +<header_font>Helvetica</header_font> +<header_font_size>Helvetica</header_font_size> +<left_header/> +<center_header/> +<right_header/> +<footer_font_size>Helvetica</footer_font_size> +<left_footer/> +<center_footer/> +<right_footer/> +<reverse_on_even_pages>FALSE</reverse_on_even_pages> +</style> diff --git a/addressbook/printing/test-print.c b/addressbook/printing/test-print.c new file mode 100644 index 0000000000..2ee396d37d --- /dev/null +++ b/addressbook/printing/test-print.c @@ -0,0 +1,80 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * test-print.c + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey <clahey@helixcode.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include <gnome.h> +#include <glade/glade.h> +#include "e-contact-print.h" + +/* This is a horrible thing to do, but it is just a test. */ +GtkWidget *print; + +static gint test_close(GnomeDialog *dialog, gpointer data) +{ + exit(0); + return 1; +} + +static void about_callback( GtkWidget *widget, gpointer data ) +{ + + const gchar *authors[] = + { + "Christopher James Lahey <clahey@umich.edu>", + NULL + }; + + GtkWidget *about = + gnome_about_new ( _( "Contact Print Test" ), VERSION, + _( "Copyright (C) 2000, Helix Code, Inc." ), + authors, + _( "This should test the contact print code" ), + NULL); + gtk_widget_show (about); +} + +int main( int argc, char *argv[] ) +{ + GList *shown_fields = NULL; + + /* bindtextdomain (PACKAGE, GNOMELOCALEDIR); + textdomain (PACKAGE);*/ + + gnome_init( "Contact Print Test", VERSION, argc, argv); + + glade_gnome_init (); + + shown_fields = g_list_append(shown_fields, "First field"); + shown_fields = g_list_append(shown_fields, "Second field"); + shown_fields = g_list_append(shown_fields, "Third field"); + shown_fields = g_list_append(shown_fields, "Fourth field"); + + print = e_contact_print_dialog_new(NULL, shown_fields); + gtk_widget_show_all(print); + gtk_signal_connect(GTK_OBJECT(print), "close", test_close, NULL); + + gtk_main(); + + /* Not reached. */ + return 0; +} diff --git a/configure.in b/configure.in index 8c2436f70e..571e1e621b 100644 --- a/configure.in +++ b/configure.in @@ -54,6 +54,10 @@ fi AM_CONDITIONAL(HAVE_PTHREAD, $have_pthread) +dnl ************************************************** +dnl * Print check +dnl ************************************************** +GNOME_PRINT_CHECK dnl ************************************************** dnl * ORBit support @@ -173,6 +177,7 @@ widgets/shortcut-bar/Makefile widgets/e-table/Makefile addressbook/Makefile addressbook/contact-editor/Makefile +addressbook/printing/Makefile shell/Makefile mail/Makefile data/Makefile |