Bug 60632 - Edit-Repeat does not work for bullets/numbering nor applying list styles
Summary: Edit-Repeat does not work for bullets/numbering nor applying list styles
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
3.5.0 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: preBibisect, regression
: 134061 (view as bug list)
Depends on:
Blocks: Repeat
  Show dependency treegraph
 
Reported: 2013-02-11 08:22 UTC by Phil
Modified: 2021-08-04 09:22 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phil 2013-02-11 08:22:44 UTC
Started with 20 lines of plain text. Clicked on first line and bulleted it (via toolbar 'Bullets On/Off' button). I need to bullet every alternate line.
Selected 3rd line of my document, pressed Ctrl+Shift+Y, but nothing happened to my selected line. I looked at the Edit menu and the 3rd option shows "Repeat: Number On/Off Ctrl+Shift+Y", so I selected it, but again it did not bullet my line.
I had to select the toolbar 'Bullets On/Off' button, and use this for every alternate line (much slower than using Ctrl+Shift+Y and mouse together).
Comment 1 Jorendc 2013-02-23 21:39:21 UTC
I can reproduce this behavior using Mac OSX 10.8.2 and LibreOffice Version 4.1.0.0.alpha0+ (Build ID: cad65120c6da901bf9fe33ab16ad22217efed0c)
TinderBox: MacOSX-Intel@3-OSX_10.6.0-gcc_4.0.1, Branch:master, Time: 2013-02-21_23:45:08

Thanks for reporting!

Kind regards,
Joren
Comment 2 Jorendc 2013-02-23 21:43:50 UTC
Also reproducible using Version 3.6.5.2 (Build ID: 5b93205). I think this problem is inherit from AOO. Therefore I change the version to 3.6.5.2 (=oldest version we can reproduce) right now.
Comment 3 A (Andy) 2015-02-12 21:43:35 UTC
Reproducible with LO 4.4.0.3, Win 8.1
Comment 4 Cor Nouws 2015-12-03 14:02:19 UTC
works fine in LibreOffice 3.3.0
Comment 5 Robinson Tryon (qubit) 2015-12-14 05:40:00 UTC Comment hidden (obsolete)
Comment 6 QA Administrators 2017-01-03 19:45:48 UTC Comment hidden (obsolete)
Comment 7 QA Administrators 2019-12-03 14:09:22 UTC Comment hidden (obsolete, spam)
Comment 8 Justin L 2021-03-15 07:11:50 UTC
Confirmed with Linux bibisect43all that the earliest I can test (3.5) displays the same problem as today's 7.2+. It looks like it should work since it knows that a numbering on/off was last done, but it doesn't affect the current paragraph.

One workaround for OP is to hold the Ctrl key down while selecting some bits of the paragraphs that he wants to number. Then the toolbar will bullet all of the selected paragraphs in one shot.
Comment 9 Buovjaga 2021-04-08 16:02:13 UTC
*** Bug 134061 has been marked as a duplicate of this bug. ***
Comment 10 Justin L 2021-07-19 08:06:43 UTC
bool SfxListUndoAction::CanRepeat(SfxRepeatTarget&r)  const
{
SAL_DEBUG("SfxListUndoAction::CanRepeat checks ["<< nCurUndoAction<<"] actions, and fails if any cannot undo");
    for(size_t i=0;i<nCurUndoAction;i++)
    {
        if(maUndoActions[i].pAction->CanRepeat(r))
            return false;
    }
    return true;
}

It passes for INSNUM, INSATR, and RESETATR, but not NUMRULE_CREATE, and thus cancels the repeat.

So I tested what happens if you try to repeat the SECOND manual numbering instead of the FIRST one, and that works fine, since it isn't creating a new numbering rule.

What about if you apply a pre-defined style? That doesn't work at all (but it does work for a paragraph style...). [In this case (SwUndoId::EMPTY == rSh.GetRepeatInfo(nullptr)), so probably a lot of basic plumbing is missing.]
Comment 11 Justin L 2021-07-19 12:37:32 UTC
Proposed fix at https://gerrit.libreoffice.org/c/core/+/119201 tdf#60632: sw: Allow SID_REPEAT even if NUMRULE_CREATE
Comment 12 Justin L 2021-08-04 09:22:53 UTC
(In reply to Justin L from comment #11)
> Proposed fix at https://gerrit.libreoffice.org/c/core/+/119201 tdf#60632:
> sw: Allow SID_REPEAT even if NUMRULE_CREATE

I abandoned this hack since it is not a clean, neat, or tidy solution.