summaryrefslogtreecommitdiff
path: root/sw/inc
AgeCommit message (Collapse)Author
2022-06-21vcl: rename mnExtraData to mnRendererIdChris Sherlock
The name "extra data" doesn't really describe what this field does. What it actually does it to specify what animation renderer should be used. Change-Id: I1e705ba89d09ceb41a8649c8947225c7b6816e7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/76403 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-06-20SfxStyleSheetBasePool::Find can be constCaolán McNamara
Change-Id: I5cf2737d05cfe4b0be936a77cfb96db053483438 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136141 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-20SwDoc::IsUsed(const SwNumRule&) can be constCaolán McNamara
Change-Id: I9966c2d71670d53375e27090e1ad3dffb780f81e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136143 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-16sw: document SwFormatWrapInfluenceOnObjPosMiklos Vajna
The legacy iterative process doesn't need this, but the newer straightforward one does. Change-Id: I33932f37d5ad7bae0ffe5f23abdf2c4d82b84598 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135920 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-06-15remove unused sw UNO_NAME_CHARACTER_FORMAT_NONEJustin Luth
CharacterFormatNone seems to be orphaned code. Was this ever written out to file? If not, then it should be removable because I don't see anywhere that it can be set. I found this while working on tdf#75297. Change-Id: I3212ab7dcda3c46adfe638ee1ae412a3ede8762c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134889 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-06-13sw content controls: reject typing inside checkbox or picture content controlsMiklos Vajna
Content controls are editable by default (and not only editable, but also capable of hosting rich text content), and Writer doesn't limit the possibility to edit explicitly, either. Certain content control types (checkbox and picture for now) limit the hosted content though: checkbox overwrites the content on click and picture is meant to host a single as-char anchored image. So far the simple implementation Writer didn't enforce these limits, leading the unexpected behavior when clicking on checkbox content controls (possibly not only a checked/non-checked checkmark was toggled, but other content was removed). Fix the problem by making these content control types read-only: this is what also Word does and this way you can't loose the content when you can't enter it earlier. We may want to also do this for dropdowns in the future, once combo boxes will be supported. Change-Id: I9d44206b3c719a64ec552f2fa0a076901094163e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135574 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-06-10loplugin:unnecessaryvirtualNoel Grandin
Change-Id: Ica246a12d93f5417ad857b9484575d03c66f761a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135601 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-10sw doc model xml dump: show table row propertiesMiklos Vajna
Also extract SwTableNode::dumpAsXml() from SwStartNode::dumpAsXml(), ideally dumpAsXml() should only dump own members, not members of other classes. Change-Id: I5ef3e90d0cdd23ba44c192de1802844acad64cc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135575 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-06-09loplugin:unusedmethodsNoel Grandin
Change-Id: Ib89ab59f7ad7e90b2a44ddd122176cde904fba4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135520 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-08tdf#133957 sw: don't delete flys on Backspace/Delete keysMichael Stahl
Also fixes: tdf#134007 tdf#138835 tdf#139514 When a character is deleted via the keyboard by Backspace or Delete key, an artificial selection is created in SwWrtShell::DelLeft()/DelRight(). Ideally this should not delete flys that may be anchored to the paragraphs, but unfortunately this may happen if there are only 2 empty paragraphs in the section, because then the artificial selection cannot be distinguished by the SwDoc implementation from a selection from Ctrl+A (Select All), which *should* delete the flys. So introduce a new flag that needs to be passed down multiple layers so that SwUndoDelete can use it to determine if flys should be deleted, and translating it to a flag that had been introduced to preserve flys in ReplaceRange() previously. There are a couple more callers that look like they want to "replace" some text, so guess a bit at where to set this new flag. (note: of course fly anchored *as char* must be deleted via keys.) (regression from commit e75dd1fc992f168f24d66595265a978071cdd277) Change-Id: Ib4467476b12a12aefbbcb74ab9802f9318cf9aa0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135476 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-06-06Fix typosAndrea Gelmini
Change-Id: I36d81be6e591830ee3762a0d43357dbacd68ad93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135439 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-06-05restore %PRODUCTNAME to accessible descriptions that need themCaolán McNamara
The original problem was that %PRODUCTNAME wasn't replaced for accessibility descriptions (which are reused for extended tips) under gtk. Universally querying all a11y descs on load to potentially replace %PRODUCTNAME in a11y descs at runtime led to tdf146971 which was a huge startup slowdown. The half way 7.3 fix was to leave a11y descs alone, but do the replacement when querying for the extended tip case. So the extended tooltips were ok, but screen readers would still say a raw "%PRODUCTNAME" text, hence the rewording effort to remove %PRODUCTNAME from the a11y descs entirely for 7.4. But there is now a few cases where some options paths exists in the a11y descs which is not exactly correct wrt to the text shown in the options dialog. Reworking the options dialog to not have %PRODUCTNAME there at all and updating everything to fit that sort of change would not be popular. So move the cases where a11y descs really should have %PRODUCTNAME in them out of the .ui files and into .hrc files and use specific set_accessibility_description calls for them via ResID which will do the %PRODUCTNAME replacement automatically. Hopefully the a11y runtime cost for just this handful of cases is negligible in the overall scheme of things. Change-Id: Ieb17d26fd581cd5804a52b371b3bb5ea43023aa3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135432 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-02tdf#149420 sw offapi xmloff: add hyphenation zoneLászló Németh
Add hyphenation zone support, i.e. allow the specified amount of extra space in lines instead of forcing hyphenation. It's for limiting hyphenation, used especially with not justified paragraph alignment. Note: this is an OOXML interoperability feature, used also in DTP software and CSS. * Add checkbox to Text Flow in paragraph dialog * Store property in paragraph model (com::sun::star::style::ParagraphProperties::ParaHyphenationZone) * Add ODF import/export * Add ODF unit test * Add layout test Note: extend SvxHyphenZoneItem::GetPresentation() with missing No CAPS and No last word hyphenation options. Note: fix OSL_ENSURE condition in SwTextFormatInfo::GetHyphValues(). Follow-up to commit 29359fc15c435cec17987fd6221ab6833d38746e "tdf#149324 sw offapi xmloff: add option to not hyphenate short words". Change-Id: Ib8eff6ea98a9aa5ca6cb9d17faa0bbb789687ce9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135247 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2022-06-01CppunitTest_sw_tiledrendering: use CPPUNIT_TEST_FIXTURE()Miklos Vajna
Which changes the order of the tests in the suite, so testRedlineColors runs later and the global list of redline authors now contains unexpected entries, leading to an assertion failure. Fix this by clearing the redline author list at the start of each test. Change-Id: Ifffe079eb83cd3184c962ea2e69505bd518a52bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135229 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-31sw content controls, date: add insert UIMiklos Vajna
- handle the date case in SwWrtShell::InsertContentControl() - expose this as a new .uno:InsertDateContentControl command - add the new uno command to the default & MS-compatible menus - hide the old .uno:DatePickerFormField from the menus that has the problems described in the sw::mark::DateFieldmark documentation. Change-Id: If3c1050d6a8302be0da4a11067a67805396dec48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135153 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-27sw content controls, date: preserve more propertiesMiklos Vajna
While working on the DOCX import for dates, it turns out there is a need to store more properties for DOCX export purposes. Given that these are potentially useful for full support, add dedicated UNO API and DOCX export for these (i.e. not just grab-bag), but omit UI or ODT filter for now. This includes: - <w:docPart w:val="..."> - <w:dataBinding w:prefixMappings="..." w:xpath="..." w:storeItemID="..."> - <w15:color w:val="..."> And tests for all these. Change-Id: I18ddec50d40c1c4abd87f7ea947a24dd8a92a755 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135039 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-27sw content controls, date: add current date handlingMiklos Vajna
While working on the DOCX import for dates, it turns out there is a need to store the selected date in machine-readable format as well. This is useful, because once the timestamp is formatted, the user is allowed to hand-edit the result, so otherwise the selected date would be lost. This commit adds: - doc model & UNO API - click handler (store the selected date, default to the current date in the date picker if possible) - ODT filter - DOCX export And tests for all these. Change-Id: I00f4e87ebfe0e8a19486367c32d472ccd2ff16a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135035 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-26tdf#149324 sw offapi xmloff: add option to not hyphenate short wordsLászló Németh
Add paragraph property to disable automatic hyphenation of short words based on a minimum character count. Note: there is a (broken) global option for Minimum Word Length at hyphenation, see "Minimal number of characters for hyphenation" in Tools->Options->Language Settings->Writing Aids), but for better/comfortable paragraph-level adjustment of typesetting, add a paragraph property for it. The same option is available e.g. in Adobe InDesign and in CSS Text Module Level 4 (hyphenate-limit-chars). * Add checkbox to Text Flow in paragraph dialog * Store property in paragraph model (com::sun::star::style::ParagraphProperties::ParaHyphenationMinWordLength) * Add ODF import/export * Add ODF unit test * Add layout test Follow-up to commit 8c018910ae4d8701b1ce2a95727b9baed4016da3 "tdf#149248 sw offapi xmloff: add option to not hyphenate last word". Change-Id: I68715f47d17b5c022430bd0e74c88a97bc7f81f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135028 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2022-05-26tdf#149248 sw offapi xmloff: add option to not hyphenate last wordLászló Németh
Add option to disable automatic hyphenation of the last word of paragraphs for better typography. Note: the same option used e.g. in Adobe InDesign, and a similar one in CSS Text Module Level 4 (hyphenate-limit-last). * Add checkbox to Text Flow in paragraph dialog * Store property in paragraph model (com::sun::star::style::ParagraphProperties::ParaHyphenationNoLastWord) * Add ODF import/export * Add ODF unit test * Add layout test Follow-up to commit 72bd0df107ee47c4d54fa88b4960d32ea03e9f69 "tdf#121658 Add option to not hyphenate words in CAPS". Change-Id: Ida29c65b5a7cbfd7c399c342781531a6fb86f639 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134985 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2022-05-26sw content controls, date: add ODT filterMiklos Vajna
Map the Date, DateFormat and DateLanguage UNO properties to: <loext:content-control loext:date="..." loext:date-format="..." loext:date-rfc-language-tag="..."> And do the opposite on import. Change-Id: I16d3f755d77ed20380d877ba65dfe6d063f2bec2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134977 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-25tdf#149018 a few more "Objects" -> "OLE Objects"Seth Chaiklin
-- part of a general project to use "OLE Object" instead of "Object" in the UI when appropriate. * updated command sequence in one "tip of the day" and converted tip to a question (after preferred style) * title of dialog box for inserting or editing an OLE object Change-Id: I519930c2e95c7a157c43a0870dca8b3df362b65d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134895 Tested-by: Jenkins Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
2022-05-25sw content controls, date: show a date picker on clickMiklos Vajna
- add a new SwContentControl::GetDateString() that knows how to produce a formatted date, taking the language and the date format into account - add a new SwDateContentControlButton that knows how to open popup a calendar on click and that puts the selected date into SwContentControl::m_oSelectedDate - extend SwWrtShell::GotoContentControl() to consume that selected date & update the document text accordingly - in case SwSelPaintRects::HighlightContentControl() notices a date content control, create an instance of this newly introduced SwDateContentControlButton Change-Id: Ia2cb0fa3aefbf543b8dc2e96bcebb41408eb12c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134926 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-24comments: reassign ID when copy commentPranam Lashkari
reassigning new ID will make all the comments have unique IDs this will also ensure there is no mixup when working with comments ID Signed-off-by: Pranam Lashkari <lpranam@collabora.com> Change-Id: I94b433130c68354ab94d4d6e9b86751038b31af5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134686 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 0d3bba5c383ef8b9f62c121a26fed4445c813949) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134792 Tested-by: Jenkins
2022-05-24sw content controls, date: add doc model & UNO APIMiklos Vajna
This is meant to be a content control (providing rich text), which also has a dropdown-like date picker button. Add a new Date property to track this type, together with date format and date language. This should be enough for the UI to generate a correct date string when the file picker is used. Change-Id: If5d46a804d771e903a688fd73cfaf2d2809b7ab9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134847 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-23sw: SwNodeIndex GCC12 spurious -Werror=dangling-pointer=Michael Stahl
It doesn't understand that ~SwNodeIndex() will remove the pointer, which is obfuscated by over-boostified code. In member function ‘void SwNodeIndex::RegisterIndex(SwNodes&)’, inlined from ‘SwNodeIndex::SwNodeIndex(SwNodes&, SwNodeOffset)’ at sw/inc/ndindex.hxx:54:22, inlined from ‘bool SwNodes::InsBoxen(SwTableNode*, SwTableLine*, SwTableBoxFormat*, SwTextFormatColl*, const SfxItemSet*, sal_uInt16, sal_uInt16)’ at sw/source/core/docnode/ndtbl.cxx:301:41: sw/inc/ndindex.hxx:37:31: error: storing the address of local variable ‘aEndIdx’ in ‘*this.SwNodes::m_vIndices’ [-Werror=dangling-pointer=] 37 | rNodes.m_vIndices = this; | ~~~~~~~~~~~~~~~~~~^~~~~~ sw/source/core/docnode/ndtbl.cxx: In member function ‘bool SwNodes::InsBoxen(SwTableNode*, SwTableLine*, SwTableBoxFormat*, SwTextFormatColl*, const SfxItemSet*, sal_uInt16, sal_uInt16)’: sw/source/core/docnode/ndtbl.cxx:301:17: note: ‘aEndIdx’ declared here 301 | SwNodeIndex aEndIdx( *this, nIdxPos ); | ^~~~~~~ sw/source/core/docnode/ndtbl.cxx:301:17: note: ‘<unknown>’ declared here Change-Id: I3f24cd8e3e0b1fd0a0943150d3d83d09f2c984fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134741 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-05-20sw content controls, picture: add insert UIMiklos Vajna
- handle the picture case in SwWrtShell::InsertContentControl(): insert a placeholder bitmap & create content control around the as-char image - expose this as a new .uno:InsertPictureContentControl command - add the new uno command to the default & MS-compatible menus - rename the SwWrtShell::Insert() overload taking a Graphic to make this a bit more readable Change-Id: I289d6b6a9cd622c585b6cf0ec0c91d6b51ad81ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134681 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-19tdf#149018 "Object" -> "OLE Object" in Menu and Dialog labelsSeth Chaiklin
As a step toward internal UI labeling consistency, this patch focused on dialogs, menus, toolbars that involve OLE Objects, which can be defined as embedded objects that use the Properties dialog in sw/uiconfig/swriter/ui/objectdialog.ui. One reason for the change is to distinguish these objects from the generic term "object", which is also used for Shapes and Textboxes. The label "Object" is changed to "OLE Object", where appropriate, which will align the menu and dialog labels with the one that appears in Navigator and Toolbar. Also changed "Objects" to "OLE objects" for the Statistics field. Changed "OLE-object" to "OLE Object" - again for consistency. Changed "Type" tab label to "Position and Size" in Object Dialog, to keep consistency with tdf#138844 Change-Id: Iba54c30fd83489631a9be546d6efc9365bdbefd3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134186 Tested-by: Jenkins Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
2022-05-19sw_fieldmarkhide: fix wrong handling of SwInsText for fieldmarksMichael Stahl
For redlines, typically DocumentContentOperationsManager::InsertString() will insert text, and it explicitly removes any redlines on the text that has been inserted, hence it is always visible - so effectively the sw::MergedPara is updated correctly. However for fieldmarks the situation is different, if the insertion happens inside of the part that is hidden in the layout, then it must not be inserted into the sw::MergedPara. Try to figure out which part(s) of a fieldmark the insertion position is in and ignore the inserted text as appropriate in SwTextFrame::SwClientNotify(). Change-Id: Ic5066b20e9609f50438ca64ac7d2cbd09baeef23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134611 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-05-17sw content controls, picture: add doc model & UNO APIMiklos Vajna
This is meant to be a content control (providing rich text), which is also a picture placeholder field. Add a new Picture property to track this type, this way the click handler will be able to present a file picker when showing the placeholder. Change-Id: Ibbd3720fc94d0f17654ec813821d218166c76424 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134457 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-17sw: document SwEditShell::InsertTable()Miklos Vajna
How it interacts with SwCursorShell::MoveTable() is far from trivial. Change-Id: I04c9123c0b39192df43fe32984d66852102ebd1d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134410 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-05-16sw content controls, dropdown: edit list items in the properties dialogMiklos Vajna
- add a weld::TreeView to show existing display name - value pairs - add a button to add a new list item, together with a new SwContentControlListItemDlg to specify the list item properties + write the changed list back to the doc model Change-Id: I9243be84eb0af65437eccfb48c6780787609bc68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134379 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-13sw content controls, dropdown: add an initial properties dialogMiklos Vajna
- read the doc model: show if a content control is a placeholder or not - work with a shared pointer in the dialog, which avoids lifetime issues in case the content control we edit in one view gets deleted in an other view - write the doc model: set the placeholder mode of the content control based on the checkbox state and mark the doc as modified if any widget is touched when pressing OK - handle command state: allow this dialog only inside content controls Change-Id: Ie0b9075ccd3450dd403cc7f8bbf93fc04de3b234 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134278 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-13sw content controls, dropdown: add LOK APIMiklos Vajna
- expose the available list items in a new "items" key of the LOK_CALLBACK_CONTENT_CONTROL callback - add a new lok::Document::sendContentControlEvent() function to be able to select a list item from the current drop-down - add a new listbox to the gtktiledviewer toolbar to select a content control list item when the cursor is inside a dropdown - add tests for the array API of tools::JsonWriter Change-Id: I47f1333a7815d67952f7c20a9cba1b248886f6dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134256 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-12sw content controls: fixes for the ending dummy charMiklos Vajna
- make sure the DOC/RTF export doesn't write the dummy char as-is - let "enter" only insert a linebreak while inside a content control, to ensure that the starting and ending dummy char stays inside the same text node - let deletion of the dummy character at the end behave the same as the start dummy character: if trying to delete that single character, then just move the cursor, don't delete it - reject document insertion in the middle of a content control, similar to input fields Change-Id: I9b54ef50261e6b17f38eadadacfe1e1111199e96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134239 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-05-12sw content controls, dropdown: add insert UIMiklos Vajna
- introduce a SwContentControlListItem::ToString() that tries to use the display text of the list item, otherwise falls back to its value and use it while building the dropdown widget and when inserting selected list item - handle the dropdown case in SwWrtShell::InsertContentControl() - expose this as a new .uno:InsertDropdownContentControl command - mention the new and all previous content control commands in the MS-compatible forms menu as well Change-Id: I075f77933c1466b5258357d5a661e173c34de34f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134215 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-06sw content controls, drop-down: select list item on clickMiklos Vajna
- remember the selected list item in SwDropDownContentControlButton::ListBoxHandler() - extend SwWrtShell::GotoContentControl() to update the document text, somewhat similar to how checkboxes are already handled - improve SwSelPaintRects::HighlightContentControl(): - re-create the vcl widget in case a different content control was selected - adjust position/size and re-show the dropdown button after selecting an item + doc text was updated Change-Id: Id3b89b6132697bfec7046caeb1f0c5fe93e99b37 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133915 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-05sw content controls, drop-down: show list items on clickMiklos Vajna
- add a generic SwContentControlButton, to be used for dropdowns, but meant to be useful for other types in the future (e.g. date picker) - add a contentcontroldropdown .ui file for the welded list items - add a SwDropDownContentControlButton, which contains the drop-down-specific logic - invoke content control button from HighlightContentControl(), so list items are shown on button click Change-Id: Ib3c6765020c5b3b1dd343a40a2b1862c73feaac8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133874 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-05tdf#148299 Don't unmotivatedly mess with spaces in file namesStephan Bergmann
This conversion of double to single spaces had been done ever since 84a3db80b4fd66c6854b3135b5f69b61fd828e62 "initial import", but it is unclear to me why. The same conversion functionality is also used at two places in sw/source/ui/dialog/uiregionsw.cxx. Not sure if it has any motivation there, so lets keep that intact for now. Change-Id: I0558f015c53f69a9a405891b9dad21a98de3533c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133841 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-03sw content controls, drop-down: add doc model & UNO APIMiklos Vajna
Add a new property, which is a list of display-text / value pairs. If the list is non-empty, that implies that the type is a dropdown. This should be enough for the UI to be able to provide a list of choices & update dropdown state on click. Note that in contrast to dropdown field-marks, here each entry has a user-readable string and a machine-readable value. Fieldmarks only had a single value. Change-Id: I22b9f554e2e1a9e84cc7eb7e17772ea1a5775316 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133742 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-05-03add o3tl::equalsAsciiNoel Grandin
Change-Id: I042b8dcadbf7581de325c161763fe35aecde5ca2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133694 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-02sw content controls, checkbox: add insert UIMiklos Vajna
- extend SwWrtShell::InsertContentControl() to be able to create multiple content control types - a new checkbox content control's content is always a non-checked checkbox - expose this as a new .uno:InsertCheckboxContentControl uno command - add this new command to the bottom of the form menu -- now that we have two types of content controls, have that in a sub-menu Change-Id: I058659600b3face69b89262feb0979fff32521c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133685 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-04-30Fix typoAndrea Gelmini
Change-Id: If93c80f5c4c9d68aeeaf3c0b16d9ef234bcc6737 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133553 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2022-04-30tdf#148718 Partial revert of commit 6fbc3de17cd9274dc3a09e1eeb914c45f7dfe140Seth Chaiklin
Put the "Heading" and "Heading 1.x" labels back Change-Id: I953622554c63c828f6c8353c8f3a0f5aafc61144 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133488 Tested-by: Jenkins Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
2022-04-29use more string_view in INetURLObjectNoel Grandin
Change-Id: I4462f7cf4740fa4d1b129d76a0775f4250f41bbd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133555 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-28tdf#100680 sw DOCX compatibility: fix wrap of as_char flysAttila Bakos (NISZ)
New DOCX compatibility flag "WordLikeWrapForAsCharFlys" has been introduced which true in case of importing DOCX documents. It modifies the wrapping of long words with as_char anchored flys anchored into the same line, resulting e.g. correct import of poor man's header lines drawn by using underline characters under an image. Note: this example was imported as a broken header line: half of it was there after the left aligned image in the same line, and after the line break, only the other half under the image. Change-Id: I9474900ef778bcf5ddc9d95f39d536d67015f3b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132571 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-04-28tdf#144788 Split up footnotes and endnotes in NavigatorDhiraj Holden
This patch splits the footnotes and endnotes section in Navigator. Before, there was one section for both footnotes and endnotes and now there are two sections, one for footnotes and one for endnotes. Change-Id: Ic0f3af92efa1c0487ee3c407a819bf34138ef4ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132796 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2022-04-27tdf#148718 Heading -> Chapter in Index previewSeth Chaiklin
change "Heading 1" to "Chapter" change "Heading 1.1" to "Subchapter 1.1" change "Heading 1.2" to "Subchapter 1.2" Change-Id: I9c74cef8f20728e38ab9e81df6d74d13c819148e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133478 Tested-by: Jenkins Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
2022-04-25sw: make it easier to look up an uno command from a slot idMiklos Vajna
This way if I see a slot id 20456, then searching with git grep define.*20400 include/ */inc finds FN_FORMAT, and searching with git grep FN_FORMAT.*56 include/ */inc finds FN_FORMAT_FRAME_DLG. Change-Id: Ibda8b131f73c81221569618cda33e52b03448feb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133374 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-04-25sw content controls, checkbox: add document model & UNO APIMiklos Vajna
Add 4 new properties: if this is a checkbox, and is so: - if it's checked - unicode value for the checked state - unicode value for the unchecked state This should be enough for the UI to be able to update checkmark state on click. Change-Id: I723532fd2d3377cf09a1127c69c55f9539649088 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133363 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-04-22tdf#123381: sw: add table formula INTXisco Fauli
for DOCX interoperability. Change-Id: I4e63e213ef0a6f3a775bdf3bedfb7aca8853b479 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133091 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>