include/svx/constructhelper.hxx                                          |    
1 
 include/svx/svxids.hrc                                                   |   
33 
 officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu |  
235 ----
 officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu     |  
235 ++++
 sd/inc/app.hrc                                                           |   
30 
 sd/sdi/sdraw.sdi                                                         |  
538 ----------
 svx/sdi/svx.sdi                                                          |  
538 ++++++++++
 svx/source/svdraw/constructhelper.cxx                                    |   
96 +
 8 files changed, 901 insertions(+), 805 deletions(-)

New commits:
commit b4644a46eb5b1037d25e3cafc158772fc4bf6a7f
Author:     Irgaliev Amin <irgalie...@mail.ru>
AuthorDate: Sun Aug 10 19:38:53 2025 +0400
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Tue Aug 19 13:02:34 2025 +0200

    tdf#79356 - Move connectors from sd to svx
    
    This change will allow implementing the connector functionality in other 
modules (Calc, Writer).
    For this purpose, part of the infrastructure affecting the connectors has 
been moved from sd to svx.
    
    Change-Id: Ie0c9abb49d6c3f870a250302a35712320a01b026
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189202
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>
    Tested-by: Jenkins

diff --git a/include/svx/constructhelper.hxx b/include/svx/constructhelper.hxx
index 34f1a4f6df06..cd20710dfeb6 100644
--- a/include/svx/constructhelper.hxx
+++ b/include/svx/constructhelper.hxx
@@ -37,6 +37,7 @@ public:
     // set line starts and ends for newly created objects
     static void SetLineEnds(SfxItemSet& rAttr, const SdrObject& rObj, 
sal_uInt16 nSlotId,
                             tools::Long nWidth);
+    static void SetAttributes(SfxItemSet& rAttr, sal_uInt16 nSlotId);
 };
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc
index 8ea1617c628b..fad6714ff2c7 100644
--- a/include/svx/svxids.hrc
+++ b/include/svx/svxids.hrc
@@ -1082,8 +1082,39 @@ class XFillGradientItem;
 #define SID_ATTR_POSTIT_PARENTPOSTITID                  
TypedWhichId<SvxPostItIdItem>(SID_SVX_START + 1219)
 #define SID_ATTR_POSTIT_PARENTNAME                      
TypedWhichId<SfxStringItem>(SID_SVX_START + 1220)
 
+#define SID_TOOL_CONNECTOR                              ( SID_SVX_START + 1221 
)
+#define SID_CONNECTION_DLG                              ( SID_SVX_START + 1222 
)
+#define SID_DRAWTBX_CONNECTORS                          ( SID_SVX_START + 1223 
)
+#define SID_CONNECTOR_ARROW_START                       ( SID_SVX_START + 1224 
)
+#define SID_CONNECTOR_ARROW_END                         ( SID_SVX_START + 1225 
)
+#define SID_CONNECTOR_ARROWS                            ( SID_SVX_START + 1226 
)
+#define SID_CONNECTOR_CIRCLE_START                      ( SID_SVX_START + 1227 
)
+#define SID_CONNECTOR_CIRCLE_END                        ( SID_SVX_START + 1228 
)
+#define SID_CONNECTOR_CIRCLES                           ( SID_SVX_START + 1229 
)
+#define SID_CONNECTOR_LINE                              ( SID_SVX_START + 1230 
)
+#define SID_CONNECTOR_LINE_ARROW_START                  ( SID_SVX_START + 1231 
)
+#define SID_CONNECTOR_LINE_ARROW_END                    ( SID_SVX_START + 1232 
)
+#define SID_CONNECTOR_LINE_ARROWS                       ( SID_SVX_START + 1233 
)
+#define SID_CONNECTOR_LINE_CIRCLE_START                 ( SID_SVX_START + 1234 
)
+#define SID_CONNECTOR_LINE_CIRCLE_END                   ( SID_SVX_START + 1235 
)
+#define SID_CONNECTOR_LINE_CIRCLES                      ( SID_SVX_START + 1236 
)
+#define SID_CONNECTOR_CURVE                             ( SID_SVX_START + 1237 
)
+#define SID_CONNECTOR_CURVE_ARROW_START                 ( SID_SVX_START + 1238 
)
+#define SID_CONNECTOR_CURVE_ARROW_END                   ( SID_SVX_START + 1239 
)
+#define SID_CONNECTOR_CURVE_ARROWS                      ( SID_SVX_START + 1240 
)
+#define SID_CONNECTOR_CURVE_CIRCLE_START                ( SID_SVX_START + 1241 
)
+#define SID_CONNECTOR_CURVE_CIRCLE_END                  ( SID_SVX_START + 1242 
)
+#define SID_CONNECTOR_CURVE_CIRCLES                     ( SID_SVX_START + 1243 
)
+#define SID_CONNECTOR_LINES                             ( SID_SVX_START + 1244 
)
+#define SID_CONNECTOR_LINES_ARROW_START                 ( SID_SVX_START + 1245 
)
+#define SID_CONNECTOR_LINES_ARROW_END                   ( SID_SVX_START + 1246 
)
+#define SID_CONNECTOR_LINES_ARROWS                      ( SID_SVX_START + 1247 
)
+#define SID_CONNECTOR_LINES_CIRCLE_START                ( SID_SVX_START + 1248 
)
+#define SID_CONNECTOR_LINES_CIRCLE_END                  ( SID_SVX_START + 1249 
)
+#define SID_CONNECTOR_LINES_CIRCLES                     ( SID_SVX_START + 1250 
)
+
 // IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id
-#define SID_SVX_FIRSTFREE                               (SID_SVX_START + 1220 
+ 1)
+#define SID_SVX_FIRSTFREE                               (SID_SVX_START + 1250 
+ 1)
 
 // Overflow check for slot IDs
 #if SID_SVX_FIRSTFREE > SID_SVX_END
diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
index 7030f416182e..46d9353ea053 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
@@ -905,17 +905,6 @@
           <value>1</value>
         </prop>
       </node>
-      <node oor:name=".uno:ConnectorToolbox" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connectors</value>
-        </prop>
-        <prop oor:name="TooltipLabel" oor:type="xs:string">
-          <value xml:lang="en-US">Connectors (double click for 
multi-selection)</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
       <node oor:name=".uno:Forward" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Forward One</value>
@@ -1092,14 +1081,6 @@
           <value>1</value>
         </prop>
       </node>
-      <node oor:name=".uno:Connector" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connector</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
       <node oor:name=".uno:ActionMode" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Allow Interaction</value>
@@ -1335,54 +1316,6 @@
           <value>1</value>
         </prop>
       </node>
-      <node oor:name=".uno:ConnectorArrowStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connector Starts with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorArrowEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connector Ends with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorArrows" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connector with Arrows</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCircleStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connector Starts with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCircleEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connector Ends with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCircles" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Connector with Circles</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
       <node oor:name=".uno:TextToolbox" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Text</value>
@@ -1391,14 +1324,6 @@
           <value>1</value>
         </prop>
       </node>
-      <node oor:name=".uno:ConnectorLine" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Straight Connector</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
       <node oor:name=".uno:RectangleToolbox" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Rectangle</value>
@@ -1407,14 +1332,6 @@
           <value>1</value>
         </prop>
       </node>
-      <node oor:name=".uno:ConnectorLineArrowStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Straight Connector starts with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
       <node oor:name=".uno:EllipseToolbox" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Ellipse</value>
@@ -1431,158 +1348,6 @@
           <value>1</value>
         </prop>
       </node>
-      <node oor:name=".uno:ConnectorLineArrowEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Straight Connector ends with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLineArrows" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Straight Connector with Arrows</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLineCircleStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Straight Connector starts with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLineCircleEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Straight Connector ends with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLineCircles" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Straight Connector with Circles</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCurve" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Curved Connector</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCurveArrowStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Curved Connector Starts with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCurveArrowEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Curved Connector Ends with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCurveArrows" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Curved Connector with Arrows</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCurveCircleStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Curved Connector Starts with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCurveCircleEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Curved Connector Ends with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorCurveCircles" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Curved Connector with Circles</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLines" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Line Connector</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLinesArrowStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Line Connector Starts with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLinesArrowEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Line Connector Ends with Arrow</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLinesArrows" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Line Connector with Arrows</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLinesCircleStart" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Line Connector Starts with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLinesCircleEnd" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Line Connector Ends with Circle</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
-      <node oor:name=".uno:ConnectorLinesCircles" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">Line Connector with Circles</value>
-        </prop>
-        <prop oor:name="Properties" oor:type="xs:int">
-          <value>1</value>
-        </prop>
-      </node>
       <node oor:name=".uno:GraphicDraft" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Image Placeholders</value>
diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 9bfd80aec647..088a793565d8 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -2188,6 +2188,241 @@ bit 3 (0x8): #define 
UICOMMANDDESCRIPTION_PROPERTIES_TOGGLEBUTTON 8
           <value>1</value>
         </prop>
       </node>
+      <node oor:name=".uno:ConnectorToolbox" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connectors</value>
+        </prop>
+        <prop oor:name="TooltipLabel" oor:type="xs:string">
+          <value xml:lang="en-US">Connectors (double click for 
multi-selection)</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:Connector" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connector</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorArrowStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connector Starts with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorArrowEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connector Ends with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorArrows" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connector with Arrows</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCircleStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connector Starts with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCircleEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connector Ends with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCircles" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Connector with Circles</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLine" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Straight Connector</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLineArrowStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Straight Connector starts with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLineArrowEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Straight Connector ends with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLineArrows" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Straight Connector with Arrows</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLineCircleStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Straight Connector starts with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLineCircleEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Straight Connector ends with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLineCircles" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Straight Connector with Circles</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCurve" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Curved Connector</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCurveArrowStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Curved Connector Starts with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCurveArrowEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Curved Connector Ends with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCurveArrows" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Curved Connector with Arrows</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCurveCircleStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Curved Connector Starts with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCurveCircleEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Curved Connector Ends with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorCurveCircles" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Curved Connector with Circles</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLines" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Line Connector</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLinesArrowStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Line Connector Starts with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLinesArrowEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Line Connector Ends with Arrow</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLinesArrows" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Line Connector with Arrows</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLinesCircleStart" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Line Connector Starts with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLinesCircleEnd" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Line Connector Ends with Circle</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
+      <node oor:name=".uno:ConnectorLinesCircles" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Line Connector with Circles</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
       <node oor:name=".uno:ArrowsToolbox" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Lines and Arrows</value>
diff --git a/sd/inc/app.hrc b/sd/inc/app.hrc
index 1dbacbba5a16..d63a4d35c843 100644
--- a/sd/inc/app.hrc
+++ b/sd/inc/app.hrc
@@ -89,7 +89,6 @@
 #define SID_TEXT_COMBINE                    (SID_SD_START+25)
 #define SID_COMBINE                         (SID_SD_START+26)
 #define SID_NAME_GROUP                      (SID_SD_START+27)
-#define SID_DRAWTBX_CONNECTORS              (SID_SD_START+28)
     // FREE
 // In svxids.hrc: SID_BEZIER_ELIMINATE_POINTS   (SID_SD_START+30)
 #define SID_MOREFRONT                       (SID_SD_START+31)
@@ -124,7 +123,6 @@
 #define SID_MOVE_PAGE_FIRST                 (SID_SD_START+57)
 #define SID_MOVE_PAGE_LAST                  (SID_SD_START+58)
     // FREE
-#define SID_TOOL_CONNECTOR                  (SID_SD_START+61)
 #define SID_ANIMATION_OBJECTS               (SID_SD_START+62)
 #define SID_ANIMATION_EFFECTS               (SID_SD_START+63)
 #define SID_PRESENTATION_LAYOUT             (SID_SD_START+64)
@@ -176,33 +174,6 @@
 // In svxids.hrc:  SID_ATTR_SYMBOLSIZE          (SID_SD_START+116)
 #define SID_REVERSE_ORDER                   (SID_SD_START+117)
 #define SID_CLEAR_UNDO_STACK                (SID_SD_START+118)
-#define SID_CONNECTOR_ARROW_START           (SID_SD_START+119)
-#define SID_CONNECTOR_ARROW_END             (SID_SD_START+120)
-#define SID_CONNECTOR_ARROWS                (SID_SD_START+121)
-#define SID_CONNECTOR_CIRCLE_START          (SID_SD_START+122)
-#define SID_CONNECTOR_CIRCLE_END            (SID_SD_START+123)
-#define SID_CONNECTOR_CIRCLES               (SID_SD_START+124)
-#define SID_CONNECTOR_LINE                  (SID_SD_START+125)
-#define SID_CONNECTOR_LINE_ARROW_START      (SID_SD_START+126)
-#define SID_CONNECTOR_LINE_ARROW_END        (SID_SD_START+127)
-#define SID_CONNECTOR_LINE_ARROWS           (SID_SD_START+128)
-#define SID_CONNECTOR_LINE_CIRCLE_START     (SID_SD_START+129)
-#define SID_CONNECTOR_LINE_CIRCLE_END       (SID_SD_START+130)
-#define SID_CONNECTOR_LINE_CIRCLES          (SID_SD_START+131)
-#define SID_CONNECTOR_CURVE                 (SID_SD_START+132)
-#define SID_CONNECTOR_CURVE_ARROW_START     (SID_SD_START+133)
-#define SID_CONNECTOR_CURVE_ARROW_END       (SID_SD_START+134)
-#define SID_CONNECTOR_CURVE_ARROWS          (SID_SD_START+135)
-#define SID_CONNECTOR_CURVE_CIRCLE_START    (SID_SD_START+136)
-#define SID_CONNECTOR_CURVE_CIRCLE_END      (SID_SD_START+137)
-#define SID_CONNECTOR_CURVE_CIRCLES         (SID_SD_START+138)
-#define SID_CONNECTOR_LINES                 (SID_SD_START+139)
-#define SID_CONNECTOR_LINES_ARROW_START     (SID_SD_START+140)
-#define SID_CONNECTOR_LINES_ARROW_END       (SID_SD_START+141)
-#define SID_CONNECTOR_LINES_ARROWS          (SID_SD_START+142)
-#define SID_CONNECTOR_LINES_CIRCLE_START    (SID_SD_START+143)
-#define SID_CONNECTOR_LINES_CIRCLE_END      (SID_SD_START+144)
-#define SID_CONNECTOR_LINES_CIRCLES         (SID_SD_START+145)
 #define SID_BEHIND_OBJ                      (SID_SD_START+146)
     // FREE
 // Option pane slot IDs
@@ -360,7 +331,6 @@
     // FREE
 #define SID_PHOTOALBUM                      (SID_SD_START+336)
 #define SID_REMOTE_DLG                      (SID_SD_START+337)
-#define SID_CONNECTION_DLG                  (SID_SD_START+338)
 #define SID_PRESENTATION_DLG                (SID_SD_START+339)
 #define SID_HYPHENATION                     (SID_SD_START+340)
 #define SID_CONNECTION_NEW_ROUTING          (SID_SD_START+341)
diff --git a/sd/sdi/sdraw.sdi b/sd/sdi/sdraw.sdi
index 3c0e3fceb424..165a56f3d537 100644
--- a/sd/sdi/sdraw.sdi
+++ b/sd/sdi/sdraw.sdi
@@ -397,544 +397,6 @@ SfxVoidItem Connect SID_CONNECT
     GroupId = SfxGroupId::Modify;
 ]
 
-SfxBoolItem Connector SID_TOOL_CONNECTOR
-
-[
-    AutoUpdate = TRUE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-
-
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorArrowEnd SID_CONNECTOR_ARROW_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorArrows SID_CONNECTOR_ARROWS
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorArrowStart SID_CONNECTOR_ARROW_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxVoidItem ConnectorAttributes SID_CONNECTION_DLG
-()
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Format;
-]
-
-SfxBoolItem ConnectorCircleEnd SID_CONNECTOR_CIRCLE_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCircles SID_CONNECTOR_CIRCLES
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCircleStart SID_CONNECTOR_CIRCLE_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCurve SID_CONNECTOR_CURVE
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCurveArrowEnd SID_CONNECTOR_CURVE_ARROW_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCurveArrows SID_CONNECTOR_CURVE_ARROWS
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCurveArrowStart SID_CONNECTOR_CURVE_ARROW_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCurveCircleEnd SID_CONNECTOR_CURVE_CIRCLE_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCurveCircles SID_CONNECTOR_CURVE_CIRCLES
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorCurveCircleStart SID_CONNECTOR_CURVE_CIRCLE_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLine SID_CONNECTOR_LINE
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLineArrowEnd SID_CONNECTOR_LINE_ARROW_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLineArrows SID_CONNECTOR_LINE_ARROWS
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLineArrowStart SID_CONNECTOR_LINE_ARROW_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLineCircleEnd SID_CONNECTOR_LINE_CIRCLE_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLineCircles SID_CONNECTOR_LINE_CIRCLES
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLineCircleStart SID_CONNECTOR_LINE_CIRCLE_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLines SID_CONNECTOR_LINES
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLinesArrowEnd SID_CONNECTOR_LINES_ARROW_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLinesArrows SID_CONNECTOR_LINES_ARROWS
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLinesArrowStart SID_CONNECTOR_LINES_ARROW_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLinesCircleEnd SID_CONNECTOR_LINES_CIRCLE_END
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLinesCircles SID_CONNECTOR_LINES_CIRCLES
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxBoolItem ConnectorLinesCircleStart SID_CONNECTOR_LINES_CIRCLE_START
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerItem;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Connector;
-]
-
-SfxVoidItem ConnectorToolbox SID_DRAWTBX_CONNECTORS
-
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = FALSE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-
-
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    ToolBoxConfig = TRUE,
-    GroupId = SfxGroupId::Drawing;
-]
-
 SfxVoidItem convert_to_contour SID_CONVERT_TO_CONTOUR
 ()
 [
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index 294a99c73628..9dbd3591af39 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -101,6 +101,24 @@ SfxVoidItem LineToolbox SID_DRAWTBX_LINES
     GroupId = SfxGroupId::Drawing;
 ]
 
+SfxVoidItem ConnectorToolbox SID_DRAWTBX_CONNECTORS
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+
+
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Drawing;
+]
+
 SfxBoolItem Polygon SID_DRAW_POLYGON
 
 [
@@ -8925,6 +8943,23 @@ SfxVoidItem MeasureAttributes SID_MEASURE_DLG
     GroupId = SfxGroupId::Format;
 ]
 
+SfxVoidItem ConnectorAttributes SID_CONNECTION_DLG
+()
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Format;
+]
+
 
 SfxVoidItem TwainSelect SID_TWAIN_SELECT
 ()
@@ -12199,6 +12234,509 @@ SfxBoolItem ProtectSize 
SID_ATTR_TRANSFORM_PROTECT_SIZE
     GroupId = SfxGroupId::Format;
 ]
 
+SfxBoolItem Connector SID_TOOL_CONNECTOR
+
+[
+    AutoUpdate = TRUE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+
+
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorArrowEnd SID_CONNECTOR_ARROW_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorArrows SID_CONNECTOR_ARROWS
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorArrowStart SID_CONNECTOR_ARROW_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCircleEnd SID_CONNECTOR_CIRCLE_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCircles SID_CONNECTOR_CIRCLES
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCircleStart SID_CONNECTOR_CIRCLE_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCurve SID_CONNECTOR_CURVE
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCurveArrowEnd SID_CONNECTOR_CURVE_ARROW_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCurveArrows SID_CONNECTOR_CURVE_ARROWS
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCurveArrowStart SID_CONNECTOR_CURVE_ARROW_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCurveCircleEnd SID_CONNECTOR_CURVE_CIRCLE_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCurveCircles SID_CONNECTOR_CURVE_CIRCLES
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorCurveCircleStart SID_CONNECTOR_CURVE_CIRCLE_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLine SID_CONNECTOR_LINE
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLineArrowEnd SID_CONNECTOR_LINE_ARROW_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLineArrows SID_CONNECTOR_LINE_ARROWS
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLineArrowStart SID_CONNECTOR_LINE_ARROW_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLineCircleEnd SID_CONNECTOR_LINE_CIRCLE_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLineCircles SID_CONNECTOR_LINE_CIRCLES
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLineCircleStart SID_CONNECTOR_LINE_CIRCLE_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLines SID_CONNECTOR_LINES
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLinesArrowEnd SID_CONNECTOR_LINES_ARROW_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLinesArrows SID_CONNECTOR_LINES_ARROWS
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLinesArrowStart SID_CONNECTOR_LINES_ARROW_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLinesCircleEnd SID_CONNECTOR_LINES_CIRCLE_END
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLinesCircles SID_CONNECTOR_LINES_CIRCLES
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
+SfxBoolItem ConnectorLinesCircleStart SID_CONNECTOR_LINES_CIRCLE_START
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerItem;
+
+
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Connector;
+]
+
 
 
 SfxVoidItem FlipHorizontal SID_FLIP_HORIZONTAL
diff --git a/svx/source/svdraw/constructhelper.cxx 
b/svx/source/svdraw/constructhelper.cxx
index 24df4232243c..ca553a796078 100644
--- a/svx/source/svdraw/constructhelper.cxx
+++ b/svx/source/svdraw/constructhelper.cxx
@@ -24,6 +24,7 @@
 #include <svx/strings.hrc>
 #include <svx/svdmodel.hxx>
 #include <svx/svdobj.hxx>
+#include <svx/sxekitm.hxx>
 #include <svx/svxids.hrc>
 #include <svx/xdef.hxx>
 #include <svx/xlnedit.hxx>
@@ -67,7 +68,21 @@ void ConstructHelper::SetLineEnds(SfxItemSet& rAttr, const 
SdrObject& rObj, sal_
     if (!(nSlotId == SID_LINE_ARROW_START || nSlotId == SID_LINE_ARROW_END
           || nSlotId == SID_LINE_ARROWS || nSlotId == SID_LINE_ARROW_CIRCLE
           || nSlotId == SID_LINE_CIRCLE_ARROW || nSlotId == 
SID_LINE_ARROW_SQUARE
-          || nSlotId == SID_LINE_SQUARE_ARROW || nSlotId == 
SID_DRAW_MEASURELINE))
+          || nSlotId == SID_LINE_SQUARE_ARROW || nSlotId == 
SID_DRAW_MEASURELINE
+          || nSlotId == SID_CONNECTOR_LINE || nSlotId == 
SID_CONNECTOR_LINE_ARROW_START
+          || nSlotId == SID_CONNECTOR_LINE_ARROW_END || nSlotId == 
SID_CONNECTOR_LINE_ARROWS
+          || nSlotId == SID_CONNECTOR_LINE_CIRCLE_START || nSlotId == 
SID_CONNECTOR_LINE_CIRCLE_END
+          || nSlotId == SID_CONNECTOR_LINE_CIRCLES || nSlotId == 
SID_CONNECTOR_LINES
+          || nSlotId == SID_CONNECTOR_LINES_ARROW_START || nSlotId == 
SID_CONNECTOR_LINES_ARROW_END
+          || nSlotId == SID_CONNECTOR_LINES_ARROWS || nSlotId == 
SID_CONNECTOR_LINES_CIRCLE_START
+          || nSlotId == SID_CONNECTOR_LINES_CIRCLE_END || nSlotId == 
SID_CONNECTOR_LINES_CIRCLES
+          || nSlotId == SID_CONNECTOR_ARROW_START || nSlotId == 
SID_CONNECTOR_ARROW_END
+          || nSlotId == SID_CONNECTOR_ARROWS || nSlotId == 
SID_CONNECTOR_CIRCLE_START
+          || nSlotId == SID_CONNECTOR_CIRCLE_END || nSlotId == 
SID_CONNECTOR_CIRCLES
+          || nSlotId == SID_CONNECTOR_CURVE || nSlotId == 
SID_CONNECTOR_CURVE_ARROW_START
+          || nSlotId == SID_CONNECTOR_CURVE_ARROW_END || nSlotId == 
SID_CONNECTOR_CURVE_ARROWS
+          || nSlotId == SID_CONNECTOR_CURVE_CIRCLE_START
+          || nSlotId == SID_CONNECTOR_CURVE_CIRCLE_END || nSlotId == 
SID_CONNECTOR_CURVE_CIRCLES))
         return;
 
     // set attributes of line start and ends
@@ -119,6 +134,10 @@ void ConstructHelper::SetLineEnds(SfxItemSet& rAttr, const 
SdrObject& rObj, sal_
 
     switch (nSlotId)
     {
+        case SID_CONNECTOR_ARROWS:
+        case SID_CONNECTOR_LINE_ARROWS:
+        case SID_CONNECTOR_LINES_ARROWS:
+        case SID_CONNECTOR_CURVE_ARROWS:
         case SID_LINE_ARROWS:
         case SID_DRAW_MEASURELINE:
         {
@@ -130,6 +149,10 @@ void ConstructHelper::SetLineEnds(SfxItemSet& rAttr, const 
SdrObject& rObj, sal_
         }
         break;
 
+        case SID_CONNECTOR_ARROW_START:
+        case SID_CONNECTOR_LINE_ARROW_START:
+        case SID_CONNECTOR_LINES_ARROW_START:
+        case SID_CONNECTOR_CURVE_ARROW_START:
         case SID_LINE_ARROW_START:
         case SID_LINE_ARROW_CIRCLE:
         case SID_LINE_ARROW_SQUARE:
@@ -140,6 +163,10 @@ void ConstructHelper::SetLineEnds(SfxItemSet& rAttr, const 
SdrObject& rObj, sal_
         }
         break;
 
+        case SID_CONNECTOR_ARROW_END:
+        case SID_CONNECTOR_LINE_ARROW_END:
+        case SID_CONNECTOR_LINES_ARROW_END:
+        case SID_CONNECTOR_CURVE_ARROW_END:
         case SID_LINE_ARROW_END:
         case SID_LINE_CIRCLE_ARROW:
         case SID_LINE_SQUARE_ARROW:
@@ -149,6 +176,41 @@ void ConstructHelper::SetLineEnds(SfxItemSet& rAttr, const 
SdrObject& rObj, sal_
             rAttr.Put(XLineEndWidthItem(nWidth));
         }
         break;
+
+        case SID_CONNECTOR_CIRCLES:
+        case SID_CONNECTOR_LINE_CIRCLES:
+        case SID_CONNECTOR_LINES_CIRCLES:
+        case SID_CONNECTOR_CURVE_CIRCLES:
+        {
+            // connector with circle ends
+            rAttr.Put(XLineStartItem(SvxResId(RID_SVXSTR_CIRCLE), aCircle));
+            rAttr.Put(XLineStartWidthItem(nWidth));
+            rAttr.Put(XLineEndItem(SvxResId(RID_SVXSTR_CIRCLE), aCircle));
+            rAttr.Put(XLineEndWidthItem(nWidth));
+        }
+        break;
+
+        case SID_CONNECTOR_CIRCLE_START:
+        case SID_CONNECTOR_LINE_CIRCLE_START:
+        case SID_CONNECTOR_LINES_CIRCLE_START:
+        case SID_CONNECTOR_CURVE_CIRCLE_START:
+        {
+            // connector with circle start
+            rAttr.Put(XLineStartItem(SvxResId(RID_SVXSTR_CIRCLE), aCircle));
+            rAttr.Put(XLineStartWidthItem(nWidth));
+        }
+        break;
+
+        case SID_CONNECTOR_CIRCLE_END:
+        case SID_CONNECTOR_LINE_CIRCLE_END:
+        case SID_CONNECTOR_LINES_CIRCLE_END:
+        case SID_CONNECTOR_CURVE_CIRCLE_END:
+        {
+            // connector with circle ends
+            rAttr.Put(XLineEndItem(SvxResId(RID_SVXSTR_CIRCLE), aCircle));
+            rAttr.Put(XLineEndWidthItem(nWidth));
+        }
+        break;
     }
 
     // and again, for the still missing ends
@@ -186,6 +248,38 @@ void ConstructHelper::SetLineEnds(SfxItemSet& rAttr, const 
SdrObject& rObj, sal_
         }
         break;
     }
+    SetAttributes(rAttr, nSlotId);
+}
+
+/**
+ * set attribute for the object to be created
+ */
+void ConstructHelper::SetAttributes(SfxItemSet& rAttr, sal_uInt16 nSlotId)
+{
+    if (nSlotId == SID_CONNECTOR_LINE || nSlotId == 
SID_CONNECTOR_LINE_ARROW_START
+        || nSlotId == SID_CONNECTOR_LINE_ARROW_END || nSlotId == 
SID_CONNECTOR_LINE_ARROWS
+        || nSlotId == SID_CONNECTOR_LINE_CIRCLE_START || nSlotId == 
SID_CONNECTOR_LINE_CIRCLE_END
+        || nSlotId == SID_CONNECTOR_LINE_CIRCLES)
+    {
+        // direct connector
+        rAttr.Put(SdrEdgeKindItem(SdrEdgeKind::OneLine));
+    }
+    else if (nSlotId == SID_CONNECTOR_LINES || nSlotId == 
SID_CONNECTOR_LINES_ARROW_START
+             || nSlotId == SID_CONNECTOR_LINES_ARROW_END || nSlotId == 
SID_CONNECTOR_LINES_ARROWS
+             || nSlotId == SID_CONNECTOR_LINES_CIRCLE_START
+             || nSlotId == SID_CONNECTOR_LINES_CIRCLE_END || nSlotId == 
SID_CONNECTOR_LINES_CIRCLES)
+    {
+        // line connector
+        rAttr.Put(SdrEdgeKindItem(SdrEdgeKind::ThreeLines));
+    }
+    else if (nSlotId == SID_CONNECTOR_CURVE || nSlotId == 
SID_CONNECTOR_CURVE_ARROW_START
+             || nSlotId == SID_CONNECTOR_CURVE_ARROW_END || nSlotId == 
SID_CONNECTOR_CURVE_ARROWS
+             || nSlotId == SID_CONNECTOR_CURVE_CIRCLE_START
+             || nSlotId == SID_CONNECTOR_CURVE_CIRCLE_END || nSlotId == 
SID_CONNECTOR_CURVE_CIRCLES)
+    {
+        // curve connector
+        rAttr.Put(SdrEdgeKindItem(SdrEdgeKind::Bezier));
+    }
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to