Re: Monodoc print support patch - feedback needed.
Rafael Ferreira <[email protected]>
| Newsgroups | gmane.comp.gnome.mono.documentation |
|---|---|
| Message-ID | <[email protected]> |
Mario, My comments are below: On Mon, 2005-08-29 at 14:45 +0200, Mario Sopena wrote: > Hello, > > On 8/28/05, Rafael Ferreira <[email protected]> wrote: > > Hey everyone, > > > > This patch creates a basic infrastructure for printing in monodoc. The > > patch is composed of: > > > > * docbrowser.patch - Minor changes to browser.cs / browser.glade to add > > printing support > > * IPrintManager.cs - Printing interface to allow for different printing > > back ends > > * GtkHTMLPrintManager.cs - GtkHtml implementation of IPrintManager.cs > > It's better to integrate everything in the patch file (just my > opinion). Just use svn add file_name for adding those .cs files and > then, when you make the patch, svn will integrate them. For the > Changelog, label the new files with the word added, so everyone will > know that file was added at that point (look at the other entries in > the Changelog). Fixed. I didn't know I could do a "svn add" while in anonymous svn mode. I also updated the Changelog, let me know if it looks any better. > > Also, the diff to the glade file shows you are including a lots of things like: > > + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> > + <property name="width_chars">-1</property> > + <property name="single_line_mode">False</property> > + <property name="angle">0</property> > > that are probably automatically added by glade but are not necessary, > so try to leave them out. You have also some changes to some icons or > images..are those necessary? Can you explain why? I have no clue what those "ellipsize" glade tags are. I played around with glade for a while to see if I could remove those with no luck. Aside from manually editing the xml I have no idea how to make them go away. But to answer your question, the only other change I made to this file (besides adding the gtk-stock-print menu item) is to enforce that the About menu item is using the gtk-stock-about icon. Originally FC4/Clearlooks was having problems saving the glade file because it could not find the About icon. Let me know what you think, - raf > > Mario > > > > > Currently the GtkHtml implementation is fully functional in all of its > > css-less glory. The lack of css support will cause the printed html to > > not look identical to the "on-screen" html if the user is using the > > gecko rendering engine. This can be easily corrected/improved by > > implementing a Gecko based print manager once gecko-sharp catches up to > > printing. > > > > As always, feedback is appreciated. > > > > - raf > > > > > > > > > > > > > > _______________________________________________ > > Mono-docs-list maillist - [email protected] > > http://lists.ximian.com/mailman/listinfo/mono-docs-list > > > > > > > > > _______________________________________________ Mono-docs-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-docs-list
docbrowser.patch
(text/x-patch, 35.3 KB)
Index: GtkHTMLPrintManager.cs =================================================================== --- GtkHTMLPrintManager.cs (revision 0) +++ GtkHTMLPrintManager.cs (revision 0) @@ -0,0 +1,56 @@ +// +// GtkHTMLPrintManager.cs: Handles monodoc printing on Gnome using GtkHTML +// Author: +// Rafael Ferreira <[email protected]> +// +// (C) 2005 Rafael Ferreira +// +namespace Monodoc { + using System; + using Gtk; + using Gnome; + + public class GtkHTMLPrintManager : IPrintManager { + public void Print(string Html, string Css, string Caption) { + + if (Html == null) { + Console.WriteLine("empty print"); + return; + } + + if (Caption==null) + Caption="Monodoc Printing"; + + PrintJob pj = new PrintJob (PrintConfig.Default ()); + PrintDialog dialog = new PrintDialog (pj, Caption, 0); + + Gtk.HTML gtk_html = new Gtk.HTML(Html); + gtk_html.PrintSetMaster(pj); + + PrintContext ctx = pj.Context; + gtk_html.Print(ctx); + + pj.Close(); + + // hello user + int response = dialog.Run (); + + if (response == (int) PrintButtons.Cancel) { + dialog.Hide (); + dialog.Dispose (); + return; + } + else if (response == (int) PrintButtons.Print) { + pj.Print(); + + }else if (response == (int) PrintButtons.Preview) { + new PrintJobPreview(pj,Caption).Show(); + } + + ctx.Close(); + dialog.Hide(); + dialog.Dispose(); + return; + } + } +} Index: browser.cs =================================================================== --- browser.cs (revision 48356) +++ browser.cs (working copy) @@ -167,7 +167,10 @@ this.Url = url; } } + // handles printing + IPrintManager print_manager = null; + public ArrayList bookList; public Browser (bool UseGecko) @@ -230,6 +233,9 @@ bookList = new ArrayList (); index_browser = IndexBrowser.MakeIndexBrowser (this); + + // print manager logic + print_manager = (IPrintManager) new GtkHTMLPrintManager(); AddTab(); MainWindow.ShowAll(); @@ -489,6 +495,12 @@ { Application.Quit (); } + + void on_print_activate (object sender, EventArgs e) { + Node n; + // sending Html to the printed. + print_manager.Print(help_tree.RenderUrl (CurrentUrl, out n),null,n.Caption); + } void OnCommentsActivate (object o, EventArgs args) { @@ -1266,6 +1278,7 @@ { BookmarkEditBox = null; } + } } Index: ChangeLog =================================================================== --- ChangeLog (revision 48356) +++ ChangeLog (working copy) @@ -1,3 +1,17 @@ +2005-08-28 Rafael Ferreira <[email protected]> + + Landed monodoc's simple printing subsystem + + * browser.cs: add printing support + * browser.glade: add GTK-stock printing icon + * Makefile.am: + - Added new source files + - Fixed GeckoHtmlRender.dl.mdb clean up + * IPrintManager.cs: added + - New Printing interface to allow multiple printing backends + * GtkHTMLPrintManager.cs: added + - New GtkHtml based implementation of IPrintManager + 2005-08-09 Mario Sopena Novales <[email protected]> * browser.cs: - Allow render with CSS Index: browser.glade =================================================================== --- browser.glade (revision 49101) +++ browser.glade (working copy) @@ -18,6 +18,7 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> <child> <widget class="GtkVBox" id="vbox4"> @@ -47,7 +48,7 @@ <accelerator key="T" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image132"> + <widget class="GtkImage" id="image137"> <property name="visible">True</property> <property name="stock">gtk-add</property> <property name="icon_size">1</property> @@ -69,7 +70,7 @@ <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image118"> + <widget class="GtkImage" id="image138"> <property name="visible">True</property> <property name="stock">gtk-jump-to</property> <property name="icon_size">1</property> @@ -93,6 +94,15 @@ </child> <child> + <widget class="GtkImageMenuItem" id="print"> + <property name="visible">True</property> + <property name="label">gtk-print</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_print_activate" last_modification_time="Tue, 30 Aug 2005 05:02:29 GMT"/> + </widget> + </child> + + <child> <widget class="GtkImageMenuItem" id="quit1"> <property name="visible">True</property> <property name="label" translatable="yes">Quit</property> @@ -101,7 +111,7 @@ <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image119"> + <widget class="GtkImage" id="image139"> <property name="visible">True</property> <property name="stock">gtk-quit</property> <property name="icon_size">1</property> @@ -136,7 +146,7 @@ <accelerator key="C" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image120"> + <widget class="GtkImage" id="image140"> <property name="visible">True</property> <property name="stock">gtk-copy</property> <property name="icon_size">1</property> @@ -158,7 +168,7 @@ <accelerator key="V" modifiers="GDK_CONTROL_MASK" signal="activate"/> <child internal-child="image"> - <widget class="GtkImage" id="image132"> + <widget class="GtkImage" id="image141"> <property name="visible">True</property> <property name="stock">gtk-paste</property> <property name="icon_size">1</property> @@ -182,7 +192,7 @@ </child> <child> - <widget class="GtkMenuItem" id="separator1"> + <widget class="GtkSeparatorMenuItem" id="separator1"> <property name="visible">True</property> </widget> </child> @@ -291,9 +301,9 @@ <signal name="activate" handler="OnAboutActivate" last_modification_time="Tue, 08 Jul 2003 22:54:49 GMT"/> <child internal-child="image"> - <widget class="GtkImage" id="image121"> + <widget class="GtkImage" id="image142"> <property name="visible">True</property> - <property name="stock">gnome-stock-about</property> + <property name="stock">gtk-about</property> <property name="icon_size">1</property> <property name="xalign">0.5</property> <property name="yalign">0.5</property> @@ -449,6 +459,10 @@ <property name="yalign">0.5</property> <property name="xpad">6</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -513,6 +527,9 @@ <property name="rules_hint">False</property> <property name="reorderable">False</property> <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> </widget> </child> </widget> @@ -558,6 +575,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -635,6 +656,10 @@ <property name="xpad">0</property> <property name="ypad">0</property> <property name="mnemonic_widget">index_entry</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -672,7 +697,7 @@ <property name="max_length">0</property> <property name="text" translatable="yes"></property> <property name="has_frame">False</property> - <property name="invisible_char" translatable="yes">*</property> + <property name="invisible_char">*</property> <property name="activates_default">False</property> <signal name="changed" handler="OnIndexEntryChanged" last_modification_time="Wed, 09 Jul 2003 02:56:48 GMT"/> <signal name="activate" handler="OnIndexEntryActivated" last_modification_time="Wed, 09 Jul 2003 02:58:39 GMT"/> @@ -785,6 +810,10 @@ <property name="xpad">0</property> <property name="ypad">0</property> <property name="mnemonic_widget">index_entry</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -811,6 +840,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="tab_expand">False</property> @@ -854,6 +887,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -927,6 +964,7 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> <signal name="delete_event" handler="OnDelete" last_modification_time="Fri, 12 Dec 2003 21:51:59 GMT"/> <child> @@ -971,6 +1009,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1017,6 +1059,10 @@ <property name="yalign">0</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1045,6 +1091,10 @@ <property name="yalign">0</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1115,6 +1165,7 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> <signal name="delete_event" handler="OnDelete" last_modification_time="Fri, 12 Dec 2003 21:58:13 GMT"/> <child> @@ -1137,6 +1188,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1156,7 +1211,7 @@ <property name="max_length">0</property> <property name="text" translatable="yes"></property> <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> + <property name="invisible_char">*</property> <property name="activates_default">True</property> <accessibility> <atkproperty name="AtkObject::accessible_name" translatable="yes">lookup_entry</atkproperty> @@ -1218,6 +1273,7 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> <signal name="delete_event" handler="OnDelete" last_modification_time="Fri, 10 Oct 2003 03:26:23 GMT"/> <child> @@ -1254,6 +1310,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1281,6 +1341,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1334,6 +1398,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -1366,6 +1434,10 @@ <property name="xpad">9</property> <property name="ypad">0</property> <property name="mnemonic_widget">entry_email</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1384,7 +1456,7 @@ <property name="max_length">0</property> <property name="text" translatable="yes"></property> <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> + <property name="invisible_char">*</property> <property name="activates_default">False</property> <signal name="changed" handler="OnEmail_Changed" last_modification_time="Fri, 10 Oct 2003 03:14:56 GMT"/> </widget> @@ -1408,6 +1480,10 @@ <property name="yalign">0.5</property> <property name="xpad">7</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1442,6 +1518,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1495,6 +1575,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -1520,6 +1604,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1547,6 +1635,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1601,6 +1693,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -1627,6 +1723,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1692,6 +1792,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -1725,6 +1829,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1753,6 +1861,10 @@ <property name="xpad">9</property> <property name="ypad">0</property> <property name="mnemonic_widget">entry_password</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1770,7 +1882,7 @@ <property name="max_length">0</property> <property name="text" translatable="yes"></property> <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> + <property name="invisible_char">*</property> <property name="activates_default">False</property> </widget> <packing> @@ -1793,6 +1905,10 @@ <property name="yalign">0.5</property> <property name="xpad">7</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1871,6 +1987,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -1896,6 +2016,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1929,6 +2053,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -1987,6 +2115,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -2015,6 +2147,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2077,6 +2213,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -2104,6 +2244,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2166,6 +2310,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -2193,6 +2341,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2220,6 +2372,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2271,6 +2427,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -2299,6 +2459,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2361,6 +2525,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -2389,6 +2557,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2451,6 +2623,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -2479,6 +2655,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2541,6 +2721,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">tab</property> @@ -2563,6 +2747,7 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> <property name="has_separator">True</property> <child internal-child="vbox"> @@ -2617,6 +2802,10 @@ <property name="yalign">0.5</property> <property name="xpad">10</property> <property name="ypad">11</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2644,6 +2833,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2665,6 +2858,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2703,6 +2900,7 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> <signal name="delete_event" handler="OnDelete" last_modification_time="Fri, 12 Dec 2003 21:59:42 GMT"/> <child> @@ -2724,6 +2922,10 @@ <property name="yalign">0.5</property> <property name="xpad">5</property> <property name="ypad">5</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -2750,7 +2952,7 @@ <property name="max_length">0</property> <property name="text" translatable="yes"></property> <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> + <property name="invisible_char">*</property> <property name="activates_default">False</property> </widget> <packing> @@ -2773,7 +2975,7 @@ <property name="max_length">0</property> <property name="text" translatable="yes"></property> <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> + <property name="invisible_char">*</property> <property name="activates_default">False</property> </widget> <packing> @@ -2800,6 +3002,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -2822,7 +3028,7 @@ <property name="max_length">0</property> <property name="text" translatable="yes"></property> <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> + <property name="invisible_char">*</property> <property name="activates_default">False</property> </widget> <packing> @@ -2849,6 +3055,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -2875,6 +3085,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -2901,6 +3115,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -3024,6 +3242,7 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> <signal name="delete_event" handler="OnDelete" last_modification_time="Sun, 14 Dec 2003 16:36:48 GMT"/> <child> @@ -3056,6 +3275,9 @@ <property name="rules_hint">False</property> <property name="reorderable">False</property> <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> </widget> </child> </widget> Index: IPrintManager.cs =================================================================== --- IPrintManager.cs (revision 0) +++ IPrintManager.cs (revision 0) @@ -0,0 +1,14 @@ +// +// IPrintManager.cs: An abstraction to allow printing on multiple platforms +// Author: +// Rafael Ferreira <[email protected]> +// +// (C) 2005 Rafael Ferreira +// + +namespace Monodoc { + public interface IPrintManager { + void Print(string Html, string Css, string Caption); + } +} + Index: Makefile.am =================================================================== --- Makefile.am (revision 48356) +++ Makefile.am (working copy) @@ -3,7 +3,7 @@ if ENABLE_GECKO -CLEANFILES = browser.exe browser.exe.mdb admin.exe admin.exe.mdb GeckoHtmlRender.dll +CLEANFILES = browser.exe browser.exe.mdb admin.exe admin.exe.mdb GeckoHtmlRender.dll GeckoHtmlRender.dll.mdb monodoc_DATA = browser.exe GeckoHtmlRender.dll else CLEANFILES = browser.exe browser.exe.mdb admin.exe admin.exe.mdb @@ -23,7 +23,9 @@ $(srcdir)/Contributions.cs \ $(srcdir)/XmlNodeWriter.cs \ $(srcdir)/GtkHtmlHtmlRender.cs \ - $(srcdir)/IHtmlRender.cs + $(srcdir)/IHtmlRender.cs \ + $(srcdir)/IPrintManager.cs \ + $(srcdir)/GtkHTMLPrintManager.cs geckorender_sources = \