Bug 158407 - Deactivate "Toggle Point Edit Mode" (.uno:ToggleObjectBezierMode ) for selected shapes that cannot use the "Edit Points" toolbar
Summary: Deactivate "Toggle Point Edit Mode" (.uno:ToggleObjectBezierMode ) for select...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.3.6.2 release
Hardware: All All
: medium minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: difficultyMedium, easyHack, skillCpp, topicUI
Depends on:
Blocks: Shapes
  Show dependency treegraph
 
Reported: 2023-11-27 23:16 UTC by sdc.blanco
Modified: 2023-12-11 15:25 UTC (History)
4 users (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 sdc.blanco 2023-11-27 23:16:18 UTC
1. Insert a shape in a document.
2. Select shape and right-click to get context menu for the shape.

Actual:  "Points" appears as a context menu item.
Proposed;  Remove "Points" as an option in this menu.

Reason: afaict the "Points" menuitem only appears when a shape is selected (so there is no need for this menu item).  IF I have not misunderstood something here, then it seems worthwhile to remove a useless item from an already large context menu.
Comment 1 Dieter 2023-12-10 13:42:07 UTC
I can only see "Toggle Pojnt Edit Mode", but no "Points" entry in context menu.
Comment 2 sdc.blanco 2023-12-10 15:17:28 UTC
(In reply to Dieter from comment #1)
> I can only see "Toggle Pojnt Edit Mode", but no "Points" entry in context
> menu.
Bug 144444, comment 2 changed the label.  But the point of the OP remains.  There is no need/reason for this option in the context menu.  

Also, please try one more test.  

1.  View > Toolbars > Drawing.  (i.e., enable Drawing toolbar, if not already enabled)

Actual:  

1. If shape in document is not selected, then "Toggle Point Edit Mode"  (same icon as in context menu, toward end of Drawing bar) is not active.
2. If shape is selected, then "Toggle Point Edit Mode"  is active 
3. If active "Toggle Point Edit Mode" is clicked, then nothing happens. (i.e., no toggle).

Expected:  If it is really a toggle, then should toggle the selection.

Additional Information:

Adding .uno:ToggleBezierEditMode (Toggle Point Edit Mode) to another toolbar does not provide the opportunity to toggle the Edit Points in a shape.

In sum:  Either the .uno:ToggleBezierEditMode is broken (and therefore does not toggle), or if not broken, then it is not clear that this command option has any practical use in the context menu for shape or in the Drawing toolbar.


The OP and the tests described here conducted with:

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: cb46ad4c4602fbb6aeab482e9370e31495e12cfe
CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: da-DK (da_DK); UI: en-US
Calc: CL threaded
Comment 3 Dieter 2023-12-10 17:15:39 UTC
(In reply to sdc.blanco from comment #2)
> In sum:  Either the .uno:ToggleBezierEditMode is broken (and therefore does
> not toggle), or if not broken, then it is not clear that this command option
> has any practical use in the context menu for shape or in the Drawing
> toolbar.

Thank you for your explanation. Help says: "To edit the shape of a selected drawing object, click the Points icon on the Drawing Bar, and then drag one of the points on the object." [1]

What I could find out is, that it seems to work only with some shapes in the line-menu like free form lines, curves, ... I think, this is the expected result, but in this case for all other shapes the command should be at least greyed out and docmentation should be updated.

=> NEW


[1] https://help.libreoffice.org/24.2/en-GB/text/shared/01/05270000.html?&DbPAR=WRITER&System=WIN

Same with
Version: 6.3.6.2 (x64)
Build-ID: 2196df99b074d8a661f4036fca8fa0cbfa33a497
CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; VCL: win; 
Gebietsschema: de-DE (de_DE); UI-Sprache: de-DE
Calc: CL
Comment 4 sdc.blanco 2023-12-10 22:11:39 UTC
Thanks Dieter.  I can now revise the OP to the following:

1. The "Toggle Point Edit Mode" (.uno:ToggleBezierEditMode) works for all Shapes (in the sense that the icon in the context menu and Drawing toolbar is highlighted or not, depending on the Toggle.

2. When "Toggle Point Edit Mode" icon is clicked with a selected "Line", "Curve" or "Polygon" (i.e., Bézier objects), then the toggle turns on (and off) the "Edit Points" toolbar.   (I believe this is the correct/expected behavior).

3. For other Shapes (e.g., Circle, Basic Shapes, Symbol Shapes, Block Arrows), then "Toggle Point Edit Mode" toggles, but has no effect (i.e., the Edit Points toolbar is not shown).  

The assumption is that the "Edit Points" toolbar is not relevant for these other shapes, and therefore the "Toggle Point Edit Mode" command should not be active for those cases.  (adding @Regina to check/confirm that this is true).

But one additional question in this connection. According to [1], it should be possible to use "Toggle Point Edit Mode" to round the corners of rectangles, but I did not see " a small frame at the upper left corner of the object" or a "hand symbol" when placing the cursor over the object, as described in the help page.  The additional question:  Is it possible in principle to round corners on all shapes, and therefore "Toggle Edit Point Mode" is relevant (i.e., should be active) for all shapes?  Or should some shapes have the "Toggle Point Edit Mode" be deactivated? 

If some deactivation is needed, then adding @Heiko to check whether this change is an Easy Hack.

[1] https://help.libreoffice.org/24.2/en-GB/text/shared/guide/round_corner.html?&DbPAR=WRITER&System=WIN
Comment 5 sdc.blanco 2023-12-10 23:48:57 UTC
In reply to sdc.blanco from comment #4)
> 1. The "Toggle Point Edit Mode" (.uno:ToggleBezierEditMode) 
Spelling clarification:  should be: .uno:ToggleObjectBezierMode
Comment 6 sdc.blanco 2023-12-11 00:13:57 UTC
(In reply to Dieter from comment #3)
> command should be at least greyed out and docmentation should be updated.
bug 130024 notes many other problems in help for "Edit Points" toolbar.
Comment 7 Regina Henschel 2023-12-11 01:26:13 UTC
The point edit mode is not only used to edit points (A), but it is used to enable handles (B) for some shape types as well. In the latter case the command does not open a toolbar, but changes the shape view between 'handle' and 'normal'.

The point edit mode is needed for the shape types:
legacy rectangles (B)
legacy arc, pie and segment (B)
lines (A)
Polygons, polylines, Bezier curves, freeform objects (A)

Text box shapes, related callout shapes, and presentation objects (title, ... in Impress) are always in mode (B). The toolbar icon has no effect. The icon is not drawn as 'on'. Not sure how to handle the icon.

A point edit mode does not exist for custom shapes, including Fontwork shapes. The toggle item should be removed from context menu. Users coming from PowerPoint might expect it, but it is not implemented in LibreOffice. Feature request is in bug 144041.

A point edit mode does note exist for measure lines, not for connectors and not for QR-code shapes. The toggle item should be removed from context menu.

A point edit mode does not exist for controls, images and media shapes. But they have already no item in context menu, so nothing to do for them.

Math-objects and comments in Calc are rendered as if mode (B) exists, but the handle is not moveable. => Bug


If a point edit mode is not possible for an object, then the icon "Toggle Point Edit Mode" in a toolbar should be drawn as inactive.

I have tested the above with current master.
Comment 8 sdc.blanco 2023-12-11 13:21:33 UTC
(In reply to Regina Henschel from comment #7)
Many thanks for the detailed comments. Very helpful.
Now I will try to summarise what is needed.

> If a point edit mode is not possible for an object, then the icon "Toggle
> Point Edit Mode" in a toolbar should be drawn as inactive.
This is the main point of this ticket, where both the context menu and the toolbar would show the icon/command as inactive.

iiuc, this command (.uno:ToggleObjectBezierMode) should be INACTIVE for:
1. Textboxes
2. Shapes (i.e., Basic Shapes, Symbol Shapes, Block Arrows, Stars and Banners, Callout Shapes, Flowchart)
3. Fontwork Text
4. QR codes
5. Connectors
6. Custom Shapes

The command should remain active for:

1. legacy rectangles
2. legacy arc, pie and segment
3. lines
4. polygons, polylines, Bezier curves, freeform objects

@Heiko – maybe this is an EasyHack?
 
> Math-objects and comments in Calc are rendered as if mode (B) exists, but
> the handle is not moveable. => Bug
Will you file a ticket for this?
Comment 9 Heiko Tietze 2023-12-11 14:29:21 UTC
(In reply to sdc.blanco from comment #8)
> > If a point edit mode is not possible for an object, then the icon "Toggle
> > Point Edit Mode" in a toolbar should be drawn as inactive.
> ...
> @Heiko – maybe this is an EasyHack?
svx.sdi	-> SfxVoidItem ToggleObjectBezierMode SID_BEZIER_EDIT
in sw/source/uibase/shells/drawsh.cxx ... case SID_BEZIER_EDIT:

(In reply to sdc.blanco from comment #2)
> There is no need/reason for this option in the context menu.  
I would remove the toggle from the context menu.
Comment 10 sdc.blanco 2023-12-11 14:45:01 UTC
(In reply to Heiko Tietze from comment #9)
Thanks Heiko.
> (In reply to sdc.blanco from comment #2)
> > There is no need/reason for this option in the context menu.  
> I would remove the toggle from the context menu.
Further experience and better understanding leads me to believe that it is appropriate to leave the option in the context menu, but deactivate it as noted in comment 8. 

Reason:  If Drawing bar is not open, then there would be no way to get to the Toggle icon (without opening the Drawing bar), because this option is not in the menus. The need to use the context menu is particularly relevant for lines, curves, and polygons, where the icon in the context menu would be used to open the "Edit Points" toolbar. As bug 154934 notes, there is no way to keep the "Edit Points" toolbar open, after leaving the edit points mode, so for lines, curves, polygons, it would be preferable/easier to use the context menu, rather than keep the Drawing bar open, and use it to toggle.
Comment 11 Heiko Tietze 2023-12-11 14:51:39 UTC
(In reply to sdc.blanco from comment #10)
> ...this option is not in the menus
Good point, the menubar has this command only for Calc, Draw, and Impress (and some/all notebookbar variants).

Toolbars with the command in sw/uiconfig/swriter/toolbar/ are
 bezierobjectbar.xml
 singlemode-draw.xml
 drawbar.xml
 drawingobjectbar.xml
Comment 12 Regina Henschel 2023-12-11 15:25:45 UTC
(In reply to sdc.blanco from comment #8)

> 2. Shapes (i.e., Basic Shapes, Symbol Shapes, Block Arrows, Stars and
> Banners, Callout Shapes, Flowchart)
> 3. Fontwork Text
> 6. Custom Shapes

The category 'Basic Shapes' contains the legacy arc and segment. All other shapes in your point 2 are 'Custom Shapes'
'Fontwork Text' shapes are 'Custom Shapes' from a technical point of view.
In general, 'Custom Shapes' are all shapes, for which the icon 'Toggle Extrusion' is enabled. 

[..] 
> > Math-objects and comments in Calc are rendered as if mode (B) exists, but
> > the handle is not moveable. => Bug
> Will you file a ticket for this?

bug 158640 and bug 158641.