Bug 156455 - Allow toggling repeating-header property of a row in row context menu
Summary: Allow toggling repeating-header property of a row in row context menu
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.6.0.0 alpha0+
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: UNO-Command-New Writer-Tables
  Show dependency treegraph
 
Reported: 2023-07-24 20:22 UTC by Eyal Rozenberg
Modified: 2023-08-25 03:06 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Bug for illustrating the ask (56.29 KB, application/vnd.oasis.opendocument.text)
2023-08-23 19:04 UTC, Eyal Rozenberg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eyal Rozenberg 2023-07-24 20:22:22 UTC
Suppose I've selected a table row. I would like to be able to switch on and off whether that row is a heading row which should be repeated - without using the main menu, but rather just by selecting that individual row, and through its context menu.

Now, ok, that's not always possible, because there can't be a vacant row between two headers. But that just means that sometimes the setting will be frozen/grayed out (or even missing altogether; I won't bikeshed this). The feature can still be implemented though; and not only will it offer a bit more convenience, but rather better granularity then toggling the entire set of header repeating rows on and off.
Comment 1 Heiko Tietze 2023-07-25 09:34:41 UTC
You can use the main menu Table > Header Rows Repeat Across Pages or the table properties dialog with Text Flow > Repeat Heading [  ]. Sufficient access IMO, adding it to the context menu is detrimental to usability. It bloats the menu and creates the expectation that any row can be a header.

If you desperately need this command in the context menu you may customize it locally.

Keeping the ticket open for a while to get more opinions.
Comment 2 Eyal Rozenberg 2023-07-25 21:11:27 UTC
(In reply to Heiko Tietze from comment #1)
> You can use the main menu Table > Header Rows Repeat Across Pages

No, I can't. That either clears the set of repeating rows, or sets it. It does not toggle the selected row's membership in that set.


> or the
> table properties dialog with Text Flow > Repeat Heading [  ]. 

So, that can be done, but

1. Users are likely not to be aware - momentarily or at all - of that possibility
2. That particular control, and even its tab, are not directly linked from the context menu.
3. It is much more inconvenient to have to work with a modal table-scope dialog to toggle something for a certain row, when instead you're already in that row's context menu.

And best of all - this will allow an indication of whether the row is a repeating table heading row or not!

> It bloats the menu 

Seriously? The context menu for a (single, full) selected row has:

* A "Clone formatting" item
* A "Next" item, which does nothing
* A "Previous" item, which does nothing
* A list submenu, almost meaningless for a row
* An "Edit Formula" item
* A submenu entry for deleting the table
* A submenu entry for "deleting columns", which is almost meaningless in this context
* 3 submenu entry regarding Column width, again almost meaningless
* 3 submenu entry regarding column insertion, again almost meaningless
* A style submenu

but this toggle is bloat? Come on...


> and creates the expectation that any row can be a header.

Ah, on the contrary! Because you will not be able to make the toggle if the row is not the first one that's not currently a repeating header row.

> If you desperately need this command in the context menu you may customize
> it locally.

With the logic I'm asking for - I can't.
Comment 3 Heiko Tietze 2023-07-26 08:08:43 UTC
The command .uno:HeadingRowsRepeat is not only in the main menu (enabled on the first row or if active; see bug 156454 for this) but also available in the table's context menu under Style.

I vote to remove it completely - those who heavily use header repetition settings should customize it into their UI at individual liking.
Comment 4 Eyal Rozenberg 2023-07-26 17:14:39 UTC
(In reply to Heiko Tietze from comment #3)
> The command .uno:HeadingRowsRepeat 

That's not the functionality I'm asking for, that's the messy functionality of what's on the Table menu.
Comment 5 Heiko Tietze 2023-08-21 10:19:55 UTC
(In reply to Eyal Rozenberg from comment #4)
> (In reply to Heiko Tietze from comment #3)
> > The command .uno:HeadingRowsRepeat 
> That's not the functionality I'm asking for...
Mind to elaborate?
Comment 6 Eyal Rozenberg 2023-08-22 18:17:22 UTC
(In reply to Heiko Tietze from comment #5)
> Mind to elaborate?

Let me clarify: I am _not_ asking for another place in which the existing "heading rows repeat" command can be used.

What I'm asking for is the ability to add one row to the existing repeating heading rows; and to remove one row from that set of repeating heading rows.

And - I'm asking that this be accessible as an item on the table row context menu.
Comment 7 QA Administrators 2023-08-23 03:20:19 UTC Comment hidden (obsolete)
Comment 8 Heiko Tietze 2023-08-23 07:50:26 UTC
(In reply to Eyal Rozenberg from comment #6)
> What I'm asking for is the ability to add one row to the existing repeating
> heading rows; and to remove one row from that set of repeating heading rows.

You want, for example, two header rows on p1 and one header row on p2 while both belong to the same table. Makes still no sense to me, perhaps a real example could help.
Comment 9 Eyal Rozenberg 2023-08-23 07:58:29 UTC
(In reply to Heiko Tietze from comment #8)
> You want, for example, two header rows on p1 and one header row on p2 while
> both belong to the same table.

No... I don't want anything like that... there can only be one set of repeating header rows per table, the set of header rows can't be different for different pages.
Comment 10 Heiko Tietze 2023-08-23 09:18:37 UTC
Miklos, can you make sense of what Eyal wants and is it feasible?
Comment 11 Miklos Vajna 2023-08-23 09:55:32 UTC
Eyal: if you attach a sample document then you can describe step by step what you want to do.

The unclear part for me is what to do when you would have 3 repeating headlines, you're in the second and you would toggle. Would that mean you not only disable the header flag for the 2nd row but also for the 3rd one?
Comment 12 Eyal Rozenberg 2023-08-23 19:04:35 UTC
Created attachment 189118 [details]
Bug for illustrating the ask

This document has a table breaking across the 1st and 2nd pages. It's also had the first two lines of the table selected and "Table | Header rows repeat across pages" enabled for them.
Comment 13 Eyal Rozenberg 2023-08-23 19:15:41 UTC
(In reply to Miklos Vajna from comment #11)

So, in the document I attached, suppose, our user persona Eve wants to also have the third row repeat across pages (i.e. to have rows 1-3 repeat, not just 1-2). Well, she starts by selecting the row. First, she checks the the context menu: Nothing relevant there. Second, she checks out the table menu, because maybe she remembers having used "Header rows repeat across pages". Well, that menu item is checked. On the one hand, that might make sense to her, because some repeated header rows are enabled; but on the other hand, the row she's selected is not part of those, and she cannot use the only UI widget for this functionality, to apply this feature to the current row. What is Even I do? She is somewhat exasperated

What she can do at that point is either uncheck the "Header rows repeat", select the top 3 rows, and re-check it - which works, but is a hassle and not intuitive enough; or she might find the corresponding setting in the Table Properties dialog - but that would be mostly a stroke of luck (and frankly I personally didn't notice that for years).

Hence the request to allow doing this via the context menu.


... and the same request for removing the last row(s) from the set of repeating header rows, via the context menu.


> The unclear part for me is what to do when you would have 3 repeating
> headlines, you're in the second and you would toggle.

That would not be possible, since the semantics are not obvious enough. I'd have this menu item grayed out when I'm on the second of three header rows. (Maybe even change the label to indicate why that is; or not.)
Comment 14 QA Administrators 2023-08-24 03:14:51 UTC Comment hidden (obsolete)
Comment 15 Miklos Vajna 2023-08-24 06:11:36 UTC
OK, so we would have a disabled state for this new command on header rows which are non-last. What about non-header rows? If I have two non-header rows, then the first non-header row would do the toggle. But what about the second. Would that (non-first, non-header rows) be also disabled or would that automatically enable the "repeating header" bit up to the current row?
Comment 16 Eyal Rozenberg 2023-08-24 07:20:44 UTC
(In reply to Miklos Vajna from comment #15)

If you've selected the first non-header row - the command is enabled.
If you've selected the second non-header row - the command is disabled.
If you've selected the first and second non-header row - the command is enabled.

i.e. - if toggling the header'ness of the selected rows creates a discontinuity - the command is disabled.
Comment 17 Miklos Vajna 2023-08-24 07:42:16 UTC
OK, with that spelled out, this (having such an UNO command) makes sense to me if somebody wants to do this. What we want is to allow toggling the "repeating header" bit in the last rows of the header rows or in the first rows of the non-header rows.

Where to expose this command is up for UX (context menu, menu, nowhere by default and require the user to use the customize dialog).
Comment 18 Heiko Tietze 2023-08-24 09:06:23 UTC
I don't think the rare use case justifies a context menu item. But Eyal thinks so and the doer may decide.
Comment 19 Eyal Rozenberg 2023-08-24 18:41:44 UTC
(In reply to Heiko Tietze from comment #18)
> I don't think the rare use case justifies a context menu item. But Eyal
> thinks so and the doer may decide.

I would say the rare case - or no case at all - is what we currently have on the Table menu. That's a confusing toggle which people now use because that's the only UI there is (... ignoring the table properties dialog, which I believe very few users know holds this setting as well).

I claim it is the intuitive thing, when you want to act on a row (or a set of rows), to enter its context menu. More intuitive than going to the Table menu.

On a semi-related note: If we had proper table styles (bug 152711), which included/linked to heading row styles, then the user would get an immediate visual indication of such toggling; and it would also be easier for the user to understand which rows they can toggle into or out of the set of heading rows.
Comment 20 QA Administrators 2023-08-25 03:06:02 UTC Comment hidden (obsolete)