diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu b/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
index 6b798c5bb08d..a89f8a59963c 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
@@ -119,6 +119,20 @@
true
+
+
+ false
+
+
+ Lines
+
+
+ false
+
+
+ true
+
+
0,2
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index c83b2f8d3340..0594195090c6 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -70,6 +70,7 @@ $(eval $(call gb_UIConfig_add_toolbarfiles,modules/scalc,\
sc/uiconfig/scalc/toolbar/graphicobjectbar \
sc/uiconfig/scalc/toolbar/insertbar \
sc/uiconfig/scalc/toolbar/insertcellsbar \
+ sc/uiconfig/scalc/toolbar/linesbar \
sc/uiconfig/scalc/toolbar/mediaobjectbar \
sc/uiconfig/scalc/toolbar/moreformcontrols \
sc/uiconfig/scalc/toolbar/previewbar \
diff --git a/sc/sdi/tabvwsh.sdi b/sc/sdi/tabvwsh.sdi
index 43a8e58dbf04..46859c5807f3 100644
--- a/sc/sdi/tabvwsh.sdi
+++ b/sc/sdi/tabvwsh.sdi
@@ -90,9 +90,15 @@ interface BaseSelection
SID_DRAW_LINE [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_RECT [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_ELLIPSE [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
+ SID_DRAWTBX_LINES [ StateMethod = GetDrawState; ]
+ SID_DRAW_POLYGON [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_POLYGON_NOFILL [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
+ SID_DRAW_BEZIER_FILL [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_BEZIER_NOFILL [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
+ SID_DRAW_FREELINE [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_FREELINE_NOFILL [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
+ SID_DRAW_XPOLYGON [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
+ SID_DRAW_XPOLYGON_NOFILL [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_ARC [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_PIE [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
SID_DRAW_CIRCLECUT [ ExecMethod = ExecDraw; StateMethod = GetDrawState; ]
diff --git a/sc/source/ui/view/tabvwsh2.cxx b/sc/source/ui/view/tabvwsh2.cxx
index 0abd8b3c2ffe..b81fc422d355 100644
--- a/sc/source/ui/view/tabvwsh2.cxx
+++ b/sc/source/ui/view/tabvwsh2.cxx
@@ -230,9 +230,13 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq)
rBindings.Invalidate( SID_BEZIER_EDIT );
break;
+ case SID_DRAW_XPOLYGON:
+ case SID_DRAW_XPOLYGON_NOFILL:
case SID_DRAW_POLYGON:
case SID_DRAW_POLYGON_NOFILL:
case SID_DRAW_BEZIER_NOFILL:
+ case SID_DRAW_BEZIER_FILL:
+ case SID_DRAW_FREELINE:
case SID_DRAW_FREELINE_NOFILL:
pTabView->SetDrawFuncPtr(new FuConstPolygon(this, pWin, pView, pDoc, rReq));
break;
@@ -359,8 +363,13 @@ void ScTabViewShell::GetDrawState(SfxItemSet &rSet)
case SID_DRAW_LINE:
case SID_DRAW_RECT:
case SID_DRAW_ELLIPSE:
+ case SID_DRAW_POLYGON:
case SID_DRAW_POLYGON_NOFILL:
+ case SID_DRAW_XPOLYGON:
+ case SID_DRAW_XPOLYGON_NOFILL:
+ case SID_DRAW_BEZIER_FILL:
case SID_DRAW_BEZIER_NOFILL:
+ case SID_DRAW_FREELINE:
case SID_DRAW_FREELINE_NOFILL:
case SID_DRAW_ARC:
case SID_DRAW_PIE:
diff --git a/sc/uiconfig/scalc/toolbar/drawbar.xml b/sc/uiconfig/scalc/toolbar/drawbar.xml
index f4bf9a711a4c..e724e75f2798 100644
--- a/sc/uiconfig/scalc/toolbar/drawbar.xml
+++ b/sc/uiconfig/scalc/toolbar/drawbar.xml
@@ -20,9 +20,7 @@
-
-
-
+
diff --git a/sc/uiconfig/scalc/toolbar/linesbar.xml b/sc/uiconfig/scalc/toolbar/linesbar.xml
new file mode 100644
index 000000000000..86fa223659d2
--- /dev/null
+++ b/sc/uiconfig/scalc/toolbar/linesbar.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+