Bug 159887 - Add option to freeze column widths in Writer tables
Summary: Add option to freeze column widths in Writer tables
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.6.4.1 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-25 18:46 UTC by William Friedman
Modified: 2024-03-12 14:34 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William Friedman 2024-02-25 18:46:36 UTC
Description:
When a column is added to a Writer table, all of the column widths change to accommodate the new column. This is problematic if certain column widths have been manually set and changing them is undesirable. There is currently no option to freeze the width of a column in a Writer table to prevent it changing if other columns are added or deleted.

My suggestion would be to add an option to Table Properties | Column under each column, "freeze column width."

What if a user froze all the columns and then tried to add a new column? I can think of two possibilities: 1) disable adding columns if all columns are frozen; 2) if all but one column is marked frozen, disable the ability to freeze the last column.

Steps to Reproduce:
1. Create a table with multiple columns.
2. Manually adjust the width of some of the columns.
3. Insert a new column anywhere in the table.
4. See that the widths of all the columns change.

Actual Results:
Widths of all columns change.

Expected Results:
Allow the option to freeze the width of columns.


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 7.6.4.1 (X86_64) / LibreOffice Community
Build ID: e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa1
CPU threads: 4; OS: Windows 6.1 Service Pack 1 Build 7601; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL threaded
Comment 1 Dieter 2024-03-10 15:39:22 UTC
William, so do you expect, that width of the whole table changes (this is bug 125736)? What do you expect, if table width has the width of the whole text area?
=> NEEDINFO

See also bug 128279
Comment 2 William Friedman 2024-03-12 14:34:53 UTC
There should be an option to freeze the width of the whole table as well (IMO, this should be the default), which is how tables currently act when they take up the width of the whole page. If a column is added or deleted when the total table width is frozen, then the unfrozen columns should be redistributed within the remaining width to accommodate the added or deleted column, either by shrinking (if a new column is added) or increasing (if an existing column is deleted). If the total width is variable, then adding/deleting columns can adjust the total table width as they currently do with tables that don't take up the whole page width.

I also agree with bug 128279 that a table should be settable to automatically equidistribute column widths. And I would add that in addition to the option to freeze a column's custom width, column widths should be settable to min width, expanding and contracting according to the longest string in the column.