summaryrefslogtreecommitdiff
path: root/sw/source/core/doc/DocumentSettingManager.cxx
AgeCommit message (Collapse)AuthorFilesLines
2020-09-25tdf#134782 sw,unotools,officecfg: adapt configuration and UIMichael Stahl1-1/+1
Store AddParaLineSpacingToTableCells in configuration as "AddTableLineSpacing", consistently inconsistent like AddTableSpacing (the <desc> elements are not subject to translation). Adapt SwCompatibilityOptPage with some ugly hacks to allow 3 different states (TriState) for the corresponding checkbox that map to false/false, true/false and true/true. The checkbox widget doesn't allow to change *to* indeterminate but at least the status of the document can be displayed this way, with a non-obvious tweak to optcompatpage.ui to reference "checktri1" column. Change-Id: I5f32e05c93b5e16e782cba5d1d055809d9e5e251 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103318 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 68aec8fd57eda8c05926b7f361dc102772f2c501) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103360 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-09-25tdf#134782 sw: split AddParaSpacingToTableCells flag in 2Michael Stahl1-0/+7
commit 3cccdabf19a99fd3f657985c1822436d7679df2b "extend AddParaSpacingToTableCells with line spacing" changed how the ADD_PARA_SPACING_TO_TABLE_CELLS compat flag works, to improve interop with Word. This commit splits out the change as a separate new compat flag ADD_PARA_LINE_SPACING_TO_TABLE_CELLS ("AddParaLineSpacingToTableCells"), to preserve compatibility with ODT documents that were produced by LO < 6.4 (via SwXMLImport::SetConfigurationSettings()). New documents and WW8/RTF/DOCX import have both flags enabled. The combination false/true is invalid, and treated as equivalent to false/false. Change-Id: Ida20df8fe4a8192a714f91da95345f9726fd7d98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103317 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 38aa699f265c17548769aaa4f20e1ae35d18f202) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103359 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-08-17tdf#128197: sw: different line height for DOCX with compat=14Vasily Melenchuk1-0/+7
Lines containing just a shape inline without any other text are treated in DOCX with compatibility option 15 and 14 in a different way: while compat=15 is layouting line exatly as LO does, in compat=14 mode minimal line height takes into account just shape height and not current font. Change-Id: Id2bdab941a0bbaa9080567d736435d9e0babd490 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96080 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100542
2020-06-15tdf#128195 Keep spacing below last paragraph in header (docx)Samuel Mehrbrodt1-1/+7
Add a layout compat option to keep the spacing below the last paragraph in the header in doc/docx files (cherry picked from commit 9b5805d1ef2b9e9c4e8f389c069807bf4489ea95) Conflicts: sw/inc/IDocumentSettingAccess.hxx sw/source/core/doc/DocumentSettingManager.cxx sw/source/core/inc/DocumentSettingManager.hxx sw/source/core/layout/flowfrm.cxx sw/source/filter/ww8/ww8par.cxx sw/source/uibase/uno/SwXDocumentSettings.cxx writerfilter/source/dmapper/DomainMapper.cxx Change-Id: I259511183a8252e04d9951357dbdd4f4832523ec
2020-06-03tdf#124790: sw: handle SubtractFlys when replacing compat optionsMiklos Vajna1-0/+1
This was added in commit c5cf8824a619401627f18abc7b3049551c71ac2a (tdf#86578: sw: fix rendering of legacy documents with fly achored at fly), it's off by default and on for legacy ODT files. Change-Id: I8a08106bed8b12c173d47ed66efe54fd71953c99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92731 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95298
2019-11-05tdf#42949 Fix IWYU warnings in sw/source/core/d*/*cxxGabor Kelemen1-1/+0
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Id33b8c1e0c02c21591b167a8b3f0ea288fac63bd Reviewed-on: https://gerrit.libreoffice.org/81689 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-09-30tdf#124601 sw: add ContinuousEndnotes layout compat optionMiklos Vajna1-0/+5
Writer has two cases for laying out endnotes: either they are at the end of the section or are on a separate endnote page at the end of the document. Word always puts endnotes as continuous content at the end of the document, not on a separate page. Given that this continuous / separate page behavior difference seems to be not part of the ODF or OOXML file format and neither UI allows to configure this, the best way to resolve this looks like a new layout compat option. At a layout level, the "endnotes at the end of the section" code is close to what we need, we just need to make sure that: 1) Endnotes are never moved backwards, even if their reference moves back. 2) When appending an endnote, they should go to the footnote container on the last page, not close to their reference. With this, the page number in Word and Writer now match for the bugdoc. Change-Id: I6fd0ee191e001d7c3a6df46d5e9fe8d7eb0327dc Reviewed-on: https://gerrit.libreoffice.org/79857 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2018-07-10[API CHANGE] tdf#65353 Add more doc. settings more embedding fontsTomaž Vajngerl1-0/+20
- Add setting to embed used fonts only - Add setting for filtering of Latin, Asian, Complex script fonts Change-Id: I8d093ed05fdcef3715616c008f6eeaa8cfbcc850 Reviewed-on: https://gerrit.libreoffice.org/57167 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-05-20tdf#35798: Hide empty Database fields' paragraphs (+ compat option)Mike Kaganski1-0/+8
With this change, Database fields that expand to empty values behave as if they are "Hidden Paragraph" fields. A compatibility option to enable this behaviour is added. The option is enabled by default, and for any non-native documents (for compatibility with other office suites). For existing (F)ODT documents, the option is disabled for those documents that don't have this setting set, to keep the layout of legacy documents. Change-Id: Ic5e8cb15a3a7d1a765a984eef4b0d97666df7dfd Reviewed-on: https://gerrit.libreoffice.org/54552 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-12-11tdf#112443 disable off-page content positioningPatrick Jaap1-1/+6
Disable the positioning for objects that are completely off-page. During import, LO writer forces content always back to the page and causes unwanted content on the page in constrast to MSO. To achive this the top/left position of the content is compared to the bottom/right border of the clipping region. A new compatibility flag OFF_PAGE_POSITIONING is introduced for legacy rendering of legacy documents. A unit test demonstrates the issue. It resolves tdf#112443. Change-Id: I263c129f9f09ed909ad777a34f8b9ffc84d871e4 Reviewed-on: https://gerrit.libreoffice.org/43313 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-11-09rename AvoidConfig to FuzzingCaolán McNamara1-1/+1
cause that's what its really used for and a couple of cases are not specifically about avoiding config but avoiding uninteresting disk acccess and what not Change-Id: I4c6454f98388579fcd0bf9798321d30408ab65ee Reviewed-on: https://gerrit.libreoffice.org/44491 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-22tdf#110355: loading options from default configVitaliy Anderson1-0/+4
Enable loading the "Protect Form" and "Use LibreOffice 4.3 anchoring paint order (in current document)" compatibility options from default config Change-Id: Ibb0cd4b66516a8b054974d458edf9f28a4b4743d Reviewed-on: https://gerrit.libreoffice.org/41400 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-07-06ensure safe GlobalEditData release of xForbiddenCharsTableCaolán McNamara1-2/+2
ensure that when the editeng GlobalEditData dtor is called that the vtable of the xForbiddenCharsTable shared_ptr will point to functions that are callable from editeng. otherwise a shared_ptr created in the sw uwriter cppunit test, but now belonging to GlobalEditData, will have deleter entries pointing to functions in uwriter that have been unloaded and are not available anymore Change-Id: I375a84156c0b1a0f8b24194fc07f0c512f556dbc Reviewed-on: https://gerrit.libreoffice.org/39605 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-06rework as a shared_ptrCaolán McNamara1-12/+8
mostly to try and track down a crash on exit of sw uwriter under windows Change-Id: Id67e93863056da319dd8225038d60a7f5783b103 Reviewed-on: https://gerrit.libreoffice.org/39604 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-05-09loplugin:checkunusedparams in sw(part5)Noel Grandin1-2/+2
Change-Id: Iee48e6c77f1eb57cd8a3a245e5415051b85f4cc1 Reviewed-on: https://gerrit.libreoffice.org/37387 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-04-26use strong_int for LanguageTypeNoel Grandin1-3/+3
Change-Id: If99a944f7032180355da291ad283b4cfcea4f448 Reviewed-on: https://gerrit.libreoffice.org/36629 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-13convert CharCompressType to scoped enumNoel Grandin1-4/+5
and move it to svl, where it belongs Change-Id: Ic4d846419dfe2dd85de5ade8ed1a041867bbf1dc
2017-01-27Compatibility options refactoring. Part 1Vitaliy Anderson1-12/+12
It relate to reduce the nubmer of copy-paste the same code and simplify adding compability options. Also using enum class instead enum can eliminate to occurrence an error relate to access to out of range an array. Change-Id: I07b862aac5f88da4a98e2273cb14daa09e70eacb Reviewed-on: https://gerrit.libreoffice.org/33543 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-25sw: config item "OutlineLevelYieldsNumbering" has no effectMichael Stahl1-7/+0
... since CWS swqbf90 in 2005, so remove it, except for the entry in the property set. Change-Id: I5f82d1957a15bf5141108ac9821b813dd36f1995
2017-01-18tdf#104349, tdf#104668 MS Word compatibility trailing blanks option part 2Vitaliy Anderson1-2/+3
Create the option in Tools->Options->LibreOffice Writer->Compatibility Change-Id: I7c766138db9210d3e7a97eea48b9265ee9762199 Reviewed-on: https://gerrit.libreoffice.org/33148 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-01-17tdf#104349, tdf#104668 MS Word compatibility trailing blanks optionVitaliy Anderson1-0/+9
The commits: 1c1747ac13a9d895df0fcba2fbb1bd266dccd74b and 4a410dd147f7160c1d62e3e0b67388a178d5136c make trailing spaces and their highlighting compatible with the Ms Word. The option is enabled by default for imported MS Word formats: .doc, .docx, .rtf For the ODF files the option is disabled by default Also it allows saving and loading the option state to the ODF UserData. It may be manually set in Tools->Options->LibreOffice Writer->Compatibility Change-Id: I5a86359c52d18e50bbb54b9f37c79b672591c369 Reviewed-on: https://gerrit.libreoffice.org/33046 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2016-11-24tdf#41542 globally allow padding without borders: UIJustin Luth1-5/+0
This is the final fix for tdf#41542 - enabling the UI to adjust the padding without requiring an enabled border line. Because almost every document edited by LO5.3 will gain the setting ALLOW_PADDING_WITHOUT_BORDERS = false, it cannot be kept as a preventative compatibility setting. Otherwise any document edited in 5.3 would act differently from any other document - not being allowed to modify borderless padding for frames, even in 5.4+. That would be a very confusing corner-case that is best avoided, so removing all compatibility code (which currently has no use). So, if an AllowPaddingWithoutBorders=false compatibility situation is ever required in the future, do not resurrect the name ALLOW_PADDING_WITHOUT_BORDRES. Additionally, code will also be needed to send the compatibility setting for each type of border (page, paragraph, character, header, frames, image). See commit f013d4a1f4073cda735befd6e446bee35f3db65c as an example of how to implement that for frames. This commit means there is a lot of dead code now (m_bBorderDist and mbAllowPaddingWithoutBorders are always true). LO5.7 seems like a good target to clean that up - to allow time to easily fix any regressions. Change-Id: I2d2091fa34f8b178a59347b35a81c944c9b24ed7 Reviewed-on: https://gerrit.libreoffice.org/31105 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-10-29tdf#41542 rename variable to match LO5.4 terminologyJustin Luth1-4/+4
Changing /Allow_*Spacing_*Without_*Borders/I to AllowPaddingWithoutBorders related to tdf#103275 where "spacing to contents" is to be changed to Padding. Rename this already in LO53 to simplify potential backports and laying other groundwork for fixing this bug. Also, I can easily see setting AllowPaddingWithoutBorders globally in 5.3 for the purpose of being able to share documents when the UI in LO5.4 permits creation of padding without borders. Otherwise older versions will display significantly different formatting. Change-Id: I253173274f824a019ebc09a039c471d170c1be73 Reviewed-on: https://gerrit.libreoffice.org/30372 Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Justin Luth <justin_luth@sil.org>
2016-09-02tdf#76349 SpacingWithoutBorders: enable .doc RTJustin Luth1-0/+5
Microsoft allows spacing in textboxes even if the borders are not shown, but LO does not. Added a compatible setting, used an existing setting to allow the spacing, and changed .doc export not to zero out the spacing if the border was zero-width. Using the compatible setting in the export code is almost redundant, but it does require that the document was LOADED as .doc, and not "save as" from another format. This patch simply allows round-tripping - any user attempt to modify the border settings will enforce normal LO border rules. Change-Id: I60ac036e1bfac381eea15e33c21495ad3800277a Reviewed-on: https://gerrit.libreoffice.org/28601 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-08-30tdf#76349 writer: make 1column-as-page break a compatibility optionJustin Luth1-0/+6
Unable to find/create a proof .doc document, so only implementing this for .docx Change-Id: I3a0cb2ddf7b3aeecc9200e595f70d8c88af4b122 Reviewed-on: https://gerrit.libreoffice.org/28501 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-03-31tdf#98987 sw: add AddVerticalFrameOffsets compat modeMiklos Vajna1-0/+5
The situation is the following: we have a text frame, with at least two anchored objects: one is wrapped not-wrap-through, the other is. In case the non-wrap-though one shifts the text content of the text frame right or down, then layout may or may not want to re-consider what is the top left corner of the text frame for anchoring purposes. Regarding the x position, sw layout repositioned the anchor point depending on the AddFrameOffsets compat mode: it's enabled for documents imported from Word, disabled otherwise. Regarding the y position, no repositioning was done, however the bugdoc shows that Word does the same repositioning on the vertical axis as well. Add a new AddVerticalFrameOffsets compat mode that enables vertical repositioning as well, and enable that mode for documents imported from DOCX. Change-Id: Idc5cad7d86662008a92ff3bf5fbb3806aa2c7b07 Reviewed-on: https://gerrit.libreoffice.org/23702 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-03-31tdf#84938 convert INV_ constants to scoped enumNoel Grandin1-2/+2
Change-Id: I587d8ae6510aa5e464214c05a5da9e5e2e0b7228
2015-11-25bin/rename-sw-abbreviations.shlibreoffice-5-1-branch-pointRobinson Tryon1-3/+3
This commit renames the most annoying abbreviations in Writer (and partially in the shared code too). Change-Id: I77e5134f42f25e3786afa36b7a505c7e3237a9e8
2015-11-11Replace several for_each by range based fors and functors by lambdas in sw.Mario J. Rugiero1-4/+4
It also corrects one whitespace and an outdated comment. Change-Id: Ife1c45d42b059353d3c98d68518d44a1379a96fa Reviewed-on: https://gerrit.libreoffice.org/19899 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann1-1/+1
Change-Id: I01e11fa956a249974e77dce9deebe79311f098d0
2015-11-06com::sun::star->css in sw/source/coreNoel Grandin1-1/+1
Change-Id: I30016977f1be8fb53dd239367d043de92a9467d9
2015-08-19for testing allow disabling configmgr for time critical pathsCaolán McNamara1-13/+31
Change-Id: I08021f18d53e1748927f8847649994f95252bbc2 Reviewed-on: https://gerrit.libreoffice.org/17844 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-05-20bin/rename-sw-abbreviations.shlibreoffice-5-0-branch-pointChristian Lohmaier1-11/+11
renames the most annoying abbreviations in Writer (and partially in the shared code too). Change-Id: I9a62759138126c1537cc5c985ba05cf54d6132d9
2015-04-10tdf#86578: sw: fix rendering of legacy documents with fly achored at flyMichael Stahl1-0/+6
Resurrect the special hack "lcl_SubtractFlys" that effectively paints "lower" flys on top of "higher" flys, defying the z-ordering, if the lower fly is *anchored* in or at the higher fly. It turns out that this is not obvious to emulate in any other way that it is currently implemented: One idea would be to split up painting of the fly background from the foreground, by creating 2 different view objects per fly as children of the SdrPage when decomposing it in svx; but the problem is, they will be ordered in z-order of the flys, and the point would be to paint the backgrounds first and in a different order, call it "anchoring order". What that order should be is hard to tell, there is a conflict between the defined z-order and the flys that are part of one "anchoring hierarchy" and should have their backgrounds re-ordered, because entirely unrelated flys that could belong to different "anchoring hierarchies" but overlap the first ones may result in a cyclic ordering. Painting one "anchoring hierarchy" recursively would not get z-order of flys from different anchoring hierarchies right. Another difficulty is that heaven-layer backgrounds would need to be painted before hell-layer ones. Another aspect of the lcl_SubtractFlys is that it entirely ignores drawing shapes; only Writer's own flys are handled. Since none of the above makes much sense, we clearly want to deprecate the lcl_SubtractFlys rendering. Introduce a new compatibility flag "SubtractFlysAnchoredAtFlys" so that the legacy rendering is only active for legacy documents, while new ones remain free from its taint. (regression from 6e61ecd09679a66060f932835622821d39e92f01) Change-Id: I710fe79710b89c8f865ebb7162e14713aac6cc4a
2015-03-18convert DocumentSettingId to an enum classNoel Grandin1-99/+99
Change-Id: Ia4f135c64e6b6b5bd7a522e4a1e9ca63738ff3ef
2015-01-24sal_uInt16 to size_type/sal_Int32, and avoid unneeded downcastsMatteo Casalin1-1/+1
Change-Id: I66ac08c52d472d96979da84f5be462dca3105e0b
2014-10-30fdo#79602: sw: add new compatibiltiy flag PropLineSpacingShrinksFirstLineMichael Stahl1-0/+6
This is enabled by default, to get the new formatting where the first line of a paragraph is shrunk if a proportional line spacing < 100% is applied; existing OOo documents get the previous (before LO 3.3) formatting. Since the formatting in LO releases is broken anyway, it does not matter much which way documents written by old LO get formatted. Change-Id: I0952f568a933c137bd03070759989cac3517d8b9
2014-08-12Refactored IDocumentLayoutAccess out of SwDoc.Valentin Kettner1-2/+3
Into the new class DocumentLayoutManager. Change-Id: I02d0cfcc63633d0bdab380508b2ef563187fd269
2014-08-12Refactored IDocumentState out of SwDoc.Valentin Kettner1-2/+3
Into the new class DocumentStateManager. Change-Id: I91c9097b091ff6118d58fd15fff2a4cefe0171fd
2014-06-19coverity#705037 Unchecked dynamic_castCaolán McNamara1-0/+1
Change-Id: I9f6c8ceafd09b4a5d4e951e01e1a06b2b5265181
2014-06-03Split out IDocumentDrawModelAccess from SwDoc.Valentin Kettner1-2/+3
To the new class DocumentDrawModelManager. All moved methods and members have the same in thew new class. Change-Id: I89ad0e0c4a42885d5810e834983ea8e8e6c0a2d2
2014-06-03Fixed a typo in IDocumentSettingAccess.hxxValentin Kettner1-13/+13
Compatability -> Compatibility Change-Id: Ia80e6db589a74d2aa8d1276195bc30ddb8d251fd
2014-06-03Work on DocumentSettingManager for SwDoc.Valentin Kettner1-2/+25
Moved mn32DummyCompatabilityOptions1 from SwDoc to DocumentSettingManager and moved a comment from SwDoc to it. Change-Id: I4abd5cd9596d23dc3ac12460ee9b38345d0bf0a7
2014-05-29handle direct formatting for numbering in .docx (bnc#875717)Luboš Luňák1-0/+5
Change-Id: I3ed0f926e79f3878c5702c2becae97d99d00e201
2014-05-22sw: remove using namespace from headersThomas Arnhold1-2/+2
Change-Id: I12cb17c5b357d966e7a11bdeb69d930bcdc8ab22
2014-04-30sw: sal_Bool->boolNoel Grandin1-1/+1
Change-Id: I324a0ffde2ddcca105451c19e7aadcfad15211d8
2014-04-22Refactor IDocumentSettingAccess Interface of SwDocanuragkanungo1-0/+504
Change-Id: I4a7ec73d3bdf9888e50d071b593798b74780b80c