Bug 101325 - FORMATTING: Connector type is not saved
Summary: FORMATTING: Connector type is not saved
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
5.2.0.4 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Connectors ImpressDraw-Styles
  Show dependency treegraph
 
Reported: 2016-08-05 16:11 UTC by Nicholas Borisov
Modified: 2022-01-07 17:47 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
You can see the result of this at Figure - 1 and Untitled - 2 in '.rar' archive. (53.18 KB, application/x-rar)
2016-08-05 16:11 UTC, Nicholas Borisov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nicholas Borisov 2016-08-05 16:11:59 UTC
Created attachment 126616 [details]
You can see the result of this at Figure - 1 and Untitled - 2 in '.rar' archive.

Hello !

Summary.

I can't change and save connector type in Draw. 

Characteristics of my system:

1). Version: 5.2.0.4
Build ID: 066b007f5ebcc236395c7d282ba488bca6720265
CPU Threads: 2; OS Version: Windows 6.1; UI Render: default; 
Locale: ru-RU (ru_RU)
2). Windows 7.
3). CPU Intel Pentium Dual-Core T4400. 

How to reproduce the bug:

1. Create a new connector for two objects.
2. Then, create a new connector style - "Connector - 1" and switch connector type from "Standard connector" (blue line with right angle) to "Curved connector" for this connector in the style menu (F11). 
2. Save the file with the new style "Connector - 1" in ".odg" file. 
3. Reload the file.
4. LibreOffice will show that the connector type in style properties (F11) is still "Standard connector" but actually it's "Curved connector" just like before.
5. Create a new connector by using panel and apply style "Connector - 1" for this one. Connector type (!) won't change for this new connector. But, you can save and apply other style properties such as color, font, arrow styles, transparency and so on without problems.

I'm not an idiot.

It may be more easily for understanding why this is important for working if you try to imagine a necessity of changing connector type in one-click in a large document with many objects and connectors.   

Bug reproduced by me (LibreOffice 5.2.0.4 on Windows 7) and mr. Hagar Delest AOO 4.1.2 on Xubuntu 16.04. 

https://forum.openoffice.org/en/forum/viewtopic.php?f=11&t=84473&sid=c085ff59617f603da2ddf9361104ff90
Comment 1 Regina Henschel 2016-08-06 00:23:52 UTC
I see the behavior. But the type of a connector is no graphic-property but a direct attribute of the connector. Therefore it cannot be saved in a style.

So I'm not sure, whether this is a bug, that the style is not remembered, or a bug, that the connector type is included in the UI of the style.
Comment 2 Milan Oparnica 2017-08-30 22:35:44 UTC
This affects Impress too - Version of LO is 5.4.0.3 (Linux)

It seems that Connector is hard-coded to use the Arrow Style "Arrow"  automatically when first put on the drawing/slide.

Assuming this, I've managed to make a workaround:

1. Click on menu "Format > Object and Shape > Line"

2. Click on tab "Arrow Styles"

3. Just click on button "Save arrow styles", you will be asked for a location to save "standard.soe" XML configuration file. Default location is ~/.config/libreoffice/4/user/config. Save the file and remember the location.

4. Open the file with default plain text editor, or XML editor. There are a lot of <draw:marker ... /> nodes in it.

5. The trick is that Connector always uses the arrow defined by node with draw:name="Arrow". You can switch this name with any other node you want as default Connector Arrow Style.

For example, I wanted the "Symmetric Arrow" to be used as default, so I switched entries:

<draw:marker draw:name="Arrow" svg:viewBox="0 0 20 30" svg:d="M10 0l-10 30h20z"/>

and 

<draw:marker draw:name="Symmetric_20_Arrow" draw:display-name="Symmetric Arrow" svg:viewBox="0 0 1131 902" svg:d="M564 0l-564 902h1131z"/>

to:

<draw:marker draw:name="Symmetric_20_Arrow" draw:display-name="Symmetric Arrow" svg:viewBox="0 0 20 30" svg:d="M10 0l-10 30h20z"/>

and 

<draw:marker draw:name="Arrow" draw:display-name="Arrow" svg:viewBox="0 0 1131 902" svg:d="M564 0l-564 902h1131z"/>

I'm including the complete modified "standard.soe" file in attachment.

Now I have my Connectors draw out as desired.

This is not a replacement for full implementation of Style Management with Connectors, but it will make waiting for it to happen easier.
Comment 3 QA Administrators 2018-08-31 02:42:11 UTC Comment hidden (obsolete)
Comment 4 QA Administrators 2020-08-31 03:45:57 UTC Comment hidden (obsolete)
Comment 5 phv 2022-01-07 17:46:06 UTC
This issue is still present in LibreOfficeDev 7.4.0.0. The connector type (standard, line, straight, curved) should be saved as any other property, not just a direct style to be redefined at each session.

The issue Milan Oparnica is writing about is a separate bug (bug #65940: Arrow styles set to "none" are not saved). I edited the report title to make it more precise.