[Libreoffice-bugs] [Bug 138289] New: FORMATTING (Styles): Frames do not change when the frame style applied on them changes

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Tue Nov 17 18:15:31 UTC 2020


https://bugs.documentfoundation.org/show_bug.cgi?id=138289

            Bug ID: 138289
           Summary: FORMATTING (Styles): Frames do not change when the
                    frame style applied on them changes
           Product: LibreOffice
           Version: 7.0.3.1 release
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: minor
          Priority: medium
         Component: Writer
          Assignee: libreoffice-bugs at lists.freedesktop.org
          Reporter: joaopauloag-freedesktop at yahoo.com.br

Created attachment 167374
  --> https://bugs.documentfoundation.org/attachment.cgi?id=167374&action=edit
Sample document showing the issue with frames' sizes and positions

LibreOffice Writer should have an option to make the already inserted frames
fully inherit the style applied to them (including **size and position**), so
when the style changes, the frame also changes.  As it is now, LibreOffice
Writer 7.0.3.1 only changes the **position** (and not the size) at most once
the frames which had their styles changed, but never changes the frame again no
matter how many times the user changes the frame style.

Consider the following use case:  A page style where page numbers, chapter
titles, author names, publication logos, office addresses and other things
reserved to be put on headers and footers are formatted with frames to put them
on a certain specific position on the page.  Or when pictures are inserted on
the pages to be always on the left on the page, on the right, or in the middle,
with text wrapping after, before or parallel to the pictures.

Well, if the frames containing those elements and pictures fully inherited the
styles, it would be possible to change the size and position of several
elements contained in frames at once (go to Sidebar, Styles, Frame Styles,
select the frame style and modify it, go to Type and change its size and
position) instead of having to modify frame by frame in the document (as even
reapplying the style on the frame don't make the frame inherit the size and
position defined on the frame style).  All pictures could be formatted as on
the right side of the page, with text wrapping on the left, and the user could
change it again;  all frames containing the page number could have its size
changed to be the minimal size needed to show the number instead of being of a
minimal horizontal size of 0.75cm (as in the document sample attached).

Why is it needed to change those frames by frame styles?  Because a document
can have many page styles (one for each article in the book, for example, which
would need a different header to have a different author name, but the page
number has to be formatted the same on every page style) and the difficulty to
do it by hand on every style quickly escalates as more page styles are added to
the text document.  Also, isn't that the purpose of styles, to be able to
change everything formatted with them by only modifying the styles?

After reading about common styles and automatic styles on the ODF 1.3
specification
(https://docs.oasis-open.org/office/OpenDocument/v1.3/csd03/part3-schema/OpenDocument-v1.3-csd03-part3-schema.html#__RefHeading__1415052_253892949)
and verifying how LibreOffice Writer saves them when applied to paragraphs,
characters and frames (it uses common styles for every non-directly formatted
paragraph or characters, but always use automatic styles for every frame, be
them directly formatted or not), I understand LibreOffice Writer don't need to
add anything new to the ODF standard and still respect the (new) user option to
make the frame inherit the frame styles even for its size and position:

Just do not save the position and size of the frame object in an automatic
style if the user chose to reset them (right clicking on the frame, choosing
Properties, Type, Reset), neither store the size on the "<draw:text-box>" tag,
so the frame size will inherit from the frame style.  In fact, Writer already
does that if the tag is manually edited on a text editor to be "<draw:text-box
fo:min-height="" fo:min-width="">", but I think it would be best to not even
write the empty values and leave only "<draw:text-box>" so to unclutter the
file, but Writer doesn't behave the same as if the size attribute tags are
defined as empty.



My LibreOffice runtime environment while testing the above is:

Version: 7.0.3.1 (x64)
Build ID: d7547858d014d4cf69878db179d326fc3483e082
CPU threads: 8; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: pt-BR (pt_BR); UI: en-US
Calc: threaded

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20201117/aba2ed9c/attachment.htm>


More information about the Libreoffice-bugs mailing list