From 9862306af9b5019372cbcb6693b5ae1d56297776 Mon Sep 17 00:00:00 2001 From: Srinivasa Ragavan Date: Mon, 12 Feb 2007 06:11:14 +0000 Subject: Print migration updates from Ebby Wiselyn. svn path=/trunk/; revision=33201 --- addressbook/ChangeLog | 14 ++ addressbook/gui/component/addressbook-view.c | 4 +- addressbook/gui/widgets/e-addressbook-view.c | 24 ++- addressbook/printing/e-contact-print.c | 82 +++++--- calendar/ChangeLog | 8 + calendar/gui/print.c | 96 +++++---- e-util/ChangeLog | 9 + e-util/e-print.c | 183 ++++++----------- e-util/e-print.h | 10 +- mail/ChangeLog | 9 + mail/em-folder-browser.c | 2 - mail/em-folder-view.c | 16 +- mail/em-format-html-print.c | 17 +- plugins/print-message/ChangeLog | 7 + plugins/print-message/print-message.c | 24 +-- shell/ChangeLog | 6 + shell/apps_evolution_shell.schemas.in.in | 297 +-------------------------- widgets/misc/ChangeLog | 8 + widgets/misc/e-printable.c | 7 +- widgets/misc/e-printable.h | 13 +- widgets/table/ChangeLog | 7 + widgets/table/e-cell-text.c | 2 +- widgets/table/e-cell-toggle.c | 14 +- 23 files changed, 303 insertions(+), 556 deletions(-) diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 6fbd1dffc0..481a42f626 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,17 @@ +2007-02-12 Srinivasa Ragavan + + ** Print migration updates from Ebby Wiselyn. + + * gui/component/addressbook-view.c: (print_cb), (print_preview_cb): + * gui/widgets/e-addressbook-view.c: (print), + (e_contact_print_button), (eab_view_print), + (eab_view_print_preview): + * printing/e-contact-print.c: (e_contact_print_contact), + (complete_sequence), (book_view_loaded), (print_func), + (e_contact_print_response), (e_contact_print_dialog_new), + (e_contact_print_contact_dialog_new), + (e_contact_print_contact_list_dialog_new), (contact_draw_page): + 2007-02-08 Srinivasa Ragavan ** Fix for bug #332908 diff --git a/addressbook/gui/component/addressbook-view.c b/addressbook/gui/component/addressbook-view.c index 21b7cbd2f7..79bf25183e 100644 --- a/addressbook/gui/component/addressbook-view.c +++ b/addressbook/gui/component/addressbook-view.c @@ -193,7 +193,7 @@ print_cb (BonoboUIComponent *uih, void *user_data, const char *path) AddressbookView *view = (AddressbookView *) user_data; EABView *v = get_current_view (view); if (v) - eab_view_print(v, 1); + eab_view_print (v, 0); } static void @@ -202,7 +202,7 @@ print_preview_cb (BonoboUIComponent *uih, void *user_data, const char *path) AddressbookView *view = (AddressbookView *) user_data; EABView *v = get_current_view (view); if (v) - eab_view_print_preview(v); + eab_view_print_preview (v); } static void diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c index d52602ec62..471f5c3157 100644 --- a/addressbook/gui/widgets/e-addressbook-view.c +++ b/addressbook/gui/widgets/e-addressbook-view.c @@ -881,8 +881,8 @@ print (EPopup *ep, EPopupItem *pitem, void *data) e_contact_print_response (dialog, GTK_RESPONSE_OK, NULL); } else { GList *contacts = get_contact_list(t); - - gtk_widget_show(e_contact_print_contact_list_dialog_new(contacts)); + dialog = e_contact_print_contact_list_dialog_new (contacts); + e_contact_print_response (dialog, GTK_RESPONSE_OK, NULL); g_list_free(contacts); } } @@ -1748,9 +1748,6 @@ e_contact_print_button(GtkDialog *dialog, gint response, gpointer data) gtk_widget_destroy(dialog); g_object_unref (print); - g_object_unref (settings); - g_object_unref (page_setup); - g_object_unref (paper_size); } static void @@ -1867,7 +1864,7 @@ eab_view_print(EABView *view, int preview) EContactPrintDialogWeakData *weak_data; /* FIXME: Allow range selection in table views, as in minicard view */ - dialog = e_print_get_dialog (_("Print cards"), GNOME_PRINT_DIALOG_COPIES); + dialog = e_print_get_dialog (_("Print cards"), 0); g_object_get(view->widget, "table", &etable, NULL); printable = e_table_get_printable(etable); @@ -1901,14 +1898,21 @@ eab_view_print_preview(EABView *view) if (view->view_type == EAB_VIEW_MINICARD) { char *query; EBook *book; - GtkWidget *print; + GtkWidget *dialog; g_object_get (view->model, "query", &query, "book", &book, NULL); - GList *list = get_selected_contacts (view); + + GList *list = get_selected_contacts (view); + if (list != NULL) + dialog = e_contact_print_contact_list_dialog_new (list); + else + dialog = e_contact_print_dialog_new (book, query, list); + e_contact_print_response (dialog, GTK_RESPONSE_APPLY, NULL); e_free_object_list (list); + g_free (query); }else if (view->view_type == EAB_VIEW_TABLE) { GtkWidget *dialog; EPrintable *printable; @@ -1916,7 +1920,7 @@ eab_view_print_preview(EABView *view) EContactPrintDialogWeakData *weak_data; /* FIXME: Allow range selection in table views, as in minicard view */ - dialog = e_print_get_dialog (_("Print cards"), GNOME_PRINT_DIALOG_COPIES); + dialog = e_print_get_dialog (_("Print cards"), 0); g_object_get(view->widget, "table", &etable, NULL); printable = e_table_get_printable(etable); @@ -1932,7 +1936,7 @@ eab_view_print_preview(EABView *view) weak_data->table = view->widget; weak_data->printable = G_OBJECT (printable); g_object_weak_ref (G_OBJECT (dialog), e_contact_print_destroy, weak_data); - e_contact_print_button (dialog, GTK_RESPONSE_OK, NULL); + e_contact_print_button (dialog, GTK_RESPONSE_APPLY, NULL); } } diff --git a/addressbook/printing/e-contact-print.c b/addressbook/printing/e-contact-print.c index 16c219fe1e..51d2171f9f 100644 --- a/addressbook/printing/e-contact-print.c +++ b/addressbook/printing/e-contact-print.c @@ -64,6 +64,7 @@ typedef struct _ContactPrintItem ContactPrintItem; struct _EContactPrintContext { GtkPrintContext *pc; + GtkPrintOperation *print; GnomePrintJob *master; PangoLayout *pl; gdouble x; @@ -78,6 +79,7 @@ struct _EContactPrintContext gboolean uses_book; int type; + gint response_id; EBook *book; EBookQuery *query; @@ -98,6 +100,9 @@ struct _ContactPrintItem static void contact_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page_nr, ContactPrintItem *cpi); +static void +print_func (EBookView *book_view, const GList *contacts, EContactPrintContext *ctxt); + static double get_font_height (PangoFontDescription *font) { @@ -360,7 +365,7 @@ e_contact_print_contact (EContact *contact, EContactPrintContext *ctxt) e_contact_pretty_name (field)); xoff += get_font_width(ctxt, ctxt->style->body_font, e_contact_pretty_name (field)); - e_contact_output(ctxt, ctxt->style->body_font, ctxt->x + xoff, ctxt->y, -1, ": "); + e_contact_output(ctxt, ctxt->style->body_font, ctxt->x + xoff, ctxt->y + 5, -1, ": "); xoff += get_font_width(ctxt, ctxt->style->body_font, ": "); e_contact_output(ctxt, @@ -448,13 +453,13 @@ complete_sequence (EBookView *book_view, EBookViewStatus status, EContactPrintCo g_object_unref(ctxt->pc); g_object_unref(ctxt->pl); - if (ctxt->book) + if (ctxt->book) g_object_unref(ctxt->book); - + g_free(ctxt->character); if (ctxt->query) e_book_query_unref (ctxt->query); - g_list_foreach(ctxt->contacts, (GFunc) g_object_unref, NULL); + g_list_foreach(ctxt->contacts, (GFunc) g_object_unref, NULL); g_list_free(ctxt->contacts); pango_font_description_free(ctxt->style->headings_font); pango_font_description_free(ctxt->style->body_font); @@ -462,7 +467,6 @@ complete_sequence (EBookView *book_view, EBookViewStatus status, EContactPrintCo pango_font_description_free(ctxt->style->footer_font); pango_font_description_free(ctxt->letter_heading_font); g_free(ctxt->style); - g_free(ctxt); } static int @@ -504,10 +508,27 @@ book_view_loaded (EBook *book, EBookStatus status, EBookView *book_view, EContac "contacts_added", G_CALLBACK(create_contact), ctxt); - + g_signal_connect(book_view, + "sequence_complete", + G_CALLBACK(print_func), + ctxt); e_book_view_start (book_view); } +static void +print_func (EBookView *book_view, const GList *contacts, EContactPrintContext *ctxt) +{ + GtkPrintSettings *settings; + settings = gtk_print_settings_new (); + /* runs a print dialog, emittings signals */ + if(ctxt->response_id == GTK_RESPONSE_APPLY) + gtk_print_operation_run (ctxt->print, GTK_PRINT_OPERATION_ACTION_PREVIEW, NULL, NULL); + else + gtk_print_operation_run (ctxt->print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, NULL, NULL); + settings = gtk_print_operation_get_print_settings (ctxt->print); + e_print_save_settings (settings); +} + static void e_contact_do_print_contacts (EBook *book, EBookQuery *query, EContactPrintContext *ctxt) { @@ -725,7 +746,6 @@ void e_contact_print_response(GtkWidget *dialog, gint response_id, gpointer data) { GtkPrintSettings *settings; - GtkPrintOperation *print; GtkPrintOperationResult res; GtkPaperSize *paper_size; GtkPageSetup *page_setup; @@ -770,10 +790,10 @@ e_contact_print_response(GtkWidget *dialog, gint response_id, gpointer data) page_setup = gtk_page_setup_new (); paper_size = gtk_paper_size_new ("iso_a4"); /* FIXME paper size hardcoded */ gtk_page_setup_set_paper_size (page_setup, paper_size); - print = gtk_print_operation_new (); - gtk_print_operation_set_default_page_setup (print, page_setup); - gtk_print_operation_set_n_pages (print, 1); - gtk_print_settings_set_print_pages (settings, GTK_PRINT_PAGES_ALL); + ctxt->print = gtk_print_operation_new (); + gtk_print_operation_set_default_page_setup (ctxt->print, page_setup); + gtk_print_operation_set_n_pages (ctxt->print, 1); + gtk_print_settings_set_print_pages (settings, GTK_PRINT_PAGES_ALL); /* style information */ e_contact_build_style(style, settings); @@ -790,6 +810,7 @@ e_contact_print_response(GtkWidget *dialog, gint response_id, gpointer data) get_font_height (ctxt->style->headings_font)*1.5); ctxt->book = book; ctxt->query = query; + ctxt->response_id = response_id; cpi->uses_book = uses_book; cpi->uses_list = uses_list; cpi->settings = settings; @@ -798,20 +819,25 @@ e_contact_print_response(GtkWidget *dialog, gint response_id, gpointer data) cpi->ctxt->contacts = NULL; cpi->contact_list= contact_list; cpi->book = book; - e_contact_do_print_contacts (book, query, ctxt); - - /* runs the print dialog , emitting signals */ - g_signal_connect (print, "draw_page",G_CALLBACK (contact_draw_page), cpi); - if (response_id == GTK_RESPONSE_APPLY) { - res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PREVIEW, NULL, NULL); + gtk_print_operation_set_print_settings (ctxt->print, settings); + g_signal_connect (ctxt->print, "draw_page",G_CALLBACK (contact_draw_page), cpi); + + if (!uses_book) { + if(ctxt->response_id == GTK_RESPONSE_APPLY) + gtk_print_operation_run (ctxt->print, GTK_PRINT_OPERATION_ACTION_PREVIEW, NULL, NULL); + else + gtk_print_operation_run (ctxt->print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, NULL, NULL); + settings = gtk_print_operation_get_print_settings (ctxt->print); + e_print_save_settings (settings); } else - res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, NULL, NULL); - g_object_unref (settings); - g_object_unref (print); - g_object_unref (paper_size); - g_object_unref (page_setup); - g_object_unref (cpi); + e_contact_do_print_contacts (book, query, ctxt); + + g_object_unref (cpi); + if (!uses_book) { + g_object_unref (ctxt->print); + g_free (ctxt); + } gtk_widget_destroy (dialog); } @@ -823,7 +849,7 @@ e_contact_print_dialog_new(EBook *book, char *query, GList *list) GList *copied_list = NULL; GList *l; - dialog = e_print_get_dialog(_("Print contacts"), GNOME_PRINT_DIALOG_RANGE | GNOME_PRINT_DIALOG_COPIES); + dialog = e_print_get_dialog(_("Print contacts"), 0); if (list != NULL) { copied_list = g_list_copy (list); @@ -849,7 +875,7 @@ e_contact_print_contact_dialog_new(EContact *contact) { GtkWidget *dialog; - dialog = e_print_get_dialog(_("Print contact"), GNOME_PRINT_DIALOG_COPIES); + dialog = e_print_get_dialog(_("Print contact"), 0); contact = e_contact_duplicate(contact); g_object_set_data(G_OBJECT(dialog), "contact", contact); g_object_set_data(G_OBJECT(dialog), "uses_list", GINT_TO_POINTER (FALSE)); @@ -870,13 +896,13 @@ e_contact_print_contact_list_dialog_new(GList *list) GList *l; if (list == NULL) - return NULL; + return NULL; copied_list = g_list_copy (list); for (l = copied_list; l; l = l->next) l->data = e_contact_duplicate (E_CONTACT (l->data)); - dialog = e_print_get_dialog(_("Print contact"), GNOME_PRINT_DIALOG_COPIES); + dialog = e_print_get_dialog(_("Print contact"), 0); g_object_set_data(G_OBJECT(dialog), "contact_list", copied_list); g_object_set_data(G_OBJECT(dialog), "uses_list", GINT_TO_POINTER (TRUE)); @@ -892,7 +918,6 @@ e_contact_print_contact_list_dialog_new(GList *list) static void contact_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page_nr, ContactPrintItem *cpi) { - cairo_t *cr; EBookView *view; EBookViewStatus status; @@ -905,6 +930,7 @@ contact_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page } else if (cpi->uses_list) { + cpi->ctxt->contacts = cpi->contact_list; complete_sequence(NULL, E_BOOK_VIEW_STATUS_OK, cpi->ctxt); } else { diff --git a/calendar/ChangeLog b/calendar/ChangeLog index ea05f7c425..50078014e0 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,11 @@ +2007-02-12 Srinivasa Ragavan + + ** Print migration updates from Ebby Wiselyn + + * gui/print.c: (print_day_view), (print_calendar), (print_comp), + (print_table), (comp_draw_page), (cal_draw_page), + (table_draw_page), (create_custom_widget), (apply_custom_widget): + 2007-01-22 Srinivasa Ragavan Committing GtkPrint migration from Ebby Wiselyn. diff --git a/calendar/gui/print.c b/calendar/gui/print.c index b1f23d7cc2..e9629c0648 100644 --- a/calendar/gui/print.c +++ b/calendar/gui/print.c @@ -111,9 +111,6 @@ struct PrintTableItem static PrintCompItem * evo_calendar_print_data_new (GtkPrintContext *pc, PrintCompItem *pci); -static void -evo_calendar_print_data_free (EvoCalendarPrintRenderer *pr); - static void comp_draw_page (GtkPrintOperation *print, GtkPrintContext *context, @@ -135,6 +132,8 @@ evo_calendar_print_renderer_get_width (EvoCalendarPrintRenderer *pr, PangoFontDescription *font, const char *text); +GObject* create_custom_widget (GtkPrintOperation *print, GtkWidget *range); +static void apply_custom_widget (GtkPrintOperation *print, GtkWidget *dialog, PrintCalItem *cpi); static PrintCalItem * evo_calendar_print_cal_data_new (GtkPrintContext *pc, PrintCalItem *pcali) { @@ -2169,8 +2168,6 @@ print_day_view (EvoCalendarPrintRenderer *pr, GnomeCalendar *gcal, time_t date, print_text_size_bold (pr, buf, ALIGN_LEFT, left + 4, todo, top + 32, top + 32 + 18); - cr = gtk_print_context_get_cairo_context (pr->pc); - date = time_add_day_with_zone (date, 1, zone); } } @@ -2642,7 +2639,6 @@ print_calendar (GnomeCalendar *gcal, gboolean preview, time_t date, g_return_if_fail (GNOME_IS_CALENDAR (gcal)); view = (int) default_view; - range = range_selector_new (gpd, date, &view); pcali = g_new0 (PrintCalItem, 1); pcali->gcal = g_new0 (GnomeCalendar, 1); @@ -2651,17 +2647,17 @@ print_calendar (GnomeCalendar *gcal, gboolean preview, time_t date, paper_size = gtk_paper_size_new ("iso_a4"); page_setup = gtk_page_setup_new(); gtk_page_setup_set_paper_size(page_setup, paper_size); + range = range_selector_new (gpd, date, &view); settings = gtk_print_settings_new (); - settings = e_print_load_config (); - gpd = e_print_get_dialog_with_config (_("ebby"),GNOME_PRINT_DIALOG_RANGE | GNOME_PRINT_DIALOG_COPIES, settings ); - gtk_print_unix_dialog_add_custom_tab (GTK_PRINT_UNIX_DIALOG (gpd), range,gtk_label_new (_("range"))); + settings = e_print_load_settings (); + gpd = e_print_get_dialog_with_config (_("Print Item"), 0, settings); t = gtk_paper_size_get_default_top_margin (paper_size, GTK_UNIT_POINTS); r = gtk_paper_size_get_default_right_margin (paper_size, GTK_UNIT_POINTS); w = gtk_paper_size_get_width (paper_size, GTK_UNIT_POINTS); h = gtk_paper_size_get_height (paper_size, GTK_UNIT_POINTS); - + pcali->b = h * (1.0 - TEMP_MARGIN); pcali->l = r * TEMP_MARGIN; pcali->t = t * (1.0 - TEMP_MARGIN); @@ -2670,31 +2666,28 @@ print_calendar (GnomeCalendar *gcal, gboolean preview, time_t date, pcali->gcal = gcal; pcali->date = date; - settings = gtk_print_unix_dialog_get_settings (GTK_PRINT_UNIX_DIALOG (gpd)); gtk_print_operation_set_default_page_setup (print, page_setup); gtk_print_operation_set_n_pages (print, 1); - + /* FIX ME ,Allow it to use the default settings for the first time */ - /* gtk_print_operation_set_print_settings (print, settings); */ + gtk_print_operation_set_print_settings (print, settings); - /* Runs the print dialog, recursively, emitting signals */ + g_signal_connect (print, "create-custom-widget", G_CALLBACK (create_custom_widget), range); + g_signal_connect (print, "custom-widget-apply", G_CALLBACK (apply_custom_widget), NULL); g_signal_connect (print, "draw_page", G_CALLBACK (cal_draw_page), pcali); + + /* Runs the print dialog, recursively, emitting signals */ if (preview) gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PREVIEW, NULL, NULL); else - res = gtk_print_operation_run (print,GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, NULL, NULL); + res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, NULL, NULL); /* Save the user configured settings back to the gconf */ settings = gtk_print_operation_get_print_settings (print); - e_print_save_config (settings); + e_print_save_settings (settings); if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { - g_object_unref (settings); - g_object_unref (page_setup); - g_object_unref (paper_size); - g_object_unref (print); - g_object_unref (paper_size); - g_object_unref (page_setup); + g_object_unref (print); } else if (res == GTK_PRINT_OPERATION_RESULT_ERROR) { /* FIX ME */ @@ -2726,8 +2719,8 @@ print_comp (ECalComponent *comp, ECal *client, gboolean preview) gtk_page_setup_set_paper_size(page_setup, paper_size); settings = gtk_print_settings_new (); - settings = e_print_load_config (); - gpd = e_print_get_dialog_with_config (_("Print Item"), GNOME_PRINT_DIALOG_COPIES, settings); + settings = e_print_load_settings (); + gpd = e_print_get_dialog_with_config (_("Print Item"), 0, settings); /* Values using the print context , used in comp_draw_page */ t = gtk_paper_size_get_default_top_margin (paper_size, GTK_UNIT_POINTS); @@ -2745,7 +2738,7 @@ print_comp (ECalComponent *comp, ECal *client, gboolean preview) gtk_print_operation_set_n_pages (print, 1); /* FIX ME ,Allow it to use the default settings for the first time */ - /* gtk_print_operation_set_print_settings (print, settings); */ + gtk_print_operation_set_print_settings (print, settings); g_signal_connect (print, "draw_page", G_CALLBACK (comp_draw_page), pci); @@ -2759,13 +2752,10 @@ print_comp (ECalComponent *comp, ECal *client, gboolean preview) /* Saves the user configuration in gconf */ settings = gtk_print_operation_get_print_settings (print); - e_print_save_config (settings); + e_print_save_settings (settings); if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { - g_object_unref (settings); g_object_unref (print); - g_object_unref (page_setup); - g_object_unref (paper_size); } else if ( res == GTK_PRINT_OPERATION_RESULT_ERROR) { /* FIX ME */ @@ -2836,9 +2826,8 @@ print_table (ETable *etable, const char *dialog_title, const char *print_header, pti->paper_width = r - l; pti->paper_height= t + 10; - settings = e_print_load_config (); - gpd = e_print_get_dialog_with_config (dialog_title, GNOME_PRINT_DIALOG_COPIES, settings); - settings = gtk_print_settings_new (); + settings = e_print_load_settings (); + gpd = e_print_get_dialog_with_config (dialog_title, 0, settings); printable = e_table_get_printable (etable); g_object_ref (printable); @@ -2850,11 +2839,11 @@ print_table (ETable *etable, const char *dialog_title, const char *print_header, gtk_print_operation_set_n_pages (print, 1); /* FIX ME ,Allow it to use the default settings for the first time */ - /* gtk_print_operation_set_print_settings (print, settings); */ + gtk_print_operation_set_print_settings (print, settings); /* runs the dialog emitting the signals based on user response */ g_signal_connect (print, "draw_page", G_CALLBACK (table_draw_page), pti); - if (preview) + if (!preview) res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, NULL, NULL); else gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PREVIEW, NULL, NULL); @@ -2862,27 +2851,25 @@ print_table (ETable *etable, const char *dialog_title, const char *print_header, /* Saves the user configuration in gconf */ settings = gtk_print_operation_get_print_settings (print); - e_print_save_config (settings); + e_print_save_settings (settings); if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { - g_object_unref (settings); g_object_unref (print); - g_object_unref (page_setup); - g_object_unref (paper_size); } else if ( res == GTK_PRINT_OPERATION_RESULT_ERROR) { /* FIX ME */ } } - -void comp_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page_nr, PrintCompItem *pci) +static void +comp_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page_nr, PrintCompItem *pci) { pci = evo_calendar_print_data_new (context, pci); print_comp_item (pci); } -void cal_draw_page (GtkPrintOperation *print1, GtkPrintContext *context, gint page_nr1, PrintCalItem *pcali) +static void +cal_draw_page(GtkPrintOperation *print1, GtkPrintContext *context, gint page_nr1, PrintCalItem *pcali) { pcali = evo_calendar_print_cal_data_new (context, pcali); @@ -2901,12 +2888,11 @@ void cal_draw_page (GtkPrintOperation *print1, GtkPrintContext *context, gint pa break; default: g_assert_not_reached (); - } - - + } } -void table_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page_nr, PrintTableItem *pti) +static void +table_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page_nr, PrintTableItem *pti) { pti->context = context; @@ -2920,7 +2906,27 @@ void table_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint p } while (e_printable_data_left (pti->printable)); } +/* + * This callback creates a custom widget that gets inserted into the + * print operation dialog, the custom widget contains the range, + * day, view, month, or year + */ +GObject* create_custom_widget (GtkPrintOperation *print,GtkWidget *range) +{ + return range; +} +/* + * Read the information from the custom widget and print day, view, or + * month based on user selection + */ +static void +apply_custom_widget (GtkPrintOperation *print, GtkWidget *dialog, PrintCalItem *cpi) +{ + gchar str; + str = e_dialog_editable_get (dialog); + printf("%sValue of Radio Button \n", str); +} diff --git a/e-util/ChangeLog b/e-util/ChangeLog index 9945df293d..e18a3bc65a 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,12 @@ +2007-02-12 Srinivasa Ragavan + + ** Print settings revamp from Matthew Barnes + + * e-print.c: (pack_settings), (unpack_settings), + (e_print_load_settings), (e_print_save_settings), + (print_dialog_response), (e_print_get_dialog): + * e-print.h: + 2007-01-27 Andre Klapper * e-html-utils.c: (e_text_to_html_full): diff --git a/e-util/e-print.c b/e-util/e-print.c index 33eecca14b..edec919eac 100644 --- a/e-util/e-print.c +++ b/e-util/e-print.c @@ -19,155 +19,89 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +#include "e-print.h" + #include #include -#include -#include "e-print.h" #include #include -#define PRINTER "/apps/evolution/shell/printer" -#define SCALE "/apps/evolution/shell/scale" -#define PRINT_PAGES "/apps/evolution/shell/print_pages" -#define PAGE_RANGES "/apps/evolution/shell/page_ranges" -#define PAGE_SET "/apps/evolution/shell/page_set" -#define COLLATE "/apps/evolution/shell/collate" -#define REVERSE "/apps/evolution/shell/reverse" -#define N_COPIES "/apps/evolution/shell/n_copies" -#define LPR_COMMANDLINE "/apps/evolution/shell/lpr_commandline" -#define OUTPUT_URI "/apps/evolution/shell/output_uri" -#define OUTPUT_FILE_FORMAT "/apps/evolution/shell/output_file_format" - -/* Loads the print settings that were saved previously */ +#include +#define PRINTING "/apps/evolution/shell/printing" +static void +pack_settings (const gchar *key, const gchar *value, GSList **p_list) +{ + gchar *item; + item = g_strdup_printf ("%s=%s", key, value); + *p_list = g_slist_prepend (*p_list, item); +} +static void +unpack_settings (gchar *item, GtkPrintSettings *settings) +{ + gchar *cp, *key, *value; + cp = strchr (item, '='); + if (cp == NULL) + return; + *cp ++ = '\0'; + key = g_strstrip (item); + value = g_strstrip (cp); + gtk_print_settings_set (settings, key, value); + g_free (item); +} GtkPrintSettings * -e_print_load_config (void) +e_print_load_settings (void) { - GConfClient *gconf; + GConfClient *client; GtkPrintSettings *settings; - gchar *printer_name; - gchar *collate; - gchar *n_copies; - gchar *print_pages; - gchar *page_set; - gchar *scale; - gchar *output_uri; - gchar *output_file_format; - gchar *reverse; - gchar *page_ranges; - gchar *lpr_commandline; + GSList *list; + GError *error = NULL; + client = gconf_client_get_default (); settings = gtk_print_settings_new (); - gconf = gconf_client_get_default (); - - printer_name = gconf_client_get_string (gconf, PRINTER, NULL); - gtk_print_settings_set (settings, "printer", printer_name); - - n_copies = gconf_client_get_string (gconf, N_COPIES, NULL); - gtk_print_settings_set (settings, "n-copies",n_copies); - - collate = gconf_client_get_string (gconf, COLLATE, NULL); - gtk_print_settings_set (settings, "collate", collate); - - lpr_commandline = gconf_client_get_string (gconf, LPR_COMMANDLINE, NULL); - gtk_print_settings_set (settings, "lpr-commandline", lpr_commandline); - - print_pages = gconf_client_get_string (gconf, PRINT_PAGES, NULL); - gtk_print_settings_set (settings, "print-pages", print_pages); - - page_set = gconf_client_get_string (gconf, PAGE_SET, NULL); - gtk_print_settings_set (settings, "page-set", page_set); - - output_uri = gconf_client_get_string (gconf, OUTPUT_URI, NULL); - gtk_print_settings_set (settings, "output-uri", output_uri); - - output_file_format = gconf_client_get_string (gconf, OUTPUT_FILE_FORMAT, NULL); - gtk_print_settings_set (settings, "output-file-format",output_file_format); - - reverse = gconf_client_get_string (gconf, REVERSE, NULL); - gtk_print_settings_set (settings, "reverse", reverse); - - scale = gconf_client_get_string (gconf, SCALE, NULL); - gtk_print_settings_set (settings, "scale", scale); - - page_ranges = gconf_client_get_string (gconf, PAGE_RANGES, NULL); - gtk_print_settings_set (settings, "page-ranges", page_ranges); - - g_free (printer_name); - g_free (collate); - g_free (n_copies); - g_free (print_pages); - g_free (page_set); - g_free (scale); - g_free (output_uri); - g_free (output_file_format); - g_free (reverse); - g_free (page_ranges); - g_free (lpr_commandline); - g_object_unref (gconf); + list = gconf_client_get_list ( + client, PRINTING, GCONF_VALUE_STRING, &error); + if (error == NULL) { + g_slist_foreach (list, (GFunc) unpack_settings, settings); + g_slist_free (list); + } else { + g_warning ("%s: %s", G_STRFUNC, error->message); + g_error_free (error); + } + g_object_unref (client); return settings; } /* Saves the print settings */ void -e_print_save_config (GtkPrintSettings *settings) +e_print_save_settings (GtkPrintSettings *settings) { - GConfClient *gconf; - const gchar *printer_name; - const gchar *collate; - const gchar *n_copies; - const gchar *print_pages; - const gchar *page_set; - const gchar *scale; - const gchar *output_uri; - const gchar *output_file_format; - const gchar *reverse; - const gchar *page_ranges; - const gchar *lpr_commandline; - - gconf = gconf_client_get_default (); - printer_name = gtk_print_settings_get (settings, "printer"); - gconf_client_set_string (gconf, PRINTER, printer_name, NULL); - - scale = gtk_print_settings_get (settings, "scale"); - gconf_client_set_string (gconf, SCALE, scale, NULL); - - page_set = gtk_print_settings_get (settings, "page-set"); - gconf_client_set_string (gconf, PAGE_SET, page_set, NULL); - - print_pages = gtk_print_settings_get (settings, "print-pages"); - gconf_client_set_string (gconf, PRINT_PAGES, print_pages, NULL); - - lpr_commandline = gtk_print_settings_get (settings, "lpr-commandline"); - gconf_client_set_string (gconf, LPR_COMMANDLINE, lpr_commandline, NULL); + GConfClient *client; + GSList *list = NULL; + GError *error = NULL; - collate = gtk_print_settings_get (settings, "collate"); - gconf_client_set_string (gconf, COLLATE, collate, NULL); + client = gconf_client_get_default (); - output_uri = gtk_print_settings_get (settings, "output-uri"); - gconf_client_set_string (gconf, OUTPUT_URI, output_uri, NULL); - - output_file_format = gtk_print_settings_get (settings, "output-file-format"); - gconf_client_set_string (gconf, OUTPUT_FILE_FORMAT, output_file_format, NULL); - - reverse = gtk_print_settings_get (settings, "reverse"); - gconf_client_set_string (gconf, REVERSE, reverse, NULL); - - n_copies = gtk_print_settings_get (settings, "n_copies"); - gconf_client_set_string (gconf, N_COPIES, n_copies, NULL); - - page_ranges = gtk_print_settings_get (settings, "page-ranges"); - gconf_client_set_string (gconf, PAGE_RANGES, "page-ranges",NULL); - - g_object_unref (gconf); + gtk_print_settings_foreach ( + settings, (GtkPrintSettingsFunc) pack_settings, &list); + gconf_client_set_list ( + client, PRINTING, GCONF_VALUE_STRING, list, &error); + if (error != NULL) { + g_warning ("%s: %s", G_STRFUNC, error->message); + g_error_free (error); + } + g_slist_foreach (list, (GFunc) g_free, NULL); + g_slist_free (list); + + g_object_unref (client); } static void print_dialog_response(GtkWidget *widget, int resp, gpointer data) { if (resp == GTK_RESPONSE_OK) { - e_print_save_config (gtk_print_unix_dialog_get_settings(GTK_PRINT_UNIX_DIALOG (widget))); + e_print_save_settings (gtk_print_unix_dialog_get_settings(GTK_PRINT_UNIX_DIALOG (widget))); } } @@ -178,7 +112,8 @@ e_print_get_dialog (const char *title, int flags) GtkPrintSettings *settings; GtkWidget *dialog; - settings = e_print_load_config (); + settings = gtk_print_settings_new (); + settings = e_print_load_settings (); dialog = e_print_get_dialog_with_config (title, flags, settings); g_object_unref (settings); return dialog; diff --git a/e-util/e-print.h b/e-util/e-print.h index c8ca551203..8ae99a2900 100644 --- a/e-util/e-print.h +++ b/e-util/e-print.h @@ -19,17 +19,15 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ -#include -#include -#include - #ifndef __E_PRINT__ #define __E_PRINT__ +#include + G_BEGIN_DECLS -GtkPrintSettings *e_print_load_config (void); -void e_print_save_config (GtkPrintSettings *settings); +GtkPrintSettings *e_print_load_settings (void); +void e_print_save_settings (GtkPrintSettings *settings); GtkWidget *e_print_get_dialog (const char *title, int flags); GtkWidget *e_print_get_dialog_with_config (const char *title, int flags, GtkPrintSettings *settings); diff --git a/mail/ChangeLog b/mail/ChangeLog index a1ca779205..f6139a86ef 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,12 @@ +2007-02-12 Srinivasa Ragavan + + ** Print migration updates from Ebby Wiselyn + + * em-folder-browser.c: + * em-folder-view.c: (emfv_print_response), (em_folder_view_print): + * em-format-html-print.c: (efhp_footer_cb), (emfhp_complete), + (mail_draw_page): + 2007-02-10 Duarte Loreto * default/pt/Inbox: Updated welcome message to 2.8 version diff --git a/mail/em-folder-browser.c b/mail/em-folder-browser.c index e176c27d80..c94baeb759 100644 --- a/mail/em-folder-browser.c +++ b/mail/em-folder-browser.c @@ -48,8 +48,6 @@ #undef interface #endif -#include - #include "mail-mt.h" #include "mail-ops.h" #include "mail-tools.h" diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index a1f24b1c8c..933382d4e1 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -44,8 +44,6 @@ #include -#include - #include #include @@ -2144,8 +2142,12 @@ emfv_print_response(GtkWidget *w, int resp, struct _print_data *data) g_object_unref(print); break; } - g_object_unref (data->emfv); - g_object_unref (data->settings); + + if (w) + gtk_widget_destroy (w); + + g_object_unref (data->emfv); + g_object_unref (data->settings); camel_object_unref (data->folder); g_free (data->uid); g_free (data); @@ -2170,7 +2172,7 @@ int em_folder_view_print(EMFolderView *emfv, int preview) data = g_malloc0(sizeof(*data)); data->emfv = emfv; g_object_ref(emfv); - data->settings = e_print_load_config (); + data->settings = e_print_load_settings (); data->preview = preview; data->folder = emfv->folder; camel_object_ref(data->folder); @@ -2179,13 +2181,13 @@ int em_folder_view_print(EMFolderView *emfv, int preview) if (preview) { GtkDialog *dialog = (GtkDialog *)e_print_get_dialog_with_config (_("Print Message"), - GNOME_PRINT_DIALOG_COPIES, data->settings); + 0, data->settings); gtk_dialog_set_default_response (dialog, GTK_RESPONSE_APPLY); e_dialog_set_transient_for ((GtkWindow *) dialog, (GtkWidget *) emfv); emfv_print_response(dialog, GTK_RESPONSE_APPLY, data); } else { GtkDialog *dialog = (GtkDialog *)e_print_get_dialog_with_config (_("Print Message"), - GNOME_PRINT_DIALOG_COPIES, data->settings); + 0, data->settings); gtk_dialog_set_default_response (dialog, GTK_RESPONSE_OK); e_dialog_set_transient_for ((GtkWindow *) dialog, (GtkWidget *) emfv); emfv_print_response (dialog, GTK_RESPONSE_OK, data); diff --git a/mail/em-format-html-print.c b/mail/em-format-html-print.c index 34ddd2fac8..a527ded879 100644 --- a/mail/em-format-html-print.c +++ b/mail/em-format-html-print.c @@ -26,10 +26,8 @@ #endif #include - #include #include - #include #include @@ -152,9 +150,8 @@ efhp_footer_cb(GtkHTML *html, GtkPrintContext *print_context, double x, double y cairo_set_font_size (cr, 6); cairo_show_text (cr, text); cairo_restore(cr); - cairo_show_page (cr); g_free(text); - info->page_num++; + info->page_num++; } } @@ -171,11 +168,12 @@ emfhp_complete(EMFormatHTMLPrint *efhp, void *data) struct footer_info info; page_setup = gtk_page_setup_new (); - paper_size = gtk_paper_size_new ("iso_a4");/*FIXME paper size hard coded */ + paper_size = gtk_paper_size_new ("iso_a4");/*FIXME paper size hardcoded */ print = gtk_print_operation_new (); gtk_page_setup_set_paper_size (page_setup, paper_size); - settings = e_print_load_config (); + settings = e_print_load_settings (); + gtk_print_operation_set_print_settings (print, settings); /* running the dialog */ gtk_print_operation_set_default_page_setup (print, page_setup); gtk_print_operation_set_n_pages (print, 1); @@ -193,11 +191,9 @@ emfhp_complete(EMFormatHTMLPrint *efhp, void *data) gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, NULL, NULL); else gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PREVIEW, NULL, NULL); + settings = gtk_print_operation_get_print_settings (print); + e_print_save_settings (settings); g_object_unref (print); - g_object_unref (settings); - g_object_unref (paper_size); - g_object_unref (page_setup); - g_object_unref (efhp); } static void @@ -218,7 +214,6 @@ mail_draw_page (GtkPrintOperation *print, GtkPrintContext *context, gint page_nr } else { gtk_html_print_page (mdi->efhp->formathtml.html, context); } - g_object_unref(mdi->efhp); } int em_format_html_print_print(EMFormatHTMLPrint *efhp, EMFormatHTML *source, struct GtkPrintSettings *settings, int preview) diff --git a/plugins/print-message/ChangeLog b/plugins/print-message/ChangeLog index 5275c39b71..22020bc06d 100644 --- a/plugins/print-message/ChangeLog +++ b/plugins/print-message/ChangeLog @@ -1,3 +1,10 @@ +2007-02-12 Srinivasa Ragavan + + ** Print migration updates from Ebby Wiselyn + + * print-message.c: (print_response), (org_gnome_print_message), + (org_gnome_print_preview): + 2005-12-12 Harish Krishnaswamy * Makefile.am: Fix make-clean issues. diff --git a/plugins/print-message/print-message.c b/plugins/print-message/print-message.c index 531882239b..087aa82370 100644 --- a/plugins/print-message/print-message.c +++ b/plugins/print-message/print-message.c @@ -19,7 +19,7 @@ * */ - +#include #include #include #include @@ -40,7 +40,7 @@ void org_gnome_compose_print_message (EPlugin *ep, EMMenuTargetWidget *t); struct _print_data { - GnomePrintConfig *config; + GtkPrintSettings *config; CamelMimeMessage *msg; int preview; }; @@ -51,9 +51,9 @@ print_response (GtkWidget *w, int resp, struct _print_data *data) EMFormatHTMLPrint *print; switch (resp) { - case GNOME_PRINT_DIALOG_RESPONSE_PREVIEW: + case GTK_RESPONSE_APPLY: data->preview = TRUE; - case GNOME_PRINT_DIALOG_RESPONSE_PRINT: + case GTK_RESPONSE_OK: print = em_format_html_print_new(); em_format_html_print_raw_message(print, data->config, data->msg, data->preview); g_object_unref(print); @@ -63,7 +63,7 @@ print_response (GtkWidget *w, int resp, struct _print_data *data) if (w) gtk_widget_destroy(w); - e_print_save_config (data->config); + e_print_save_settings (data->config); g_object_unref(data->config); g_free(data); @@ -80,16 +80,14 @@ org_gnome_print_message (EPlugin *ep, EMMenuTargetWidget *t) GtkDialog *dialog; data = g_malloc0(sizeof(*data)); - data->config = e_print_load_config (); + data->config = e_print_load_settings (); data->preview = 0; data->msg = e_msg_composer_get_message (composer, 1); - dialog = (GtkDialog *)e_print_get_dialog_with_config (_("Print Message"), GNOME_PRINT_DIALOG_COPIES, data->config); - gtk_dialog_set_default_response(dialog, GNOME_PRINT_DIALOG_RESPONSE_PRINT); + dialog = (GtkDialog *)e_print_get_dialog_with_config (_("Print Message"), 0, data->config); + gtk_dialog_set_default_response(dialog, GTK_RESPONSE_OK); e_dialog_set_transient_for ((GtkWindow *) dialog, (GtkWidget *) composer); - g_signal_connect(dialog, "response", G_CALLBACK(print_response), data); - gtk_widget_show((GtkWidget *)dialog); - + print_response (dialog, GTK_RESPONSE_OK, data); } void org_gnome_print_preview (EPlugin *ep, EMMenuTargetWidget *t); @@ -101,12 +99,12 @@ org_gnome_print_preview (EPlugin *ep, EMMenuTargetWidget *t) struct _print_data *data; data = g_malloc0(sizeof(*data)); - data->config = e_print_load_config (); + data->config = e_print_load_settings (); data->preview = 0; data->msg = e_msg_composer_get_message (composer, 1); - print_response(NULL, GNOME_PRINT_DIALOG_RESPONSE_PREVIEW, data); + print_response(NULL, GTK_RESPONSE_APPLY, data); } diff --git a/shell/ChangeLog b/shell/ChangeLog index 8055a429ed..01769364f3 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,9 @@ +2007-02-12 Srinivasa Ragavan + + ** Rewrite of print settings schema from Matthew Barnes + + * apps_evolution_shell.schemas.in.in: + 2007-02-09 William Jon McCann * e-shell-nm-glib.c: Fix the build. Fixes #403744 diff --git a/shell/apps_evolution_shell.schemas.in.in b/shell/apps_evolution_shell.schemas.in.in index 96467f5de0..f7d1e71f98 100644 --- a/shell/apps_evolution_shell.schemas.in.in +++ b/shell/apps_evolution_shell.schemas.in.in @@ -204,302 +204,17 @@ - + - /schemas/apps/evolution/shell/print_config - /apps/evolution/shell/print_config + /schemas/apps/evolution/shell/printing + /apps/evolution/shell/printing evolution - string - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/printer - /apps/evolution/shell/printer - evolution - string - printer - - - A GNOME Print description of the current printer settings - - - - - /schemas/apps/evolution/shell/orientation - /apps/evolution/shell/orientation - evolution - int - 2 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/paper_size - /apps/evolution/shell/paper_size - evolution - int - GTK_PAPER_NAME_A3 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/paper_width - /apps/evolution/shell/paper_width - evolution - double - 5 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/paper_height - /apps/evolution/shell/paper_height - evolution - double - 5 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/duplex - /apps/evolution/shell/duplex - evolution - int - 1 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/quality - /apps/evolution/shell/quality - evolution - int - 1 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/n_copies - /apps/evolution/shell/n_copies - evolution - int - 10 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/number_up_ - /apps/evolution/shell/number_up - evolution - int - 10 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/resolution - /apps/evolution/shell/resolution - evolution - int - 50 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/scale - /apps/evolution/shell/scale - evolution - double - 50.0 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/print_pages - /apps/evolution/shell/print_pages - evolution - int - 3 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/page_ranges - /apps/evolution/shell/page_ranges - evolution - int - 5 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/page_set - /apps/evolution/shell/page_set - evolution - int - 5 - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/default_source - /apps/evolution/shell/default_source - evolution - string - "/home/ebby/Desktop/" - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/media_type - /apps/evolution/shell/media_type - evolution - string - "iso_a3" - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/dither - /apps/evolution/shell/dither - evolution - string - "dither" - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/finishings - /apps/evolution/shell/finishings - evolution - string - "finish" - - Printer settings - A GNOME Print description of the current printer settings - - - - - /schemas/apps/evolution/shell/output_bin - /apps/evolution/shell/output_bin - evolution - string - "/home/ebby/Desktop" - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/reverse - /apps/evolution/shell/reverse - evolution - bool - TRUE - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/collate - /apps/evolution/shell/collate - evolution - bool - TRUE - - Printer settings - A GNOME Print description of the current printer settings - - - - - - /schemas/apps/evolution/shell/use_color - /apps/evolution/shell/use_color - evolution - bool - TRUE + list + string - Printer settings - A GNOME Print description of the current printer settings + A string description of the current printer settings - diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog index 635a24c065..7763bc034a 100644 --- a/widgets/misc/ChangeLog +++ b/widgets/misc/ChangeLog @@ -1,3 +1,11 @@ +2007-02-12 Srinivasa Ragavan + + ** Print migration updates from Ebby Wiselyn + + * e-printable.c: (e_printable_print_page), (e_printable_height), + (e_printable_will_fit): + * e-printable.h: + 2007-01-08 Harish Krishnaswamy * e-filter-bar.c: (build_items): Initialize ESearchBarItem diff --git a/widgets/misc/e-printable.c b/widgets/misc/e-printable.c index ed12c9e488..b9d9221404 100644 --- a/widgets/misc/e-printable.c +++ b/widgets/misc/e-printable.c @@ -31,6 +31,7 @@ #include "e-printable.h" + #define EP_CLASS(e) ((EPrintableClass *)((GtkObject *)e)->klass) #define PARENT_TYPE GTK_TYPE_OBJECT @@ -126,7 +127,7 @@ e_printable_new(void) void e_printable_print_page (EPrintable *e_printable, - GnomePrintContext *context, + GtkPrintContext *context, gdouble width, gdouble height, gboolean quantized) @@ -169,7 +170,7 @@ e_printable_reset (EPrintable *e_printable) gdouble e_printable_height (EPrintable *e_printable, - GnomePrintContext *context, + GtkPrintContext *context, gdouble width, gdouble max_height, gboolean quantized) @@ -192,7 +193,7 @@ e_printable_height (EPrintable *e_printable, gboolean e_printable_will_fit (EPrintable *e_printable, - GnomePrintContext *context, + GtkPrintContext *context, gdouble width, gdouble max_height, gboolean quantized) diff --git a/widgets/misc/e-printable.h b/widgets/misc/e-printable.h index 0c665f89c2..2d3140c99f 100644 --- a/widgets/misc/e-printable.h +++ b/widgets/misc/e-printable.h @@ -26,6 +26,7 @@ #include #include +#include G_BEGIN_DECLS @@ -46,10 +47,10 @@ typedef struct { * Signals */ - void (*print_page) (EPrintable *etm, GnomePrintContext *context, gdouble width, gdouble height, gboolean quantized); + void (*print_page) (EPrintable *etm, GtkPrintContext *context, gdouble width, gdouble height, gboolean quantized); gboolean (*data_left) (EPrintable *etm); void (*reset) (EPrintable *etm); - gdouble (*height) (EPrintable *etm, GnomePrintContext *context, gdouble width, gdouble max_height, gboolean quantized); + gdouble (*height) (EPrintable *etm, GtkPrintContext *context, gdouble width, gdouble max_height, gboolean quantized); /* e_printable_will_fit (ep, ...) should be equal in value to * (e_printable_print_page (ep, ...), @@ -58,7 +59,7 @@ typedef struct { * position of the printable. */ - gboolean (*will_fit) (EPrintable *etm, GnomePrintContext *context, gdouble width, gdouble max_height, gboolean quantized); + gboolean (*will_fit) (EPrintable *etm, GtkPrintContext *context, gdouble width, gdouble max_height, gboolean quantized); } EPrintableClass; GtkType e_printable_get_type (void); @@ -68,19 +69,19 @@ EPrintable *e_printable_new (void); /* * Routines for emitting signals on the e_table */ void e_printable_print_page (EPrintable *e_printable, - GnomePrintContext *context, + GtkPrintContext *context, gdouble width, gdouble height, gboolean quantized); gboolean e_printable_data_left (EPrintable *e_printable); void e_printable_reset (EPrintable *e_printable); gdouble e_printable_height (EPrintable *e_printable, - GnomePrintContext *context, + GtkPrintContext *context, gdouble width, gdouble max_height, gboolean quantized); gboolean e_printable_will_fit (EPrintable *e_printable, - GnomePrintContext *context, + GtkPrintContext *context, gdouble width, gdouble max_height, gboolean quantized); diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog index ed89bd823e..50319c8bd3 100644 --- a/widgets/table/ChangeLog +++ b/widgets/table/ChangeLog @@ -1,3 +1,10 @@ +2007-02-12 Srinivasa Ragavan + + ** Print migration updates from Ebby Wiselyn + + * e-cell-toggle.c: + * e-cell-text.c: + 2007-02-08 Matthew Barnes ** Fixes bug #357216 diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c index 88dd215636..8df67aca24 100644 --- a/widgets/table/e-cell-text.c +++ b/widgets/table/e-cell-text.c @@ -1380,7 +1380,7 @@ ect_print (ECellView *ecell_view, GtkPrintContext *context, cairo_line_to (cr, MIN (2 + text_width, width - 2), ly + text_height + 6); } cairo_set_line_width (cr, (double)pango_font_metrics_get_underline_thickness (font_metrics)/(double)PANGO_SCALE); - cairo_stroke (cr); + cairo_stroke (cr); } if (strikeout) { diff --git a/widgets/table/e-cell-toggle.c b/widgets/table/e-cell-toggle.c index dda87efcae..1ee06c15ea 100644 --- a/widgets/table/e-cell-toggle.c +++ b/widgets/table/e-cell-toggle.c @@ -295,25 +295,25 @@ etog_print (ECellView *ecell_view, GtkPrintContext *context, GdkPixbuf *image; double image_width, image_height; const int value = GPOINTER_TO_INT ( - e_table_model_value_at (ecell_view->e_table_model, model_col, row)); + e_table_model_value_at (ecell_view->e_table_model, model_col, row)); cairo_t *cr; - if (value >= toggle->n_states){ + if (value >= toggle->n_states){ g_warning ("Value from the table model is %d, the states we support are [0..%d)\n", - value, toggle->n_states); + value, toggle->n_states); return; } cr = gtk_print_context_get_cairo_context (context); cairo_save(cr); - image = toggle->images[value]; + image = toggle->images[value]; cairo_translate (cr, 0 , 0); image = gdk_pixbuf_add_alpha (image, TRUE, 255, 255, 255); - image_width = (double)gdk_pixbuf_get_width (image); + image_width = (double)gdk_pixbuf_get_width (image); image_height = (double)gdk_pixbuf_get_height (image); cairo_rectangle (cr, image_width / 7, image_height / 3, - image_width - image_width / 4, - image_width - image_height / 7); + image_width - image_width / 4, + image_width - image_height / 7); cairo_clip (cr); gdk_cairo_set_source_pixbuf (cr, image, 0, image_height / 4); cairo_paint (cr); -- cgit v1.2.3