Re: Patches for tables
Martin Sevior <[email protected]>
| Newsgroups | gmane.editors.abiword.devel |
|---|---|
| Message-ID | <CAOJESBVTAwfo-Txz=NxJ_y=OyPQwpvAs5nWtyXindzRSRdcBZw@mail.gmail.com> |
Hi Simon, Please go ahead and commit this patch. Thanks very much! Cheers Martin On Thu, Dec 27, 2012 at 4:14 AM, Simon Larochelle <[email protected]> wrote: > > I made a patch to fix several issues with tables in abiword. The patch > speeds up abiword when big tables are used (tables that are broken > over tens of pages). A document with such a table can be loaded much > faster than before and I can now edit a document with very little > delays on most commands. I still have some important slowdowns for > example when trying to erase the big table or when selecting a segment > of the table. > > The patch also fixes several issues with broken tables such as > - cells that extend on more than 2 pages > - breaking of nested tables > - breaking is done preferably along cell boundaries (the breaking is > done along cell boundaries if the resulting amount of white space at > the bottom of the page column is less than a given fraction of the > page column (this fraction is a new table property); the breaking is > done inside the cells otherwise). > - breaking inside a cell has also been improved. > - the line at the bottom of a broken table segment was sometimes > printed at the wrong place. This is now fixed. > - tables with footnotes: the space occupied by the footnotes are now > accounted correctly when breaking the table > > Finally I fixed about half of the other bugs in the Editing - Tables category. > > Can I commit this patch to the SVN repository or should I wait after > the release of version 3.0? The patch is fairly big. Here is the > diff-stat (N.B.: the patch is composed of about 30 smaller patches in > my git repository) > > src/af/xap/gtk/xap_Gtk2Compat.h | 1 + > src/af/xap/gtk/xap_UnixFrameImpl.cpp | 7 +- > src/af/xap/xp/xav_Listener.h | 3 +- > src/text/fmt/xp/fb_ColumnBreaker.cpp | 72 +- > src/text/fmt/xp/fl_BlockLayout.cpp | 14 +- > src/text/fmt/xp/fl_BlockLayout.h | 2 +- > src/text/fmt/xp/fl_ContainerLayout.cpp | 40 + > src/text/fmt/xp/fl_ContainerLayout.h | 4 + > src/text/fmt/xp/fl_DocListener.cpp | 7 +- > src/text/fmt/xp/fl_FootnoteLayout.cpp | 3 +- > src/text/fmt/xp/fl_FrameLayout.cpp | 4 +- > src/text/fmt/xp/fl_Layout.cpp | 14 +- > src/text/fmt/xp/fl_Layout.h | 3 + > src/text/fmt/xp/fl_TOCLayout.cpp | 3 +- > src/text/fmt/xp/fl_TableLayout.cpp | 110 +- > src/text/fmt/xp/fl_TableLayout.h | 11 +- > src/text/fmt/xp/fp_Column.cpp | 2 +- > src/text/fmt/xp/fp_Line.cpp | 15 +- > src/text/fmt/xp/fp_Page.cpp | 65 +- > src/text/fmt/xp/fp_Run.cpp | 5 +- > src/text/fmt/xp/fp_TableContainer.cpp | 2427 +++++++++++++------------------ > src/text/fmt/xp/fp_TableContainer.h | 68 +- > src/text/fmt/xp/fv_View.cpp | 112 +- > src/text/fmt/xp/fv_View.h | 28 +- > src/text/fmt/xp/fv_View_cmd.cpp | 1146 ++++++--------- > src/text/fmt/xp/fv_View_protected.cpp | 153 +- > src/text/ptbl/xp/pd_Document.cpp | 24 + > src/text/ptbl/xp/pd_Document.h | 4 +- > src/text/ptbl/xp/pp_Property.cpp | 1 + > src/text/ptbl/xp/pp_PropertyMap.cpp | 1 + > src/text/ptbl/xp/pp_PropertyMap.h | 1 + > src/text/ptbl/xp/pt_PT_DeleteSpan.cpp | 34 +- > src/text/ptbl/xp/pt_PT_InsertStrux.cpp | 1 + > src/text/ptbl/xp/pt_PieceTable.cpp | 28 + > src/text/ptbl/xp/pt_PieceTable.h | 3 + > src/wp/ap/xp/ap_EditMethods.cpp | 30 +- > src/wp/ap/xp/ap_LeftRuler.cpp | 6 +- > src/wp/ap/xp/ap_ML_ContextText.h | 8 +- > src/wp/ap/xp/ap_Menu_ActionSet.cpp | 4 +- > src/wp/ap/xp/ap_Menu_Id_List.h | 4 +- > src/wp/ap/xp/ap_Menu_Layouts_Embedded.h | 4 +- > src/wp/ap/xp/ap_Menu_Layouts_MainMenu.h | 4 +- > src/wp/ap/xp/ap_String_Id.h | 10 +- > src/wp/ap/xp/ap_TopRuler.cpp | 5 +- > src/wp/impexp/xp/ie_imp_RTF.cpp | 20 +- > 45 files changed, 2002 insertions(+), 2509 deletions(-) > > > Simon