[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - 28 commits - configure.ac cui/source desktop/qa desktop/source filter/Configuration_filter.mk filter/source g .git-hooks/pre-commit icon-themes/breeze_dark icon-themes/breeze_svg icon-themes/colibre_svg icon-themes/elementary_svg icon-themes/sifr icon-themes/sifr_dark icon-themes/sifr_svg include/LibreOfficeKit include/svtools include/svx include/vcl postprocess/CustomTarget_images.mk sc/source sd/qa sd/source solenv/bin svtools/source svx/sdi svx/source sw/inc sw/source vcl/headless vcl/inc vcl/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Dec 10 12:23:07 UTC 2018


 .git-hooks/pre-commit                                                              |   60 
 configure.ac                                                                       |    6 
 cui/source/tabpages/transfrm.cxx                                                   |   48 
 desktop/qa/desktop_lib/test_desktop_lib.cxx                                        |    4 
 desktop/source/lib/init.cxx                                                        |   61 
 filter/Configuration_filter.mk                                                     |    4 
 filter/source/config/fragments/filters/calc_svg_Export.xcu                         |   30 
 filter/source/config/fragments/filters/writer_svg_Export.xcu                       |   30 
 filter/source/svg/svgexport.cxx                                                    |  396 +-
 filter/source/svg/svgfilter.cxx                                                    |  106 
 filter/source/svg/svgfilter.hxx                                                    |   49 
 g                                                                                  |    8 
 icon-themes/breeze_dark/links.txt                                                  | 1724 ----------
 icon-themes/breeze_svg/links.txt                                                   | 1724 ----------
 icon-themes/colibre_svg/chart2/res/areas_52x60.svg                                 |    2 
 icon-themes/colibre_svg/chart2/res/net_52x60.svg                                   |    1 
 icon-themes/colibre_svg/chart2/res/netstack_52x60.svg                              |    1 
 icon-themes/colibre_svg/cmd/32/fillshadow.svg                                      |    2 
 icon-themes/colibre_svg/cmd/32/shadowcursor.svg                                    |    2 
 icon-themes/colibre_svg/cmd/32/shadowed.svg                                        |    2 
 icon-themes/colibre_svg/cmd/lc_break.svg                                           |    1 
 icon-themes/colibre_svg/cmd/lc_columnwidth.svg                                     |   15 
 icon-themes/colibre_svg/cmd/lc_combine.svg                                         |    1 
 icon-themes/colibre_svg/cmd/lc_connect.svg                                         |    1 
 icon-themes/colibre_svg/cmd/lc_copyobjects.svg                                     |    1 
 icon-themes/colibre_svg/cmd/lc_equalizeheight.svg                                  |    1 
 icon-themes/colibre_svg/cmd/lc_equalizewidth.svg                                   |    1 
 icon-themes/colibre_svg/cmd/lc_fillshadow.svg                                      |    2 
 icon-themes/colibre_svg/cmd/lc_intersect.svg                                       |    1 
 icon-themes/colibre_svg/cmd/lc_merge.svg                                           |    1 
 icon-themes/colibre_svg/cmd/lc_morphing.svg                                        |    1 
 icon-themes/colibre_svg/cmd/lc_renametable.svg                                     |   16 
 icon-themes/colibre_svg/cmd/lc_setminimalrowheight.svg                             |   15 
 icon-themes/colibre_svg/cmd/lc_shadowcursor.svg                                    |    2 
 icon-themes/colibre_svg/cmd/lc_shadowed.svg                                        |    2 
 icon-themes/colibre_svg/cmd/lc_substract.svg                                       |    1 
 icon-themes/colibre_svg/cmd/sc_break.svg                                           |    1 
 icon-themes/colibre_svg/cmd/sc_columnwidth.svg                                     |   18 
 icon-themes/colibre_svg/cmd/sc_combine.svg                                         |    9 
 icon-themes/colibre_svg/cmd/sc_connect.svg                                         |    1 
 icon-themes/colibre_svg/cmd/sc_copyobjects.svg                                     |    8 
 icon-themes/colibre_svg/cmd/sc_deleteallbreaks.svg                                 |   20 
 icon-themes/colibre_svg/cmd/sc_equalizeheight.svg                                  |   11 
 icon-themes/colibre_svg/cmd/sc_equalizewidth.svg                                   |    9 
 icon-themes/colibre_svg/cmd/sc_fillshadow.svg                                      |    2 
 icon-themes/colibre_svg/cmd/sc_formatcelldialog.svg                                |   23 
 icon-themes/colibre_svg/cmd/sc_hidecolumn.svg                                      |   21 
 icon-themes/colibre_svg/cmd/sc_hidenote.svg                                        |   17 
 icon-themes/colibre_svg/cmd/sc_hiderow.svg                                         |   22 
 icon-themes/colibre_svg/cmd/sc_insertcolumnbreak.svg                               |   22 
 icon-themes/colibre_svg/cmd/sc_intersect.svg                                       |   10 
 icon-themes/colibre_svg/cmd/sc_merge.svg                                           |    9 
 icon-themes/colibre_svg/cmd/sc_morphing.svg                                        |    9 
 icon-themes/colibre_svg/cmd/sc_pasteonlyformula.svg                                |   20 
 icon-themes/colibre_svg/cmd/sc_pasteonlytext.svg                                   |   21 
 icon-themes/colibre_svg/cmd/sc_pasteonlyvalue.svg                                  |   21 
 icon-themes/colibre_svg/cmd/sc_pastespecial.svg                                    |   19 
 icon-themes/colibre_svg/cmd/sc_pasteunformatted.svg                                |   20 
 icon-themes/colibre_svg/cmd/sc_renameobject.svg                                    |   92 
 icon-themes/colibre_svg/cmd/sc_renametable.svg                                     |   18 
 icon-themes/colibre_svg/cmd/sc_setminimalrowheight.svg                             |   18 
 icon-themes/colibre_svg/cmd/sc_shadowcursor.svg                                    |    2 
 icon-themes/colibre_svg/cmd/sc_shadowed.svg                                        |    2 
 icon-themes/colibre_svg/cmd/sc_showcolumn.svg                                      |   22 
 icon-themes/colibre_svg/cmd/sc_shownote.svg                                        |   15 
 icon-themes/colibre_svg/cmd/sc_showrow.svg                                         |   22 
 icon-themes/colibre_svg/cmd/sc_substract.svg                                       |    9 
 icon-themes/colibre_svg/formula/res/refinp1.svg                                    |   62 
 icon-themes/colibre_svg/formula/res/refinp2.svg                                    |   76 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder.svg                              |   44 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_All_18x18.svg                    |   61 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_Bottom_18x18.svg                 |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_Bottom_Double_18x18.svg          |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_Bottom_Thick_18x18.svg           |   12 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_Empty_18x18.svg                  |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_FourBorders_18x18.svg            |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_FourBorders_Thick_18x18.svg      |   12 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_LeftAndRight_18x18.svg           |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_LeftDiagonal_18x18.svg           |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_Left_18x18.svg                   |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_RightDiagonal_18x18.svg          |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_Right_18x18.svg                  |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_TopAndBottom_18x18.svg           |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_TopSingle_BottomDouble_18x18.svg |    2 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_TopThin_BottomThick_18x18.svg    |   17 
 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_Top_18x18.svg                    |    2 
 icon-themes/colibre_svg/svx/res/fr010.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/fr011.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/fr012.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/fr02.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/fr03.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/fr04.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/fr05.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/fr06.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/fr07.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/fr08.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/fr09.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr01.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr010.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr011.svg                                          |   19 
 icon-themes/colibre_svg/svx/res/pr012.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr013.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr014.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr015.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr016.svg                                          |   12 
 icon-themes/colibre_svg/svx/res/pr017.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr018.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr019.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr02.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr020.svg                                          |    2 
 icon-themes/colibre_svg/svx/res/pr021.svg                                          |   17 
 icon-themes/colibre_svg/svx/res/pr03.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr04.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr05.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr06.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr07.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr08.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/pr09.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/sh02.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/sh03.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/sh04.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/sh05.svg                                           |    2 
 icon-themes/colibre_svg/svx/res/shadow3d.svg                                       |    2 
 icon-themes/elementary_svg/links.txt                                               | 1384 --------
 icon-themes/sifr_dark/links.txt                                                    |  223 -
 icon-themes/sifr_svg/links.txt                                                     |  223 -
 include/LibreOfficeKit/LibreOfficeKit.h                                            |    3 
 include/LibreOfficeKit/LibreOfficeKit.hxx                                          |   10 
 include/LibreOfficeKit/LibreOfficeKitEnums.h                                       |    6 
 include/svtools/valueset.hxx                                                       |    8 
 include/svx/svxids.hrc                                                             |    1 
 include/vcl/button.hxx                                                             |   10 
 include/vcl/salnativewidgets.hxx                                                   |    4 
 postprocess/CustomTarget_images.mk                                                 |   32 
 sc/source/ui/view/tabvwsh2.cxx                                                     |    9 
 sd/qa/unit/tiledrendering/tiledrendering.cxx                                       |   36 
 sd/source/ui/view/drviewse.cxx                                                     |   14 
 solenv/bin/pack_images.py                                                          |   54 
 svtools/source/control/valueset.cxx                                                |  162 
 svx/sdi/svx.sdi                                                                    |    2 
 svx/source/sidebar/possize/PosSizePropertyPanel.cxx                                |   73 
 svx/source/svdraw/svdedtv1.cxx                                                     |   62 
 svx/source/svdraw/svdmrkv.cxx                                                      |   24 
 sw/inc/viewsh.hxx                                                                  |    3 
 sw/source/core/doc/DocumentTimerManager.cxx                                        |   10 
 sw/source/core/frmedt/feshview.cxx                                                 |    4 
 sw/source/core/view/viewsh.cxx                                                     |    3 
 sw/source/core/view/vnew.cxx                                                       |    5 
 sw/source/uibase/shells/frmsh.cxx                                                  |   26 
 sw/source/uibase/uiview/view2.cxx                                                  |    2 
 sw/source/uibase/uiview/viewdraw.cxx                                               |    8 
 vcl/headless/CustomWidgetDraw.cxx                                                  |    2 
 vcl/inc/WidgetThemeLibrary.hxx                                                     |    4 
 vcl/source/app/IconThemeInfo.cxx                                                   |   46 
 vcl/source/control/button.cxx                                                      |    6 
 vcl/source/control/combobox.cxx                                                    |   10 
 vcl/source/control/listbox.cxx                                                     |    9 
 vcl/source/window/builder.cxx                                                      |   13 
 158 files changed, 1974 insertions(+), 5776 deletions(-)

New commits:
commit b0789a2cd82f8bf1e16fb9212a608068d99a2344
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Thu Nov 29 16:21:28 2018 +0100
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Mon Dec 10 13:02:01 2018 +0100

    Implement SVG export of selected Writer image
    
    A Writer image does not behave similar to other
    shapes, so we need to generate a shape to get the
    export code working.
    
    Change-Id: Icfb25ceb40f73f1018d379863b836d8303e539f3

diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index 852411d0e380..49e52bf6af27 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -32,6 +32,8 @@
 #include <com/sun/star/text/textfield/Type.hpp>
 #include <com/sun/star/util/MeasureUnit.hpp>
 #include <com/sun/star/xml/sax/Writer.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/drawing/ShapeCollection.hpp>
 
 #include <comphelper/lok.hxx>
 #include <rtl/bootstrap.hxx>
@@ -52,6 +54,8 @@
 #include <xmloff/xmlnmspe.hxx>
 #include <xmloff/xmltoken.hxx>
 #include <xmloff/animationexport.hxx>
+#include <svx/svdograf.hxx>
+#include <svx/svdpage.hxx>
 
 #include <memory>
 
@@ -519,7 +523,7 @@ bool SVGFilter::implExport( const Sequence< PropertyValue >& rDescriptor )
         }
     }
 
-    if(mbWriterOrCalcFilter)
+    if(mbWriterFilter || mbCalcFilter)
        return implExportWriterOrCalc(xOStm);
 
     return implExportImpressOrDraw(xOStm);
@@ -663,6 +667,40 @@ bool SVGFilter::implExportWriterOrCalc( const Reference< XOutputStream >& rxOStm
     return bRet;
 }
 
+bool SVGFilter::implExportWriterTextGraphic( const Reference< view::XSelectionSupplier >& xSelectionSupplier )
+{
+    Any selection = xSelectionSupplier->getSelection();
+    uno::Reference<lang::XServiceInfo> xSelection;
+    selection >>= xSelection;
+    if (xSelection.is() && xSelection->supportsService("com.sun.star.text.TextGraphicObject"))
+    {
+        uno::Reference<beans::XPropertySet> xPropertySet(xSelection, uno::UNO_QUERY);
+        uno::Reference<graphic::XGraphic> xGraphic;
+        xPropertySet->getPropertyValue("Graphic") >>= xGraphic;
+
+        if (!xGraphic.is())
+            return false;
+
+        const Graphic aGraphic(xGraphic);
+
+        // Calculate size from Graphic
+        Point aPos( OutputDevice::LogicToLogic(aGraphic.GetPrefMapMode().GetOrigin(), aGraphic.GetPrefMapMode(), MapMode(MapUnit::Map100thMM)) );
+        Size  aSize( OutputDevice::LogicToLogic(aGraphic.GetPrefSize(), aGraphic.GetPrefMapMode(), MapMode(MapUnit::Map100thMM)) );
+
+        SdrGrafObj* pGraphicObj = new SdrGrafObj(aGraphic, tools::Rectangle( aPos, aSize ));
+        uno::Reference< drawing::XShape > xShape = GetXShapeForSdrObject(pGraphicObj);
+        uno::Reference< XPropertySet > xShapePropSet(xShape, uno::UNO_QUERY);
+        css::awt::Rectangle aBoundRect (aPos.X(), aPos.Y(), aSize.Width(), aSize.Height());
+        xShapePropSet->setPropertyValue("BoundRect", uno::Any(aBoundRect));
+        xShapePropSet->setPropertyValue("Graphic", uno::Any(xGraphic));
+
+        maShapeSelection = drawing::ShapeCollection::create(comphelper::getProcessComponentContext());
+        maShapeSelection->add(xShape);
+    }
+
+    return true;
+}
+
 
 Reference< XWriter > SVGFilter::implCreateExportDocumentHandler( const Reference< XOutputStream >& rxOStm )
 {
@@ -776,7 +814,7 @@ bool SVGFilter::implExportDocument()
         }
     }
 
-    if(mbWriterOrCalcFilter)
+    if(mbWriterFilter || mbCalcFilter)
         implExportDocumentHeaderWriterOrCalc(nDocX, nDocY, nDocWidth, nDocHeight);
     else
         implExportDocumentHeaderImpressOrDraw(nDocX, nDocY, nDocWidth, nDocHeight);
@@ -2050,6 +2088,22 @@ bool SVGFilter::implCreateObjectsFromShape( const Reference< XDrawPage > & rxPag
         {
             Graphic aGraphic( SdrExchangeView::GetObjGraphic( pObj->GetModel(), pObj ) );
 
+            // Writer graphic shapes are handled differently
+            if( mbWriterFilter && aGraphic.GetType() == GraphicType::NONE )
+            {
+                if (rxShape->getShapeType() == "com.sun.star.drawing.GraphicObjectShape")
+                {
+                    uno::Reference<beans::XPropertySet> xPropertySet(rxShape, uno::UNO_QUERY);
+                    uno::Reference<graphic::XGraphic> xGraphic;
+                    xPropertySet->getPropertyValue("Graphic") >>= xGraphic;
+
+                    if (!xGraphic.is())
+                        return false;
+
+                    aGraphic = Graphic(xGraphic);
+                }
+            }
+
             if( aGraphic.GetType() != GraphicType::NONE )
             {
                 if( aGraphic.GetType() == GraphicType::Bitmap )
diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx
index 40c8490a43cd..c6650d3bd798 100644
--- a/filter/source/svg/svgfilter.cxx
+++ b/filter/source/svg/svgfilter.cxx
@@ -78,7 +78,9 @@ SVGFilter::SVGFilter( const Reference< XComponentContext >& rxCtx ) :
     mbExportShapeSelection(false),
     maFilterData(),
     mxDefaultPage(),
-    mbWriterOrCalcFilter(false),
+    mbWriterFilter(false),
+    mbCalcFilter(false),
+    mbImpressFilter(false),
     mpDefaultSdrPage( nullptr ),
     mpSdrModel( nullptr ),
     mbPresentation( false ),
@@ -97,7 +99,9 @@ SVGFilter::~SVGFilter()
 
 sal_Bool SAL_CALL SVGFilter::filter( const Sequence< PropertyValue >& rDescriptor )
 {
-    mbWriterOrCalcFilter = false;
+    mbWriterFilter = false;
+    mbCalcFilter = false;
+    mbImpressFilter = false;
 
     if(mxDstDoc.is()) // Import works for Impress / draw only
         return filterImpressOrDraw(rDescriptor);
@@ -110,9 +114,19 @@ sal_Bool SAL_CALL SVGFilter::filter( const Sequence< PropertyValue >& rDescripto
             {
                 OUString sFilterName;
                 rDescriptor[nInd].Value >>= sFilterName;
-                if(sFilterName != "impress_svg_Export")
+                if(sFilterName == "impress_svg_Export")
                 {
-                    mbWriterOrCalcFilter = true;
+                    mbImpressFilter = true;
+                    return filterImpressOrDraw(rDescriptor);
+                }
+                else if(sFilterName == "writer_svg_Export")
+                {
+                    mbWriterFilter = true;
+                    return filterWriterOrCalc(rDescriptor);
+                }
+                else if(sFilterName == "calc_svg_Export")
+                {
+                    mbCalcFilter = true;
                     return filterWriterOrCalc(rDescriptor);
                 }
                 break;
@@ -327,7 +341,7 @@ sal_Bool SVGFilter::filterWriterOrCalc( const Sequence< PropertyValue >& rDescri
         }
     }
 
-    if(!bSelectionOnly) // For Writer onéy the selection-only mode is supported
+    if(!bSelectionOnly) // For Writer only the selection-only mode is supported
         return false;
 
     uno::Reference<frame::XDesktop2> xDesktop(frame::Desktop::create(mxContext));
@@ -342,10 +356,18 @@ sal_Bool SVGFilter::filterWriterOrCalc( const Sequence< PropertyValue >& rDescri
     if (!xSelection.is())
         return false;
 
-    xSelection->getSelection() >>= maShapeSelection;
+    bool bGotSelection = xSelection->getSelection() >>= maShapeSelection;
 
-    if (!maShapeSelection)
-        return false;
+    if (!bGotSelection)
+    {
+        if (mbWriterFilter)
+        {
+            // For Writer we might have a non-shape graphic
+            bGotSelection = implExportWriterTextGraphic(xSelection);
+        }
+        if (!bGotSelection)
+            return false;
+    }
 
     // Select only one draw page
     uno::Reference< drawing::XDrawPagesSupplier > xDrawPagesSupplier( mxSrcDoc, uno::UNO_QUERY );
diff --git a/filter/source/svg/svgfilter.hxx b/filter/source/svg/svgfilter.hxx
index bd7589cb5f20..5131dfe1c330 100644
--- a/filter/source/svg/svgfilter.hxx
+++ b/filter/source/svg/svgfilter.hxx
@@ -30,6 +30,7 @@
 #include <com/sun/star/lang/XComponent.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <com/sun/star/xml/sax/XWriter.hpp>
+#include <com/sun/star/view/XSelectionSupplier.hpp>
 
 #include <osl/diagnose.h>
 #include <sal/log.hxx>
@@ -60,6 +61,7 @@ using namespace ::com::sun::star::drawing;
 using namespace ::com::sun::star::io;
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::xml::sax;
 
 #define SVG_EXPORT_ALLPAGES ((sal_Int32)-1)
@@ -215,7 +217,9 @@ private:
     Reference< XDrawPage >              mxDefaultPage;
     std::vector< Reference< XDrawPage > > mSelectedPages;
 
-    bool                                mbWriterOrCalcFilter;
+    bool                                mbWriterFilter;
+    bool                                mbCalcFilter;
+    bool                                mbImpressFilter;
 
 
     /// Impress / draw only members
@@ -242,6 +246,8 @@ private:
     bool                            implExport( const Sequence< PropertyValue >& rDescriptor );
     bool                            implExportImpressOrDraw( const Reference< XOutputStream >& rxOStm );
     bool                            implExportWriterOrCalc( const Reference< XOutputStream >& rxOStm );
+    bool                            implExportWriterTextGraphic( const Reference< view::XSelectionSupplier >& xSelectionSupplier );
+
     static Reference< XWriter >     implCreateExportDocumentHandler( const Reference< XOutputStream >& rxOStm );
 
     void                            implGetPagePropSet( const Reference< XDrawPage > & rxPage );
commit fae96c0b8ccc17a47833e7eb8ef5bea7b11bebcf
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Mon Mar 12 16:56:30 2018 +0100
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Mon Dec 10 13:02:01 2018 +0100

    Revert "g: ignore submodule changes"
    
    This reverts commit 27925032cd5aec8805185679e01c687c40bbd617.
    Conflicts:
            g
    
    According to vmiklos, that commit was meant to help with the following scenario:
    Assume a dev uses submodules and uses plain `git pull && git submodule update`
    instead of ./g.  When they forget the "&& git submodule update" part and do
    `git commit -a`, changes to the submodules were excluded from the commit.
    
    However, when they do `git add -u && git commit` instead of `git commit -a`,
    changes to the submodules /are/ included in the commit, despite `git status` or
    `git diff` (both prior to `git add -u`) or `git diff --cached` (after `git add
    -u`) not indicating that there are any changes to the submodules.  I consider
    that problem more confusing and severe than the problem that the commit solved.
    
    Change-Id: I595eed3c1c04efd108be1ccd792d8d7bce72a345
    Reviewed-on: https://gerrit.libreoffice.org/51155
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/g b/g
index 49ece9ff6880..13bc73939e49 100755
--- a/g
+++ b/g
@@ -90,14 +90,6 @@ local hook
     for repo in ${SUBMODULES_ALL?} ; do
         refresh_submodule_hooks "$repo"
     done
-    # In our workflow, it's always gerrit that does the submodule updates, so
-    # better ignoring them to avoid accidentally including those changes in our
-    # commits.
-    # 'git submodule status' can be still used to see if a submodule has such
-    # changes.
-    for repo in ${SUBMODULES_CONFIGURED?} ; do
-        git config submodule."$repo".ignore all
-    done
     popd > /dev/null
 
 }
commit b98e2566331a92e8aed52cbca95b8df3041d2144
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Thu Nov 22 15:20:16 2018 +0300
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Mon Dec 10 13:02:00 2018 +0100

    Get rid of ValueSet's internal VirtualDevice, draw to RenderContext
    
    This improves support for Online HiDPI scenarios.
    
    Change-Id: I1d4d13d8877b761cabaefa028dcd50d8345d9893

diff --git a/include/svtools/valueset.hxx b/include/svtools/valueset.hxx
index 0f70c177ee1b..6d67061c79b9 100644
--- a/include/svtools/valueset.hxx
+++ b/include/svtools/valueset.hxx
@@ -194,8 +194,6 @@ typedef std::vector<ValueSetItem*> ValueItemList;
 class SVT_DLLPUBLIC ValueSet : public Control
 {
 private:
-
-    ScopedVclPtr<VirtualDevice> maVirDev;
     Timer           maTimer;
     ValueItemList   mItemList;
     std::unique_ptr<ValueSetItem> mpNoneItem;
@@ -245,11 +243,10 @@ private:
 
     SVT_DLLPRIVATE void         ImplInitScrollBar();
     SVT_DLLPRIVATE void         ImplDeleteItems();
-    SVT_DLLPRIVATE void         ImplFormatItem(vcl::RenderContext const & rRenderContext, ValueSetItem* pItem, tools::Rectangle aRect);
+    SVT_DLLPRIVATE void         ImplFormatItem(vcl::RenderContext& rRenderContext, ValueSetItem* pItem, tools::Rectangle aRect);
     SVT_DLLPRIVATE void         ImplDrawItemText(vcl::RenderContext& rRenderContext, const OUString& rStr);
     SVT_DLLPRIVATE void         ImplDrawSelect(vcl::RenderContext& rRenderContext, sal_uInt16 nItemId, const bool bFocus, const bool bDrawSel);
     SVT_DLLPRIVATE void         ImplDrawSelect(vcl::RenderContext& rRenderContext);
-    SVT_DLLPRIVATE void         ImplHideSelect(sal_uInt16 nItemId);
     SVT_DLLPRIVATE void         ImplHighlightItem(sal_uInt16 nItemId, bool bIsSelection = true);
     SVT_DLLPRIVATE void         ImplDraw(vcl::RenderContext& rRenderContext);
     using Window::ImplScroll;
@@ -270,6 +267,8 @@ private:
     ValueSet (const ValueSet &) = delete;
     ValueSet & operator= (const ValueSet &) = delete;
 
+    SVT_DLLPRIVATE void Format(vcl::RenderContext& rRenderContext);
+
 protected:
     void StartDrag( const CommandEvent& rCEvt, vcl::Region& rRegion );
 
@@ -375,7 +374,6 @@ public:
 
     void            SetExtraSpacing( sal_uInt16 nNewSpacing );
 
-    void            Format(vcl::RenderContext const & rRenderContext);
     void            SetFormat();
 
     void            StartSelection();
diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index 0502bbe4017c..7efb94313d09 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -57,7 +57,6 @@ enum
 
 ValueSet::ValueSet( vcl::Window* pParent, WinBits nWinStyle ) :
     Control( pParent, nWinStyle ),
-    maVirDev( VclPtr<VirtualDevice>::Create(*this) ),
     maColor( COL_TRANSPARENT )
 {
     mpNoneItem.reset(nullptr);
@@ -91,9 +90,6 @@ ValueSet::ValueSet( vcl::Window* pParent, WinBits nWinStyle ) :
     mbEdgeBlending      = false;
     mbHasVisibleItems   = false;
 
-    // #106446#, #106601# force mirroring of virtual device
-    maVirDev->EnableRTL( GetParent()->IsRTLEnabled() );
-
     ImplInitSettings( true, true, true );
 }
 
@@ -201,7 +197,7 @@ void ValueSet::ImplInitScrollBar()
     }
 }
 
-void ValueSet::ImplFormatItem(vcl::RenderContext const & rRenderContext, ValueSetItem* pItem, tools::Rectangle aRect)
+void ValueSet::ImplFormatItem(vcl::RenderContext& rRenderContext, ValueSetItem* pItem, tools::Rectangle aRect)
 {
     WinBits nStyle = GetStyle();
     if (nStyle & WB_ITEMBORDER)
@@ -222,7 +218,7 @@ void ValueSet::ImplFormatItem(vcl::RenderContext const & rRenderContext, ValueSe
         }
         else
         {
-            DecorationView aView(maVirDev.get());
+            DecorationView aView(&rRenderContext);
             aRect = aView.DrawFrame(aRect, mnFrameStyle);
         }
     }
@@ -237,42 +233,45 @@ void ValueSet::ImplFormatItem(vcl::RenderContext const & rRenderContext, ValueSe
 
     if (pItem == mpNoneItem.get())
     {
-        maVirDev->SetFont(rRenderContext.GetFont());
-        maVirDev->SetTextColor((nStyle & WB_MENUSTYLEVALUESET) ? rStyleSettings.GetMenuTextColor() : rStyleSettings.GetWindowTextColor());
-        maVirDev->SetTextFillColor();
-        maVirDev->SetFillColor((nStyle & WB_MENUSTYLEVALUESET) ? rStyleSettings.GetMenuColor() : rStyleSettings.GetWindowColor());
-        maVirDev->DrawRect(aRect);
+        rRenderContext.SetTextColor((nStyle & WB_MENUSTYLEVALUESET)
+                                        ? rStyleSettings.GetMenuTextColor()
+                                        : rStyleSettings.GetWindowTextColor());
+        rRenderContext.SetTextFillColor();
+        rRenderContext.SetFillColor((nStyle & WB_MENUSTYLEVALUESET)
+                                        ? rStyleSettings.GetMenuColor()
+                                        : rStyleSettings.GetWindowColor());
+        rRenderContext.DrawRect(aRect);
         Point aTxtPos(aRect.Left() + 2, aRect.Top());
         long nTxtWidth = rRenderContext.GetTextWidth(pItem->maText);
         if ((aTxtPos.X() + nTxtWidth) > aRect.Right())
         {
-            maVirDev->SetClipRegion(vcl::Region(aRect));
-            maVirDev->DrawText(aTxtPos, pItem->maText);
-            maVirDev->SetClipRegion();
+            rRenderContext.SetClipRegion(vcl::Region(aRect));
+            rRenderContext.DrawText(aTxtPos, pItem->maText);
+            rRenderContext.SetClipRegion();
         }
         else
-            maVirDev->DrawText(aTxtPos, pItem->maText);
+            rRenderContext.DrawText(aTxtPos, pItem->maText);
     }
     else if (pItem->meType == VALUESETITEM_COLOR)
     {
-        maVirDev->SetFillColor(pItem->maColor);
-        maVirDev->DrawRect(aRect);
+        rRenderContext.SetFillColor(pItem->maColor);
+        rRenderContext.DrawRect(aRect);
     }
     else
     {
         if (IsColor())
-            maVirDev->SetFillColor(maColor);
+            rRenderContext.SetFillColor(maColor);
         else if (nStyle & WB_MENUSTYLEVALUESET)
-            maVirDev->SetFillColor(rStyleSettings.GetMenuColor());
+            rRenderContext.SetFillColor(rStyleSettings.GetMenuColor());
         else if (IsEnabled())
-            maVirDev->SetFillColor(rStyleSettings.GetWindowColor());
+            rRenderContext.SetFillColor(rStyleSettings.GetWindowColor());
         else
-            maVirDev->SetFillColor(rStyleSettings.GetFaceColor());
-        maVirDev->DrawRect(aRect);
+            rRenderContext.SetFillColor(rStyleSettings.GetFaceColor());
+        rRenderContext.DrawRect(aRect);
 
         if (pItem->meType == VALUESETITEM_USERDRAW)
         {
-            UserDrawEvent aUDEvt(this, maVirDev.get(), aRect, pItem->mnId);
+            UserDrawEvent aUDEvt(this, &rRenderContext, aRect, pItem->mnId);
             UserDraw(aUDEvt);
         }
         else
@@ -292,31 +291,30 @@ void ValueSet::ImplFormatItem(vcl::RenderContext const & rRenderContext, ValueSe
             if (aImageSize.Width()  > aRectSize.Width() ||
                 aImageSize.Height() > aRectSize.Height())
             {
-                maVirDev->SetClipRegion(vcl::Region(aRect));
-                maVirDev->DrawImage(aPos, pItem->maImage, nImageStyle);
-                maVirDev->SetClipRegion();
+                rRenderContext.SetClipRegion(vcl::Region(aRect));
+                rRenderContext.DrawImage(aPos, pItem->maImage, nImageStyle);
+                rRenderContext.SetClipRegion();
             }
             else
-                maVirDev->DrawImage(aPos, pItem->maImage, nImageStyle);
+                rRenderContext.DrawImage(aPos, pItem->maImage, nImageStyle);
 
             if (pItem->meType == VALUESETITEM_IMAGE_AND_TEXT)
             {
-                maVirDev->SetFont(rRenderContext.GetFont());
-                maVirDev->SetTextColor((nStyle & WB_MENUSTYLEVALUESET) ? rStyleSettings.GetMenuTextColor() : rStyleSettings.GetWindowTextColor());
-                maVirDev->SetTextFillColor();
+                rRenderContext.SetFont(rRenderContext.GetFont());
+                rRenderContext.SetTextColor((nStyle & WB_MENUSTYLEVALUESET) ? rStyleSettings.GetMenuTextColor() : rStyleSettings.GetWindowTextColor());
+                rRenderContext.SetTextFillColor();
 
-                long nTxtWidth = maVirDev->GetTextWidth(pItem->maText);
+                long nTxtWidth = rRenderContext.GetTextWidth(pItem->maText);
 
                 if (nTxtWidth > aRect.GetWidth())
-                    maVirDev->SetClipRegion(vcl::Region(aRect));
+                    rRenderContext.SetClipRegion(vcl::Region(aRect));
 
-                maVirDev->DrawText(Point(aRect.Left() +
-                                         (aRect.GetWidth() - nTxtWidth) / 2,
-                                         aRect.Bottom() - maVirDev->GetTextHeight()),
-                                   pItem->maText);
+                rRenderContext.DrawText(Point(aRect.Left() + (aRect.GetWidth() - nTxtWidth) / 2,
+                                              aRect.Bottom() - rRenderContext.GetTextHeight()),
+                                        pItem->maText);
 
                 if (nTxtWidth > aRect.GetWidth())
-                    maVirDev->SetClipRegion();
+                    rRenderContext.SetClipRegion();
             }
         }
     }
@@ -332,7 +330,7 @@ void ValueSet::ImplFormatItem(vcl::RenderContext const & rRenderContext, ValueSe
 
         if (!aBlendFrame.IsEmpty())
         {
-            maVirDev->DrawBitmapEx(aRect.TopLeft(), aBlendFrame);
+            rRenderContext.DrawBitmapEx(aRect.TopLeft(), aBlendFrame);
         }
     }
 }
@@ -342,7 +340,7 @@ Reference<XAccessible> ValueSet::CreateAccessible()
     return new ValueSetAcc( this );
 }
 
-void ValueSet::Format(vcl::RenderContext const & rRenderContext)
+void ValueSet::Format(vcl::RenderContext& rRenderContext)
 {
     Size aWinSize(GetOutputSizePixel());
     size_t nItemCount = mItemList.size();
@@ -487,11 +485,6 @@ void ValueSet::Format(vcl::RenderContext const & rRenderContext)
         mnItemHeight = nCalcHeight / mnVisLines;
     }
 
-    // Init VirDev
-    maVirDev->SetSettings(rRenderContext.GetSettings());
-    maVirDev->SetBackground(rRenderContext.GetBackground());
-    maVirDev->SetOutputSizePixel(aWinSize);
-
     // nothing is changed in case of too small items
     if ((mnItemWidth <= 0) ||
         (mnItemHeight <= ((nStyle & WB_ITEMBORDER) ? 4 : 2)) ||
@@ -570,7 +563,7 @@ void ValueSet::Format(vcl::RenderContext const & rRenderContext)
         }
 
         // calculate and draw items
-        maVirDev->SetLineColor();
+        rRenderContext.SetLineColor();
         long x = nStartX;
         long y = nStartY;
 
@@ -850,41 +843,11 @@ void ValueSet::ImplDrawSelect(vcl::RenderContext& rRenderContext, sal_uInt16 nIt
     ImplDrawItemText(rRenderContext, pItem->maText);
 }
 
-void ValueSet::ImplHideSelect( sal_uInt16 nItemId )
-{
-    tools::Rectangle aRect;
-
-    const size_t nItemPos = GetItemPos( nItemId );
-    if ( nItemPos != VALUESET_ITEM_NOTFOUND )
-    {
-        if ( !mItemList[nItemPos]->mbVisible )
-        {
-            return;
-        }
-        aRect = ImplGetItemRect(nItemPos);
-    }
-    else
-    {
-        if (mpNoneItem.get() == nullptr)
-        {
-            return;
-        }
-        aRect = maNoneItemRect;
-    }
-
-    HideFocus();
-    const Point aPos  = aRect.TopLeft();
-    const Size  aSize = aRect.GetSize();
-    DrawOutDev( aPos, aSize, aPos, aSize, *maVirDev.get() );
-}
-
 void ValueSet::ImplHighlightItem( sal_uInt16 nItemId, bool bIsSelection )
 {
     if ( mnHighItemId == nItemId )
         return;
 
-    // remember the old item to delete the previous selection
-    sal_uInt16 nOldItem = mnHighItemId;
     mnHighItemId = nItemId;
 
     // don't draw the selection if nothing is selected
@@ -892,40 +855,15 @@ void ValueSet::ImplHighlightItem( sal_uInt16 nItemId, bool bIsSelection )
         mbDrawSelection = false;
 
     // remove the old selection and draw the new one
-    ImplHideSelect( nOldItem );
     Invalidate();
     mbDrawSelection = true;
 }
 
 void ValueSet::ImplDraw(vcl::RenderContext& rRenderContext)
 {
-    if (mbFormat)
-        Format(rRenderContext);
-
+    Format(rRenderContext);
     HideFocus();
 
-    Point aDefPos;
-    Size aSize = maVirDev->GetOutputSizePixel();
-
-    if (mxScrollBar.get() && mxScrollBar->IsVisible())
-    {
-        Point aScrPos = mxScrollBar->GetPosPixel();
-        Size aScrSize = mxScrollBar->GetSizePixel();
-        Point aTempPos(0, aScrPos.Y());
-        Size aTempSize(aSize.Width(), aScrPos.Y());
-
-        rRenderContext.DrawOutDev(aDefPos, aTempSize, aDefPos, aTempSize, *maVirDev.get());
-        aTempSize.Width()   = aScrPos.X() - 1;
-        aTempSize.Height()  = aScrSize.Height();
-        rRenderContext.DrawOutDev(aTempPos, aTempSize, aTempPos, aTempSize, *maVirDev.get());
-        aTempPos.Y()        = aScrPos.Y() + aScrSize.Height();
-        aTempSize.Width()   = aSize.Width();
-        aTempSize.Height()  = aSize.Height() - aTempPos.Y();
-        rRenderContext.DrawOutDev(aTempPos, aTempSize, aTempPos, aTempSize, *maVirDev.get());
-    }
-    else
-        rRenderContext.DrawOutDev(aDefPos, aSize, aDefPos, aSize, *maVirDev.get());
-
     // draw parting line to the Namefield
     if (GetStyle() & WB_NAMEFIELD)
     {
@@ -1381,9 +1319,6 @@ void ValueSet::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&
         const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
         rRenderContext.SetLineColor();
         rRenderContext.SetFillColor(rStyleSettings.GetFaceColor());
-        long nOffY = maVirDev->GetOutputSizePixel().Height();
-        Size aWinSize(GetOutputSizePixel());
-        rRenderContext.DrawRect(tools::Rectangle(Point(0, nOffY ), Point( aWinSize.Width(), aWinSize.Height())));
     }
 
     ImplDraw(rRenderContext);
@@ -1404,9 +1339,7 @@ void ValueSet::GetFocus()
 void ValueSet::LoseFocus()
 {
     SAL_INFO("svtools", "value set losing focus");
-    if ( mbNoSelection && mnSelItemId )
-        ImplHideSelect( mnSelItemId );
-    else
+    if (!mbNoSelection || !mnSelItemId)
         HideFocus();
     Control::LoseFocus();
 
@@ -1818,7 +1751,6 @@ void ValueSet::SelectItem( sal_uInt16 nItemId )
         else
         {
             // remove old selection and draw the new one
-            ImplHideSelect( nOldItem );
             Invalidate();
         }
     }
@@ -1983,16 +1915,15 @@ void ValueSet::SetItemText(sal_uInt16 nItemId, const OUString& rText)
     if ( nPos == VALUESET_ITEM_NOTFOUND )
         return;
 
-
     ValueSetItem* pItem = mItemList[nPos];
+    if (pItem->maText == rText)
+        return;
 
     // Remember old and new name for accessibility event.
     Any aOldName;
     Any aNewName;
-    OUString sString (pItem->maText);
-    aOldName <<= sString;
-    sString = rText;
-    aNewName <<= sString;
+    aOldName <<= pItem->maText;
+    aNewName <<= rText;
 
     pItem->maText = rText;
 
@@ -2242,10 +2173,9 @@ Size ValueSet::GetLargestItemSize()
         Size aSize = pItem->maImage.GetSizePixel();
         if (pItem->meType == VALUESETITEM_IMAGE_AND_TEXT)
         {
-            aSize.Height() += 3 * NAME_LINE_HEIGHT +
-                maVirDev->GetTextHeight();
+            aSize.Height() += 3 * NAME_LINE_HEIGHT + GetTextHeight();
             aSize.Width() = std::max(aSize.Width(),
-                                     maVirDev->GetTextWidth(pItem->maText) + NAME_OFFSET);
+                                     GetTextWidth(pItem->maText) + NAME_OFFSET);
         }
 
         aLargestItem.Width() = std::max(aLargestItem.Width(), aSize.Width());
commit dce903b181e1618dd931c048ef3b73a2ecab1e76
Author:     Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Thu Nov 22 12:48:17 2018 +0000
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Mon Dec 10 13:02:00 2018 +0100

    Avoid busy-loop related to layout when dragging objects.
    
    Change-Id: I4fb437356bc154cfefc5958592ae5888e24d59c3

diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx
index e492465691f3..df0f28c702ac 100644
--- a/sw/inc/viewsh.hxx
+++ b/sw/inc/viewsh.hxx
@@ -478,6 +478,9 @@ public:
     bool HasDrawView() const;
     void MakeDrawView();
 
+    // Are we dragging draw shapes around.
+    bool HasDrawViewDrag() const;
+
     // DrawView may be used at UI.
           SdrView *GetDrawView();
     const SdrView *GetDrawView() const { return const_cast<SwViewShell*>(this)->GetDrawView(); }
diff --git a/sw/source/core/doc/DocumentTimerManager.cxx b/sw/source/core/doc/DocumentTimerManager.cxx
index 4afab01a64d3..c021276ed680 100644
--- a/sw/source/core/doc/DocumentTimerManager.cxx
+++ b/sw/source/core/doc/DocumentTimerManager.cxx
@@ -122,10 +122,14 @@ DocumentTimerManager::IdleJob DocumentTimerManager::GetNextIdleJob() const
                 return IdleJob::Grammar;
         }
 
-        for ( auto pLayout : m_rDoc.GetAllLayouts() )
+        // If we're dragging re-layout doesn't occur so avoid a busy loop.
+        if (!pShell->HasDrawViewDrag())
         {
-            if( pLayout->IsIdleFormat() )
-                return IdleJob::Layout;
+            for ( auto pLayout : m_rDoc.GetAllLayouts() )
+            {
+                if( pLayout->IsIdleFormat() )
+                    return IdleJob::Layout;
+            }
         }
 
         SwFieldUpdateFlags nFieldUpdFlag = m_rDoc.GetDocumentSettingManager().getFieldUpdateFlags(true);
diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx
index 295671c0a50a..e77e9c5709f4 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -718,7 +718,7 @@ long SwFEShell::BeginDrag( const Point* pPt, bool bIsShift)
 long SwFEShell::Drag( const Point *pPt, bool )
 {
     OSL_ENSURE( Imp()->HasDrawView(), "Drag without DrawView?" );
-    if ( Imp()->GetDrawView()->IsDragObj() )
+    if ( HasDrawViewDrag() )
     {
         ScrollTo( *pPt );
         Imp()->GetDrawView()->MovDragObj( *pPt );
@@ -772,7 +772,7 @@ void SwFEShell::EndDrag()
 void SwFEShell::BreakDrag()
 {
     OSL_ENSURE( Imp()->HasDrawView(), "BreakDrag without DrawView?" );
-    if ( Imp()->GetDrawView()->IsDragObj() )
+    if( HasDrawViewDrag() )
         Imp()->GetDrawView()->BrkDragObj();
     SetChainMarker();
 }
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index fa81d1736f2c..c4f7d2df30a3 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -679,8 +679,7 @@ bool SwViewShell::HasCharts() const
 
 void SwViewShell::LayoutIdle()
 {
-    if( !mpOpt->IsIdle() || !GetWin() ||
-        ( Imp()->HasDrawView() && Imp()->GetDrawView()->IsDragObj() ) )
+    if( !mpOpt->IsIdle() || !GetWin() || HasDrawViewDrag() )
         return;
 
     //No idle when printing is going on.
diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx
index 4c74acecdd09..f12841050667 100644
--- a/sw/source/core/view/vnew.cxx
+++ b/sw/source/core/view/vnew.cxx
@@ -371,6 +371,11 @@ void SwViewShell::MakeDrawView()
     Imp()->MakeDrawView( );
 }
 
+bool SwViewShell::HasDrawViewDrag() const
+{
+    return Imp()->HasDrawView() && Imp()->GetDrawView()->IsDragObj();
+}
+
 SdrView* SwViewShell::GetDrawView()
 {
     return Imp()->GetDrawView();
diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx
index 838eedb603ea..0ebe24988797 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -809,7 +809,7 @@ void SwView::Execute(SfxRequest &rReq)
         break;
         case FN_ESCAPE:
         {
-            if ( m_pWrtShell->HasDrawView() && m_pWrtShell->GetDrawView()->IsDragObj() )
+            if ( m_pWrtShell->HasDrawViewDrag() )
             {
                 m_pWrtShell->BreakDrag();
                 m_pWrtShell->EnterSelFrameMode();
commit ecab1077e0c33e681aa6c2c84918ae702ad6f0ac
Author:     Jan Holesovsky <kendy at collabora.com>
AuthorDate: Thu Nov 22 11:52:21 2018 +0100
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Mon Dec 10 13:01:59 2018 +0100

    git hooks: Tell what to do in another problematic submodules case.
    
    Change-Id: I6247df16c021c13c97471cae16d3a1c0f3ddc691

diff --git a/.git-hooks/pre-commit b/.git-hooks/pre-commit
index 8b9a4a5b4b95..07e537be63cc 100755
--- a/.git-hooks/pre-commit
+++ b/.git-hooks/pre-commit
@@ -245,6 +245,12 @@ To remove the change, you can do:
 
   git submodule update $_
 
+If it fails with 'error: Server does not allow request for unadvertised object',
+run the following:
+
+  git submodule sync
+  git submodule update $_
+
 EOM
             exit(1);
         }
commit f8f96acd4f375eb5b31cf231c3067e3d074cd370
Author:     Jan Holesovsky <kendy at collabora.com>
AuthorDate: Wed Nov 14 15:20:14 2018 +0100
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Mon Dec 10 13:01:59 2018 +0100

    git hooks: Check that you are not committing to submodules by accident.
    
    And also for a dangerous setting in the configuration that hides the
    changes from you.
    
    Change-Id: I99bad8024baf7048696d9602e857c253c20cb5c2
    Reviewed-on: https://gerrit.libreoffice.org/63389
    Tested-by: Jenkins
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/.git-hooks/pre-commit b/.git-hooks/pre-commit
index c0464e1c0778..8b9a4a5b4b95 100755
--- a/.git-hooks/pre-commit
+++ b/.git-hooks/pre-commit
@@ -200,6 +200,57 @@ sub check_style($)
     }
 }
 
+sub check_submodules($)
+{
+    my ($h) = @_;
+
+    my $toplevel = `git rev-parse --show-toplevel`;
+    chomp $toplevel;
+
+    # trick to get a list of submodules - directly read from the .gitmodules
+    open(SUBMODULES, "git config --file '$toplevel'/.gitmodules --get-regexp path | awk '{ print \$2 }' |" ) ||  die "Cannot run git config on the .gitmodules.";
+    while (<SUBMODULES>)
+    {
+        chomp;
+
+        my $ignore = `git config submodule.$_.ignore`;
+        chomp $ignore;
+        if ($ignore eq 'all')
+        {
+            print <<EOM;
+Error: Your git configuration has submodule.$_.ignore set to 'all'.
+
+This is dangerous and can lead to accidentally pushing unwanted changes to
+submodules.
+
+To fix it, please do:
+
+  git config --unset submodule.$_.ignore
+
+EOM
+            exit(1);
+        }
+
+        my $diff = `git diff --cached --name-only -z $h -- $_`;
+        chomp $diff;
+        if ($diff ne '')
+        {
+            print <<EOM;
+Error: You are trying to commit changes to submodule $_ from the main repo.
+
+Please do not do that, commit only to the submodule, the git hook on the
+server will make sure the appropriate change is mirrored in the main repo.
+
+To remove the change, you can do:
+
+  git submodule update $_
+
+EOM
+            exit(1);
+        }
+    }
+}
+
 # Do the work :-)
 
 # Initial commit: diff against an empty tree object
@@ -267,6 +318,9 @@ check_whitespaces( $against);
 # fix style in code
 check_style($against);
 
+# catch commits to the submodules
+check_submodules($against);
+
 # all OK
 exit( 0 );
 # vi:set shiftwidth=4 expandtab:
commit 87bbdccd71e53f7cb09dcc2ccb29264f59a68b67
Author:     Jan Holesovsky <kendy at collabora.com>
AuthorDate: Tue Nov 20 23:38:44 2018 +0100
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Mon Dec 10 13:01:58 2018 +0100

    colibre: Bring in the latest modifications from master.
    
    Change-Id: I081e1b7400f4fd8dcb9c3011e75d746692a043f7

diff --git a/icon-themes/colibre_svg/chart2/res/areas_52x60.svg b/icon-themes/colibre_svg/chart2/res/areas_52x60.svg
index e1c7fa50b602..e88e7efcae02 100644
--- a/icon-themes/colibre_svg/chart2/res/areas_52x60.svg
+++ b/icon-themes/colibre_svg/chart2/res/areas_52x60.svg
@@ -1 +1 @@
-<svg height="52" viewBox="0 0 60 52" width="60"><path d="m0 0h60v52h-60z" fill="#fff"/><path d="m7 22v3l20-6 25 12v-9l-24.875-12z" fill="#4d82b8"/><path d="m7 25 20-6 25 12v15h-45z" fill="#eac282"/><g fill="#808080"><path d="m3 45h52v1h-52z"/><path d="m6 3h1v46h-1z"/></g></svg>
\ No newline at end of file
+<svg height="52" viewBox="0 0 60 52" width="60" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h60v52h-60z" fill="#fff"/><path d="m7 22v3l20-6 25 12v-9l-24.875-12z" fill="#4d82b8"/><path d="m7 25 20-6 25 12v15h-45z" fill="#eac282"/><g fill="#808080"><path d="m3 45h52v1h-52z"/><path d="m6 3h1v46h-1z"/></g></svg>
diff --git a/icon-themes/colibre_svg/chart2/res/net_52x60.svg b/icon-themes/colibre_svg/chart2/res/net_52x60.svg
new file mode 120000
index 000000000000..d6ac8897dfe6
--- /dev/null
+++ b/icon-themes/colibre_svg/chart2/res/net_52x60.svg
@@ -0,0 +1 @@
+netlinepoint_52x60.svg
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/chart2/res/netstack_52x60.svg b/icon-themes/colibre_svg/chart2/res/netstack_52x60.svg
new file mode 120000
index 000000000000..1bc9f0ccd295
--- /dev/null
+++ b/icon-themes/colibre_svg/chart2/res/netstack_52x60.svg
@@ -0,0 +1 @@
+netlinepointstack_52x60.svg
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/32/fillshadow.svg b/icon-themes/colibre_svg/cmd/32/fillshadow.svg
index adb4fd24ff85..1ba38e433bab 100644
--- a/icon-themes/colibre_svg/cmd/32/fillshadow.svg
+++ b/icon-themes/colibre_svg/cmd/32/fillshadow.svg
@@ -1 +1 @@
-<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m27 8v15c0 .554-.446 1-1 1h-21v1c0 .554.446 1 1 1h22c .554 0 1-.446 1-1v-16c0-.554-.389829-1-1-1z" fill="#eac282"/><path d="m3.5 6.5v16h22v-16z" fill="#fff" stroke="#808080" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
+<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m27 8v15c0 .554-.446 1-1 1h-21v1c0 .554.446 1 1 1h22c .554 0 1-.446 1-1v-16c0-.554-.389829-1-1-1z" fill="#b8b8b8"/><path d="m3.5 6.5v16h22v-16z" fill="#fff" stroke="#808080" stroke-linecap="round" stroke-linejoin="round"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/32/shadowcursor.svg b/icon-themes/colibre_svg/cmd/32/shadowcursor.svg
index b12958bd53e8..cbfd353fdc53 100644
--- a/icon-themes/colibre_svg/cmd/32/shadowcursor.svg
+++ b/icon-themes/colibre_svg/cmd/32/shadowcursor.svg
@@ -1 +1 @@
-<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m7.560345 2.0056931-.1797729 24.4932559 4.4846619.869953 4.945313-5.373047 2.621094 5.609375-.01758-.04687c.239434.682954.803792 1.127994 1.421876 1.316406.618083.188412 1.299414.157312 1.925781-.04687.626367-.204187 1.208723-.589225 1.572265-1.169922.363543-.580696.470272-1.358071.183594-2.175781-.0047-.01257-.0099-.02495-.01563-.03711l-3.089844-6.96875h7.089844c.463474-.0011.67516-.578447.322266-.878906l-17.001947-14.478525z" fill="#eac282" fill-rule="evenodd"/><path d="m7.4989302 2.4988723 17.0022268 14.4789417h-7.855453l3.40023 7.670106c.979219 2.793093-3.42726 3.840501-4.161672 1.745684l-2.93765-6.28446-5.4476818 5.921852z" fill="#fff" fill-rule="evenodd" stroke="#808080" stroke-linejoin="round" stroke-width=".99786"/></svg>
\ No newline at end of file
+<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m7.560345 2.0056931-.1797729 24.4932559 4.4846619.869953 4.945313-5.373047 2.621094 5.609375-.01758-.04687c.239434.682954.803792 1.127994 1.421876 1.316406.618083.188412 1.299414.157312 1.925781-.04687.626367-.204187 1.208723-.589225 1.572265-1.169922.363543-.580696.470272-1.358071.183594-2.175781-.0047-.01257-.0099-.02495-.01563-.03711l-3.089844-6.96875h7.089844c.463474-.0011.67516-.578447.322266-.878906l-17.001947-14.478525z" fill="#b8b8b8" fill-rule="evenodd"/><path d="m7.4989302 2.4988723 17.0022268 14.4789417h-7.855453l3.40023 7.670106c.979219 2.793093-3.42726 3.840501-4.161672 1.745684l-2.93765-6.28446-5.4476818 5.921852z" fill="#fff" fill-rule="evenodd" stroke="#808080" stroke-linejoin="round" stroke-width=".99786"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/32/shadowed.svg b/icon-themes/colibre_svg/cmd/32/shadowed.svg
index 16cf017db346..b4b697214870 100644
--- a/icon-themes/colibre_svg/cmd/32/shadowed.svg
+++ b/icon-themes/colibre_svg/cmd/32/shadowed.svg
@@ -1 +1 @@
-<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m15.837272 5.9867034-10.837272 20.0132966 3 1.985622 2.500606.01434c.356219.002.652868-.09983.890352-.298617.248278-.20983.41528-.435913.501637-.678874l1.944641-4.959636h8.338909l-.176145 3.937165 3 2 3.013381-.01438-7.83727-21.9989186-2.955772-2.0338979zm2.154217 4.008787c.140332.5411376.278786 1.0442946.419117 1.5081276.140333.45279.276552.849973.406089 1.192326l2.525559 6.828556h-6.671127l2.52556-6.81137c.118743-.342353.248384-.745678.388716-1.209512.14033-.463833.27655-.96699.406086-1.5081276z" fill="#eac282"/><path d="m12.830582 3.9933554-7.8372716 21.9989186 2.5006051.01434c.3562195.002.6528688-.09983.8903522-.298617.2482782-.20983.4152798-.435913.5016375-.678874l1.9446408-4.959636h8.338909l1.934815 4.976822c.10795.276091.27495.508317.501637.69606.226688.176697.529916.266418.907724.264244l2.49306-.01434-7.83727-21.9989186zm2.154217 4.0087868c.140332.5411379.278786 1.0442954.419117 1.5081284.140333.45279.27655
 2.8499724.406089 1.1923254l2.525559 6.828556h-6.671127l2.52556-6.81137c.118743-.342353.248384-.7456774.388716-1.2095114.14033-.463833.27655-.9669905.406086-1.5081284z" fill="#696969"/></svg>
\ No newline at end of file
+<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m15.837272 5.9867034-10.837272 20.0132966 3 1.985622 2.500606.01434c.356219.002.652868-.09983.890352-.298617.248278-.20983.41528-.435913.501637-.678874l1.944641-4.959636h8.338909l-.176145 3.937165 3 2 3.013381-.01438-7.83727-21.9989186-2.955772-2.0338979zm2.154217 4.008787c.140332.5411376.278786 1.0442946.419117 1.5081276.140333.45279.276552.849973.406089 1.192326l2.525559 6.828556h-6.671127l2.52556-6.81137c.118743-.342353.248384-.745678.388716-1.209512.14033-.463833.27655-.96699.406086-1.5081276z" fill="#b8b8b8"/><path d="m12.830582 3.9933554-7.8372716 21.9989186 2.5006051.01434c.3562195.002.6528688-.09983.8903522-.298617.2482782-.20983.4152798-.435913.5016375-.678874l1.9446408-4.959636h8.338909l1.934815 4.976822c.10795.276091.27495.508317.501637.69606.226688.176697.529916.266418.907724.264244l2.49306-.01434-7.83727-21.9989186zm2.154217 4.0087868c.140332.5411379.278786 1.0442954.419117 1.5081284.140333.45279.27655
 2.8499724.406089 1.1923254l2.525559 6.828556h-6.671127l2.52556-6.81137c.118743-.342353.248384-.7456774.388716-1.2095114.14033-.463833.27655-.9669905.406086-1.5081284z" fill="#696969"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/lc_break.svg b/icon-themes/colibre_svg/cmd/lc_break.svg
new file mode 100644
index 000000000000..7d237a0d38bc
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_break.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="#4d82b8" stroke-linecap="round" stroke-linejoin="round"><path d="m18.50709 2.5000805-16.00709 4.4653947 8.737069 14.1404168.262772.394005h10.000159l-2.598752-4.202724-2.199708-4.990735-.218977-.437784.131387-.525341z" stroke-width="1.000184"/><path d="m9.5 14.5 5-5.9999996"/></g></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_columnwidth.svg b/icon-themes/colibre_svg/cmd/lc_columnwidth.svg
new file mode 100644
index 000000000000..9cdc8d8f8365
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_columnwidth.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 24 24" version="1.1">
+ <metadata id="metadata18">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs16"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview14" showgrid="false" inkscape:zoom="9.8333333" inkscape:cx="-7.4237288" inkscape:cy="12" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg12"/>
+ <path d="m9 6v15h6v-15z" fill="#fff" id="path2"/>
+ <path d="m8 2v1 3 15 1h1 6v-1-3-1-3-1-3-1-3-4h-6zm1 4h5v3h-5zm0 4h5v3h-5zm0 4h5v3h-5zm0 4h5v3h-5z" fill="#808080" id="path4"/>
+</svg>
diff --git a/icon-themes/colibre_svg/cmd/lc_combine.svg b/icon-themes/colibre_svg/cmd/lc_combine.svg
new file mode 100644
index 000000000000..6d115bd426e5
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_combine.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m10 4v4h4v9h7v-13zm4 13h-4v-9h-7v13h11z" fill="#fff"/><path d="m10 3c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h11c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h11v13h-11z" fill="#4d82b8"/><path d="m3 7c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h11c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h11v13h-11z" fill="#4d82b8"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_connect.svg b/icon-themes/colibre_svg/cmd/lc_connect.svg
new file mode 100644
index 000000000000..17482b62d743
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_connect.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m18.50709 2.5000808-16.00709 4.4653947 8.737069 14.1404165.262772.394005h10.000159l-2.598752-4.202724-2.199708-4.990735-.218977-.437784.131387-.525341z" fill="#fff" stroke="#808080" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.000184"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_copyobjects.svg b/icon-themes/colibre_svg/cmd/lc_copyobjects.svg
new file mode 100644
index 000000000000..c1c5db2e71b6
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_copyobjects.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m11 3c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h10v13h-10z" fill="#808080"/><path d="m11 4v13h10v-13z" fill="#fff"/><path d="m7 19h10v-9-1l-3-3h-7z" fill="#fff" fill-rule="evenodd"/><path d="m7 5c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h10v13h-10z" fill="#808080"/><path d="m3 7c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h10v13h-10z" fill="#808080"/><path d="m3 8v13h10v-13z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_equalizeheight.svg b/icon-themes/colibre_svg/cmd/lc_equalizeheight.svg
new file mode 100644
index 000000000000..f5c087db0bfe
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_equalizeheight.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(0 1 -1 0 25 -6)"><path d="m10 3c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h10v13h-10z" fill="#808080"/><path d="m10 4v13h10v-13z" fill="#fff"/></g><g transform="matrix(0 -1 1 0 -1 -22)"><path d="m-38 16c-.554 0-1 .446-1 1v2c0 .554.446 1 1 1h14c .554 0 1-.446 1-1v-2c0-.554-.446-1-1-1z" fill="#eac282"/><g fill="#808080"><path d="m-36 16h1v2h-1z"/><path d="m-33 16h1v2h-1z"/><path d="m-30 16h1v2h-1z"/><path d="m-27 16h1v2h-1z"/></g></g><g transform="matrix(0 1 -1 0 24 6)"><path d="m4 7c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h10v13h-10z" fill="#808080"/><path d="m4 8v13h10v-13z" fill="#fff"/></g><g transform="matrix(0 -1 1 0 -11 -16)"><path d="m-38 16c-.554 0-1 .446-1 1v2c0 .554.446 1 1 1h14c .554 0 1-.446 1-1v-2c0-.554-.446-1-1-1z" fill="#eac282"/><g fill="#808080"><path d="m-36 16h1v2h-1z"/><path d="m-33 16h1v2h-1z
 "/><path d="m-30 16h1v2h-1z"/><path d="m-27 16h1v2h-1z"/></g></g></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_equalizewidth.svg b/icon-themes/colibre_svg/cmd/lc_equalizewidth.svg
new file mode 100644
index 000000000000..4e2935da9bca
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_equalizewidth.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m10 3c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h10v13h-10z" fill="#808080"/><path d="m10 4v13h10v-13z" fill="#fff"/><path d="m8 10c-.554 0-1 .446-1 1v2c0 .554.446 1 1 1h14c .554 0 1-.446 1-1v-2c0-.554-.446-1-1-1z" fill="#eac282"/><path d="m10 10h1v2h-1z" fill="#808080"/><path d="m4 7c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1zm0 1h10v13h-10z" fill="#808080"/><path d="m13 10h1v2h-1z" fill="#808080"/><path d="m4 8v13h10v-13z" fill="#fff"/><path d="m2 16c-.554 0-1 .446-1 1v2c0 .554.446 1 1 1h14c .554 0 1-.446 1-1v-2c0-.554-.446-1-1-1z" fill="#eac282"/><g fill="#808080"><path d="m4 16h1v2h-1z"/><path d="m7 16h1v2h-1z"/><path d="m10 16h1v2h-1z"/><path d="m13 16h1v2h-1z"/><path d="m16 10h1v2h-1z"/><path d="m19 10h1v2h-1z"/></g></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_fillshadow.svg b/icon-themes/colibre_svg/cmd/lc_fillshadow.svg
index dae74f50cc33..ceb73a300ad3 100644
--- a/icon-themes/colibre_svg/cmd/lc_fillshadow.svg
+++ b/icon-themes/colibre_svg/cmd/lc_fillshadow.svg
@@ -1 +1 @@
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m20 6v10c0 .554-.446 1-1 1h-15v1c0 .554.446 1 1 1h16c.554 0 1-.446 1-1v-11c0-.554-.446-1-1-1z" fill="#eac282"/><path d="m2.5 4.5v11h16v-11z" fill="#fff" stroke="#808080" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m20 6v10c0 .554-.446 1-1 1h-15v1c0 .554.446 1 1 1h16c.554 0 1-.446 1-1v-11c0-.554-.446-1-1-1z" fill="#b8b8b8"/><path d="m2.5 4.5v11h16v-11z" fill="#fff" stroke="#808080" stroke-linecap="round" stroke-linejoin="round"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/lc_intersect.svg b/icon-themes/colibre_svg/cmd/lc_intersect.svg
new file mode 100644
index 000000000000..c1c64f8f43f9
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_intersect.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m10 3c-.554 0-1 .446-1 1v2h1v-2h1v-1zm2 0v1h3v-1zm4 0v1h3v-1zm4 0v1h1v1h1v-1c0-.554-.446-1-1-1zm1 3v2h1v-2zm-18 1c-.554 0-1 .446-1 1v1h1v-1h1v-1zm2 0v1h3v-1zm16 2v2h1v-2zm-19 1v2h1v-2zm19 2v2h1v-2zm-19 1v2h1v-2zm19 2v2h-1v1h1c .554 0 1-.446 1-1v-2zm-19 1v2h1v-2zm14 1v1h3v-1zm-14 2v2c0 .554.446 1 1 1h2v-1h-2v-2zm12 0v2h-2v1h2c .554 0 1-.446 1-1v-2zm-8 2v1h2v-1zm3 0v1h2v-1z" fill="#808080"/><path d="m9 7v1 9c0 .554.446 1 1 1h4 1v-1-9c0-.554-.446-1-1-1h-4zm1 1h4v9h-4z" fill="#4d82b8"/><path d="m10 8v9h4v-9z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_merge.svg b/icon-themes/colibre_svg/cmd/lc_merge.svg
new file mode 100644
index 000000000000..b32d1e69339a
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_merge.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m10 4v4h-7v13h11v-4h7v-13z" fill="#fff"/><path d="m10 3c-.554 0-1 .446-1 1v4h1v-4h11v13h-6-1v1h7c .554 0 1-.446 1-1v-13c0-.554-.446-1-1-1z" fill="#4d82b8"/><path d="m3 7c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h11c .554 0 1-.446 1-1v-4h-1v4h-11v-13h7v-1z" fill="#4d82b8"/><path d="m11 7v1h1v-1zm2 0v1h1v1h1v-1c0-.554-.446-1-1-1zm-4 2v2h1v-2zm5 1v1h1v-1zm-5 2v2h1v-2zm5 0v2h1v-2zm-5 3v2c0 .554.446 1 1 1h1v-1h-1v-2zm5 0v1h1v-1zm-2 2v1h1v-1z" fill="#808080"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_morphing.svg b/icon-themes/colibre_svg/cmd/lc_morphing.svg
new file mode 100644
index 000000000000..847f5d81bb13
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_morphing.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><circle cx="16.5" cy="7.5" fill="#eac282" r="5.5"/><circle cx="16.5" cy="7.5" fill="#fff" r="4.5"/><rect fill="#4d82b8" height="11" ry="4" width="12" x="6" y="7"/><rect fill="#fff" height="9" ry="3" width="10" x="7" y="8"/><path d="m3 11c-.554 0-1 .446-1 1v9c0 .554.446 1 1 1h10c .554 0 1-.446 1-1v-9c0-.554-.446-1-1-1zm0 1h10v9h-10z" fill="#808080"/><path d="m3 12v9h10v-9z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/lc_renametable.svg b/icon-themes/colibre_svg/cmd/lc_renametable.svg
new file mode 100644
index 000000000000..8cdb923a5278
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_renametable.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 24 24" version="1.1">
+ <metadata id="metadata16">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs14"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview12" showgrid="false" inkscape:zoom="27.812867" inkscape:cx="21.53156" inkscape:cy="5.9106427" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg10"/>
+ <path d="m 3,3 v 18 h 9.283203 C 12.633551,20.407943 13.273266,20 14,20 h 2 V 14 H 13.964844 C 12.893063,14 12,13.106939 12,12.035156 v -0.07031 C 12,10.893063 12.893063,10 13.964844,10 H 21 V 3 Z" id="path2" inkscape:connector-curvature="0" sodipodi:nodetypes="cccsccssssccc" fill="#ffffff"/>
+ <path d="m 2,2 v 1 3 15 c 0,0.554 0.446,1 1,1 h 9 c 0,-0.363969 0.107739,-0.703481 0.283203,-1 H 9 v -3 h 6 v 2 h 1 v -2 -1 -3 h -1 v 3 H 9 v -3 h 4.964844 C 13.243736,14 12.61127,13.590972 12.269531,13 H 9 V 10 H 13.964844 15 h 1 5 1 V 6 3 2 H 21 3 Z M 3,6 H 8 V 9 H 3 Z m 6,0 h 6 V 9 H 9 Z m 7,0 h 5 V 9 H 16 Z M 3,10 h 5 v 3 H 3 Z m 0,4 h 5 v 3 H 3 Z m 0,4 h 5 v 3 H 3 Z" id="path4" inkscape:connector-curvature="0" sodipodi:nodetypes="cccssccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" fill="#808080"/>
+ <path d="m13.964844 11c-.534081 0-.964844.430763-.964844.964844v.070312c0 .534081.430763.964844.964844.964844h3.035156v8h-3c-.554 0-1 .446-1 1s .446 1 1 1h8c .554 0 1-.446 1-1s-.446-1-1-1h-3v-8h3.035156c.534081 0 .964844-.430763.964844-.964844v-.070312c0-.534081-.430763-.964844-.964844-.964844z" fill="#4d82b8" id="path8"/>
+</svg>
diff --git a/icon-themes/colibre_svg/cmd/lc_setminimalrowheight.svg b/icon-themes/colibre_svg/cmd/lc_setminimalrowheight.svg
new file mode 100644
index 000000000000..319d4bbbb88c
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_setminimalrowheight.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 24 24" version="1.1">
+ <metadata id="metadata18">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs16"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview14" showgrid="false" inkscape:zoom="39.333333" inkscape:cx="15.193519" inkscape:cy="11.666892" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg12"/>
+ <path d="m 3,11 v 3 h 18 v -3 z" id="path2" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" fill="#ffffff"/>
+ <path d="m2 10v1 4h1 5 1 6 1 5 1v-4-1zm1 1h5v3h-5zm6 0h6v3h-6zm7 0h5v3h-5z" fill="#808080" id="path4"/>
+</svg>
diff --git a/icon-themes/colibre_svg/cmd/lc_shadowcursor.svg b/icon-themes/colibre_svg/cmd/lc_shadowcursor.svg
index 2b48f58118e4..031b9e6c032a 100644
--- a/icon-themes/colibre_svg/cmd/lc_shadowcursor.svg
+++ b/icon-themes/colibre_svg/cmd/lc_shadowcursor.svg
@@ -1 +1 @@
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect fill="#eac282" height="19" ry="1" width="4" x="5" y="2"/><g fill-rule="evenodd" stroke-linejoin="round" stroke-width="1.026832"><path d="m8.513416 2.5133566 12.973257 10.9872804h-5.993968l2.594487 5.820425c.747176 2.119527-2.615112 2.914347-3.175492 1.324705l-2.241524-4.768935-4.15676 4.493771z" fill="#eac282" stroke="#eac282"/><path d="m5.5134161 2.5133566 12.9732569 10.9872804h-5.993968l2.594487 5.820425c.747176 2.119527-2.615112 2.914347-3.175492 1.324705l-2.2415241-4.768935-4.1567598 4.493771z" fill="#fff" stroke="#808080"/></g></svg>
\ No newline at end of file
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect fill="#b8b8b8" height="19" ry="1" width="4" x="5" y="2"/><g fill-rule="evenodd" stroke-linejoin="round" stroke-width="1.026832"><path d="m8.513416 2.5133566 12.973257 10.9872804h-5.993968l2.594487 5.820425c.747176 2.119527-2.615112 2.914347-3.175492 1.324705l-2.241524-4.768935-4.15676 4.493771z" fill="#b8b8b8" stroke="#b8b8b8"/><path d="m5.5134161 2.5133566 12.9732569 10.9872804h-5.993968l2.594487 5.820425c.747176 2.119527-2.615112 2.914347-3.175492 1.324705l-2.2415241-4.768935-4.1567598 4.493771z" fill="#fff" stroke="#808080"/></g></svg>
diff --git a/icon-themes/colibre_svg/cmd/lc_shadowed.svg b/icon-themes/colibre_svg/cmd/lc_shadowed.svg
index f5f036a7661f..bea21ddaa786 100644
--- a/icon-themes/colibre_svg/cmd/lc_shadowed.svg
+++ b/icon-themes/colibre_svg/cmd/lc_shadowed.svg
@@ -1 +1 @@
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m13.582031 2.9160156 5.890625 16.9199224c.112844.325012-.128612.664247-.472656.664062h-2.615234-.0039l1.214844 1.212891c.02292.02232.03974.04937.06445.07031.181226.14458.422556.216799.724606.216799h3.615234l-6.266117-18h-.0098zm-2.583984 4.2011719c-.05618.1799545-.116129.3798898-.167969.5332031l-.0039.013672-1.5429689 5.0175784h2.0917969l.671875-2.183594-.869141-2.8359375c-.058641-.1586056-.119323-.361347-.179693-.544922zm-2.7871095 9.0585935-.9648437 3.169922c-.00182.0065-.00377.01306-.00586.01953-.1031235.296937-.2978614.554144-.546875.769532h-.00195c-.2836662.243012-.6571347.365235-1.0371119.365235h-2.1542969l1.5 1.5h2.6542969c.2847896 0 .5210777-.08149.7109375-.244141.1984897-.171686.3333038-.355892.4023437-.554687l1.0742188-3.525391h4.4218751l-.460938-1.5z" fill="#eac282" fill-rule="evenodd"/><text fill="#696969" font-family="sans-serif" font-size="27.12801" letter-spacing="0" transform="scale(.97726768 1.0232
 611)" word-spacing="0" x="3.016799" y="19.545355"><tspan fill="#696969" font-family="Carlito" font-weight="bold" x="3.016799" y="19.545355">A</tspan></text></svg>
\ No newline at end of file
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m13.582031 2.9160156 5.890625 16.9199224c.112844.325012-.128612.664247-.472656.664062h-2.615234-.0039l1.214844 1.212891c.02292.02232.03974.04937.06445.07031.181226.14458.422556.216799.724606.216799h3.615234l-6.266117-18h-.0098zm-2.583984 4.2011719c-.05618.1799545-.116129.3798898-.167969.5332031l-.0039.013672-1.5429689 5.0175784h2.0917969l.671875-2.183594-.869141-2.8359375c-.058641-.1586056-.119323-.361347-.179693-.544922zm-2.7871095 9.0585935-.9648437 3.169922c-.00182.0065-.00377.01306-.00586.01953-.1031235.296937-.2978614.554144-.546875.769532h-.00195c-.2836662.243012-.6571347.365235-1.0371119.365235h-2.1542969l1.5 1.5h2.6542969c.2847896 0 .5210777-.08149.7109375-.244141.1984897-.171686.3333038-.355892.4023437-.554687l1.0742188-3.525391h4.4218751l-.460938-1.5z" fill="#b8b8b8" fill-rule="evenodd"/><text fill="#696969" font-family="sans-serif" font-size="27.12801" letter-spacing="0" transform="scale(.97726768 1.0232
 611)" word-spacing="0" x="3.016799" y="19.545355"><tspan fill="#696969" font-family="Carlito" font-weight="bold" x="3.016799" y="19.545355">A</tspan></text></svg>
diff --git a/icon-themes/colibre_svg/cmd/lc_substract.svg b/icon-themes/colibre_svg/cmd/lc_substract.svg
new file mode 100644
index 000000000000..f599630b5e43
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/lc_substract.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m3 8v13h7 4v-4h-4v-9z" fill="#fff"/><path d="m10 3c-.554 0-1 .446-1 1v2h1v-2h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v2h1v-2c0-.554-.446-1-1-1zm2 4v3h1v-3zm0 4v3h1v-3zm0 4v2h-2v1h2c .554 0 1-.446 1-1v-2zm-5 2v1h2v-1z" fill="#808080"/><path d="m3 7c-.554 0-1 .446-1 1v13c0 .554.446 1 1 1h11c .554 0 1-.446 1-1v-3-1h-1-4v-9-1h-1zm0 1h6v9c0 .554.446 1 1 1h4v3h-11z" fill="#4d82b8"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_break.svg b/icon-themes/colibre_svg/cmd/sc_break.svg
new file mode 100644
index 000000000000..6fcc3b29458e
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_break.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">/&gt;<g fill="none" stroke="#4d82b8" stroke-linecap="round" stroke-linejoin="round"><path d="m12.507154.5000916-12.00708964 4.4653948 4.73706904 10.1404166.262772.394005h10.0001586l-2.598752-2.202724-2.199708-4.9907349-.218977-.437784.131387-.525341z" stroke-width="1.000184"/><path d="m5.5 10.494293 4.0047162-6.0000101"/></g></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_columnwidth.svg b/icon-themes/colibre_svg/cmd/sc_columnwidth.svg
new file mode 100644
index 000000000000..70b0ea1ceade
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_columnwidth.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata16">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs14"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview12" showgrid="true" inkscape:zoom="41.7193" inkscape:cx="5.9945056" inkscape:cy="7.266504" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg10">
+  <inkscape:grid type="xygrid" id="grid823"/>
+ </sodipodi:namedview>
+
+
+     />
+  <path d="M 6 1 L 6 15 L 10 15 L 10 1 L 6 1 z " id="rect836" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#ffffff" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path d="m 5,0 v 16 h 6 V 0 Z m 1,1 h 4 V 5 H 6 Z m 0,5 h 4 v 5 H 6 Z m 0,6 h 4 v 3 H 6 Z" id="rect825" inkscape:connector-curvature="0" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#808080" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_combine.svg b/icon-themes/colibre_svg/cmd/sc_combine.svg
new file mode 100644
index 000000000000..d32d812d744a
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_combine.svg
@@ -0,0 +1,9 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+
+
+
+
+
+     /&gt;
+ <path d="m6 1v4h4v6h4v-10zm4 10h-4v-6h-4v10h8z" fill="#fff"/><path d="m6 0c-.554 0-1 .446-1 1v3h-3c-.554 0-1 .446-1 1v10c0 .554.446 1 1 1h8c .554 0 1-.446 1-1v-3h3c .554 0 1-.446 1-1v-10c0-.554-.446-1-1-1zm0 1h8v10h-3v-6c0-.554-.446-1-1-1h-4zm-4 4h3v6c0 .554.446 1 1 1h4v3h-8zm4 0h4v6h-4z" fill="#4d82b8"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_connect.svg b/icon-themes/colibre_svg/cmd/sc_connect.svg
new file mode 100644
index 000000000000..4658cf5422b6
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_connect.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m12.507154.50009189-12.00708964 4.46539481 4.73706904 10.1404163.262772.394005h10.0001586l-2.598752-2.202724-2.199708-4.9907346-.218977-.437784.131387-.525341z" fill="#fff"/><path d="m12.476562 0a.50014186.50014186 0 0 0 -.144531.03125l-12.00585912 4.4648438a.50014186.50014186 0 0 0 -.27929688.6816406l4.7363281 10.1406246a.50014186.50014186 0 0 0 .037109.06445l.2636719.394532a.50014186.50014186 0 0 0 .416016.222659h10a.50014186.50014186 0 0 0 .324219-.880859l-2.511719-2.128907-2.152344-4.8847652a.50014186.50014186 0 0 0 -.01172-.023438l-.136717-.2714839.085937-.3398438 1.890625-6.8378906a.50014186.50014186 0 0 0 -.511719-.6328125zm-.710937 1.3105469-1.632813 5.9003906a.50014186.50014186 0 0 0 -.0039.011719l-.1308651.5253904a.50014186.50014186 0 0 0 .037109.34375l.212891.4277343 2.195312 4.9785158a.50014186.50014186 0 0 0 .134766.179687l1.5585941 1.322266h-8.3691409l-.09375-.140625-4.4921875-9.6152344z" fill="#80808
 0"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_copyobjects.svg b/icon-themes/colibre_svg/cmd/sc_copyobjects.svg
new file mode 100644
index 000000000000..96742a74c887
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_copyobjects.svg
@@ -0,0 +1,8 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+
+
+
+
+     /&gt;
+ <path d="m14 1v10h-8v-10z" fill="#fff"/><path d="m14 0c .554 0 1 .446 1 1v10c0 .554-.446 1-1 1h-8c-.554 0-1-.446-1-1v-10c0-.554.446-1 1-1zm0 1h-8v10h8z" fill="#808080"/><path d="m12 3v10h-8v-10z" fill="#fff"/><path d="m12 2c .554 0 1 .446 1 1v10c0 .554-.446 1-1 1h-8c-.554 0-1-.446-1-1v-10c0-.554.446-1 1-1zm0 1h-8v10h8z" fill="#808080"/><path d="m10 4c .554 0 1 .446 1 1v10c0 .554-.446 1-1 1h-8c-.554 0-1-.446-1-1v-10c0-.554.446-1 1-1zm0 1h-8v10h8z" fill="#808080"/><path d="m10 5v10h-8v-10z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_deleteallbreaks.svg b/icon-themes/colibre_svg/cmd/sc_deleteallbreaks.svg
new file mode 100644
index 000000000000..f69477ed575a
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_deleteallbreaks.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata26">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs24"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview22" showgrid="false" inkscape:zoom="41.7193" inkscape:cx="12.805514" inkscape:cy="7.5147186" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg20"/>
+ <path inkscape:connector-curvature="0" id="path2" d="m 0.49804758,4.9991328 c -0.275368,0.0011 -0.498022,0.22463 -0.498047,0.5 v 5.0000002 c -6.21e-4,0.424388 0.494386,0.65657 0.820312,0.384766 L 3.8203126,8.3838988 c 0.24089,-0.199955 0.24089,-0.569577 0,-0.769532 l -3.00000002,-2.5 c -0.09052,-0.07512 -0.204633,-0.115924 -0.322265,-0.115234 z" fill="#4d82b8"/>
+ <path d="M 6.0019531 7 C 5.4479531 7 5.0019531 7.446 5.0019531 8 C 5.0019531 8.554 5.4479531 9 6.0019531 9 L 6.0410156 9 C 5.9671232 8.6680729 6.0471174 8.3097632 6.3125 8.0585938 L 7.4296875 7 L 6.0019531 7 z " id="rect4" fill="#4d82b8"/>
+ <path d="m 5,10 c -0.554,0 -1,0.446 -1,1 v 5 H 5 V 11 H 7.7617188 L 6.7871094,10 Z M 15.759766,10.371094 15,11.210938 v 0.49414 l 1,1.017578 V 11 c 0,-0.242866 -0.09728,-0.456028 -0.240234,-0.628906 z" id="path10" inkscape:connector-curvature="0" sodipodi:nodetypes="sscccccsccccsc" fill="#808080"/>
+ <path d="M 5 11 L 5 16 L 7.4570312 16 L 6.2988281 14.859375 C 5.9044469 14.47133 5.9000733 13.836809 6.2890625 13.443359 L 8.2304688 11.480469 L 7.7617188 11 L 5 11 z M 15 11.210938 L 14.767578 11.46875 L 15 11.705078 L 15 11.210938 z M 11.511719 14.673828 L 10.257812 16 L 12.767578 16 L 11.511719 14.673828 z " id="path12" fill="#ffffff"/>
+ <path d="m5.002 6c-.554 0-1.0783767-.4515722-1-1v-5h1v5h10.000214v-5h1v5c0 .554-.446 1-1 1z" fill="#808080" id="path16"/>
+ <path d="m5.0015725 0v5h10.0002135v-5z" fill="#fff" id="path18"/>
+ <path inkscape:connector-curvature="0" d="M 16,14.149904 13.394098,11.498367 15.901588,8.7205939 14.094035,7.0000081 11.513481,9.6470638 8.8806157,7.0000081 7,8.7838801 9.6328627,11.487053 7,14.147058 8.8806157,16 11.510426,13.22059 14.146345,16 Z" id="path6" fill="#e68497"/>
+</svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_equalizeheight.svg b/icon-themes/colibre_svg/cmd/sc_equalizeheight.svg
new file mode 100644
index 000000000000..ccb47951c3bd
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_equalizeheight.svg
@@ -0,0 +1,11 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+
+
+
+
+
+
+
+     /&gt;
+ <path d="m15 2h-10v7h10z" fill="#fff"/><path d="m16 2c0-.554-.446-1-1-1h-10c-.554 0-1 .446-1 1v7c0 .554.446 1 1 1h10c .554 0 1-.446 1-1zm-1 0v7h-10v-7z" fill="#808080"/><path d="m12 7c0-.554-.446-1-1-1h-10c-.554 0-1 .446-1 1v7c0 .554.446 1 1 1h10c .554 0 1-.446 1-1zm-1 0v7h-10v-7z" fill="#808080"/><path d="m11 7h-10v7h10z" fill="#fff"/><path d="m6 15c0 .554.446 1 1 1h2c .554 0 1-.446 1-1v-9c0-.554-.446-1-1-1h-2c-.554 0-1 .446-1 1z" fill="#eac282"/><g fill="#808080"><path d="m6 14v-1h2v1z"/><path d="m6 11v-1h2v1z"/><path d="m6 8v-1h2v1z"/></g></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_equalizewidth.svg b/icon-themes/colibre_svg/cmd/sc_equalizewidth.svg
new file mode 100644
index 000000000000..820f119d3e62
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_equalizewidth.svg
@@ -0,0 +1,9 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+
+
+
+
+
+     /&gt;
+ <path d="m14 1v10h-7v-10z" fill="#fff"/><path d="m14 0c .554 0 1 .446 1 1v10c0 .554-.446 1-1 1h-7c-.554 0-1-.446-1-1v-10c0-.554.446-1 1-1zm0 1h-7v10h7z" fill="#808080"/><path d="m6 2c-.554 0-1 .446-1 1v2c0 .554.446 1 1 1h9c .554 0 1-.446 1-1v-2c0-.554-.446-1-1-1z" fill="#eac282"/><path d="m9 4c .554 0 1 .446 1 1v10c0 .554-.446 1-1 1h-7c-.554 0-1-.446-1-1v-10c0-.554.446-1 1-1zm0 1h-7v10h7z" fill="#808080"/><path d="m7 2h1v2h-1z" fill="#808080"/><path d="m9 5v10h-7v-10z" fill="#fff"/><path d="m1 10c-.554 0-1 .446-1 1v2c0 .554.446 1 1 1h9c .554 0 1-.446 1-1v-2c0-.554-.446-1-1-1z" fill="#eac282"/><g fill="#808080"><path d="m2 10h1v2h-1z"/><path d="m5 10h1v2h-1z"/><path d="m8 10h1v2h-1z"/><path d="m10 2h1v2h-1z"/><path d="m13 2h1v2h-1z"/></g></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_fillshadow.svg b/icon-themes/colibre_svg/cmd/sc_fillshadow.svg
index d02972f7441a..45fe4fe61304 100644
--- a/icon-themes/colibre_svg/cmd/sc_fillshadow.svg
+++ b/icon-themes/colibre_svg/cmd/sc_fillshadow.svg
@@ -1 +1 @@
-<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m14 3v10c0 .554-.446 1-1 1h-11v1c0 .554.446 1 1 1h12c .554 0 1-.446 1-1v-11c0-.554-.446-1-1-1z" fill="#eac282"/><path d="m .5 1.5v11h12v-11z" fill="#fff" stroke="#808080" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m14 3v10c0 .554-.446 1-1 1h-11v1c0 .554.446 1 1 1h12c .554 0 1-.446 1-1v-11c0-.554-.446-1-1-1z" fill="#b8b8b8"/><path d="m .5 1.5v11h12v-11z" fill="#fff" stroke="#808080" stroke-linecap="round" stroke-linejoin="round"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_formatcelldialog.svg b/icon-themes/colibre_svg/cmd/sc_formatcelldialog.svg
new file mode 100644
index 000000000000..9dde59c1cd87
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_formatcelldialog.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata22">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs20"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview18" showgrid="true" inkscape:zoom="20.85965" inkscape:cx="0.29387609" inkscape:cy="5.3206814" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg16">
+  <inkscape:grid type="xygrid" id="grid835"/>
+ </sodipodi:namedview>
+ <path d="M 6 5 L 6 6 L 1 6 L 1 14 L 10 14 L 10 10 C 10 9.446 10.446 9 11 9 L 15 9 L 15 5 L 6 5 z " id="path2" fill="#ffffff" fill-opacity="0.998084"/>
+ <path d="m 6,1 v 4 h 4 V 9 H 6 V 6 H 5 V 9 H 1 v 1 h 4 v 4 h 1 v -4 h 4 C 10,9.446 10.446,9 11,9 V 5 h 4.001953 V 9 C 15.555027,9.0010703 16,9.4466659 16,10 V 5 1 Z M 0,6 v 8.5 c -3.8442e-4,0.276301 0.22369855,0.500384 0.5,0.5 H 11 c -0.553334,0 -0.99893,-0.444973 -1,-0.998047 H 0.99804688 V 6 Z" id="path4" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" fill="#808080" fill-opacity="1"/>
+ <g fill="#eac282" id="g14">
+  <rect height="1" width="3" id="rect8" rx="0.5"/>
+  <rect height="3" rx="0.5" width="1" id="rect10"/>
+  <path d="m.4999293 4.5 4-4v4z" fill-rule="evenodd" stroke="#eac282" stroke-linecap="round" stroke-linejoin="round" id="path12"/>
+ </g>
+ <path inkscape:connector-curvature="0" d="m 11,10 v 4 h 4 v -4 z" id="path26" fill="#eac282"/>
+</svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_hidecolumn.svg b/icon-themes/colibre_svg/cmd/sc_hidecolumn.svg
new file mode 100644
index 000000000000..37de3d74da82
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_hidecolumn.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata12">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs10"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview8" showgrid="true" inkscape:zoom="20.85965" inkscape:cx="8.2107467" inkscape:cy="5.3433904" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg6">
+  <inkscape:grid type="xygrid" id="grid836"/>
+ </sodipodi:namedview>
+
+
+
+
+
+     /&gt;
+  <path inkscape:connector-curvature="0" d="M 1,2 V 14 H 15 V 2 Z" id="rect840" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#ffffff" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path d="M 0 1 L 0 5 L 0 14.5 C -0.00038442 14.776301 0.22369855 15.000384 0.5 15 L 15.5 15 C 15.776301 15.000384 16.000384 14.776301 16 14.5 L 16 5 L 16 1 L 0 1 z M 1 2 L 5 2 L 5 5 L 1 5 L 1 6 L 5 6 L 6 6 L 6 5 L 6 2 L 10 2 L 10 5 L 10 6 L 11 6 L 15 6 L 15 5 L 11 5 L 11 2 L 15 2 L 15 5 L 15.001953 5 L 15.001953 14.001953 L 0.99804688 14.001953 L 0.99804688 5 L 1 5 L 1 2 z M 1 10 L 1 11 L 5 11 L 5 10 L 1 10 z M 5 11 L 5 14 L 6 14 L 6 11 L 5 11 z M 11 10 L 11 11 L 15 11 L 15 10 L 11 10 z M 11 11 L 10 11 L 10 14 L 11 14 L 11 11 z " id="path4" fill="#808080" fill-opacity="1"/> <path d="M 5 1 L 5 15 L 11 15 L 11 1 L 5 1 z M 6 2 L 10 2 L 10 5 L 6 5 L 6 2 z M 6 6 L 10 6 L 10 10 L 6 10 L 6 6 z M 6 11 L 10 11 L 10 14 L 6 14 L 
 6 11 z " id="rect838" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#eac282" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="M 0,1 V 15 L 16,1 Z M 1,2 H 13 L 1,12.826172 Z" id="path6" sodipodi:nodetypes="cccccccc" fill="#4d82b8" fill-rule="evenodd"/> <path inkscape:connector-curvature="0" d="M 1,2 13,2.000391 1,12.826563 Z" id="path8" sodipodi:nodetypes="cccc" fill="#ffffff" fill-rule="evenodd"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_hidenote.svg b/icon-themes/colibre_svg/cmd/sc_hidenote.svg
new file mode 100644
index 000000000000..91c738fd1753
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_hidenote.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata12">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs10"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview8" showgrid="false" inkscape:zoom="41.7193" inkscape:cx="8.1986512" inkscape:cy="12.250653" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg6"/>
+ <path d="m 0.5,1.5 c 2.38e-5,-2.4e-5 0,10.000124 0,10.000124 h 3 v 3.999937 L 8,11.500124 h 7.5 V 1.5 Z" id="path2" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" fill="#ffffff"/>
+ <path d="M 0.5,1 C 0.22385763,1 0,1.2238576 0,1.5 c 8.9536908e-6,0.02947 0.0026233,0.058881 0.0078125,0.087891 H 0 V 6 11.5 c 2.7608953e-5,0.276131 0.22386906,0.499972 0.5,0.5 H 3 v 3.5 c 7.774e-4,0.430893 0.5097988,0.659116 0.8320312,0.373047 L 8.1894531,12 H 15.5 c 0.276131,-2.8e-5 0.499972,-0.223869 0.5,-0.5 V 1.5 C 15.999972,1.2238691 15.776131,1.0000276 15.5,1 Z M 1,2 h 14 v 9 H 8 c -0.1224905,2.23e-4 -0.2406387,0.0454 -0.3320312,0.126953 L 4,14.386719 V 11.5 C 3.9999724,11.223869 3.7761309,11.000028 3.5,11 H 1 V 6 Z" id="path4" inkscape:connector-curvature="0" sodipodi:nodetypes="sccccccccccccccsccccccccccc" fill="#808080"/>
+ <path id="path22" d="M 0,0 V 13 L 16,0 Z M 1,1 H 13.183594 L 1,10.900391 Z" inkscape:connector-curvature="0" fill="#4d82b8" fill-rule="evenodd" fill-opacity="1"/>
+ <path inkscape:connector-curvature="0" d="M 1,1 H 13.183594 L 1,10.900391 Z" id="path26" fill="#ffffff" fill-rule="evenodd"/>
+</svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_hiderow.svg b/icon-themes/colibre_svg/cmd/sc_hiderow.svg
new file mode 100644
index 000000000000..75803a88a6c8
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_hiderow.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata12">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs10"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview8" showgrid="true" inkscape:zoom="41.7193" inkscape:cx="-0.1524274" inkscape:cy="7.50479" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg6">
+  <inkscape:grid type="xygrid" id="grid822"/>
+ </sodipodi:namedview>
+
+
+
+
+
+
+     /&gt;
+  <path inkscape:connector-curvature="0" d="M 1,2 V 14 H 15 V 2 Z" id="rect840" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#ffffff" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="m 0,1 v 4 9.5 c -3.8442e-4,0.276301 0.22369855,0.500384 0.5,0.5 h 15 c 0.276301,3.84e-4 0.500384,-0.223699 0.5,-0.5 V 5 1 Z M 1,2 H 5 V 5 6 H 6 V 5 2 H 9.9999995 V 5 6 H 11 V 5 2 h 4 v 3 h 0.002 v 9.001953 H 0.99804688 V 5 h 0.001953 z m 4,9 v 3 h 1 v -3 z m 4.9999995,0 v 3 H 11 v -3 z" id="path4" fill="#808080" fill-opacity="1"/> <path d="m 0,5 v 6 H 16 V 5 Z m 1,1 h 4 v 4 H 1 Z m 5,0 h 3.9999995 v 4 H 6 Z m 5,0 h 4 v 4 h -4 z" id="rect824" inkscape:connector-curvature="0" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#eac282" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:con
 nector-curvature="0" d="M 0,1 V 15 L 16,1 Z M 1,2 H 13 L 1,12.826172 Z" id="path6" sodipodi:nodetypes="cccccccc" fill="#4d82b8" fill-rule="evenodd"/> <path inkscape:connector-curvature="0" d="M 1,1.999609 13,2 1,12.826172 Z" id="path8" sodipodi:nodetypes="cccc" fill="#ffffff" fill-rule="evenodd"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_insertcolumnbreak.svg b/icon-themes/colibre_svg/cmd/sc_insertcolumnbreak.svg
new file mode 100644
index 000000000000..9040baa5be09
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_insertcolumnbreak.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata26">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs24"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview22" showgrid="true" inkscape:zoom="20.85965" inkscape:cx="0.82928316" inkscape:cy="9.072287" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg20">
+  <inkscape:grid type="xygrid" id="grid844"/>
+ </sodipodi:namedview>
+ <path id="path2" d="m 11.001974,0.49694058 c -0.0011,-0.275368 -0.22463,-0.498022 -0.5,-0.498047 l -5,0 c -0.424388,-6.21e-4 -0.65657,0.494386 -0.384766,0.820312 L 7.6172082,3.8192056 c 0.199955,0.24089 0.569577,0.24089 0.769532,0 L 10.88674,0.81920558 c 0.07512,-0.09052 0.115924,-0.204633 0.115234,-0.322265 z" inkscape:connector-curvature="0" fill="#4d82b8"/>
+ <rect id="rect4" y="-9.00111" x="5.00127" width="4" height="2" transform="rotate(90)" fill="#4d82b8" rx="1"/>
+ <rect id="rect6" y="-9.00111" x="11.00127" width="4" height="2" transform="rotate(90)" fill="#4d82b8" rx="1"/>
+ <path id="path10" d="m 6.0011065,4.9988939 c 0,-0.554 -0.446,-1 -1,-1 h -5 v 1 h 5 l 0,9.9998331 h -5 v 0.999999 h 5 c 0.554,0 1,-0.446 1,-1 z" inkscape:connector-curvature="0" fill="#808080"/>
+ <path id="path12" d="m 5.0011065,4.9984664 h -5 V 14.9983 h 5 z" inkscape:connector-curvature="0" fill="#ffffff"/>
+ <path inkscape:connector-curvature="0" d="m 10.001107,5.000893 c 0,-0.554 0.451572,-1.0783767 1,-1 h 5 v 1 h -5 v 10.000214 h 5 v 1 h -5 c -0.554,0 -1,-0.446 -1,-1 z" id="path16" fill="#808080"/>
+ <path inkscape:connector-curvature="0" d="m 16.001107,5.0004655 h -5 V 15.000679 h 5 z" id="path18" fill="#ffffff"/>
+</svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_intersect.svg b/icon-themes/colibre_svg/cmd/sc_intersect.svg
new file mode 100644
index 000000000000..6f9e10a11818
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_intersect.svg
@@ -0,0 +1,10 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+
+
+
+
+
+
+     /&gt;
+ <path d="m2 4c-.554 0-1 .446-1 1v1h1v-1h2v-1zm-1 3v2h1v-2zm0 3v2h1v-2zm0 3v2c0 .554.446 1 1 1h2v-1h-2v-2zm9 0v2h-2v1h2c .554 0 1-.446 1-1v-2zm-5 2v1h2v-1z" fill="#808080"/><path d="m6 0c-.554 0-1 .446-1 1v2h1v-2h2v-1zm3 0v1h2v-1zm3 0v1h2v2h1v-2c0-.554-.446-1-1-1zm2 4v2h1v-2zm0 3v2h1v-2zm0 3v1h-2v1h2c .554 0 1-.446 1-1v-1z" fill="#808080"/><path d="m5 4v1 6c0 .554.446 1 1 1h4 1v-1-6c0-.554-.446-1-1-1h-4zm1 1h4v6h-4z" fill="#4d82b8"/><path d="m6 5h4v6h-4z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_merge.svg b/icon-themes/colibre_svg/cmd/sc_merge.svg
new file mode 100644
index 000000000000..451d8d50f476
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_merge.svg
@@ -0,0 +1,9 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+
+
+
+
+
+     /&gt;
+ <path d="m6 0c-.554 0-1 .446-1 1v3h-3c-.554 0-1 .446-1 1v10c0 .554.446 1 1 1h8c .554 0 1-.446 1-1v-3h3c .554 0 1-.446 1-1v-10c0-.554-.446-1-1-1zm0 1h8v10h-3-1v1 3h-8v-10h3 1v-1z" fill="#4d82b8"/><path d="m6 1v4h-4v10h8v-4h4v-10z" fill="#fff"/><path d="m7 4v1h1v-1zm2 0v1h1v1h1v-1c0-.554-.446-1-1-1zm-4 2v1h1v-1zm5 1v3h1v-3zm-5 1v1h1v-1zm0 2v1c0 .554.446 1 1 1h1v-1h-1v-1zm3 1v1h1v-1z" fill="#808080"/><path d="m10 8h1v1h-1z" fill="#808080"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_morphing.svg b/icon-themes/colibre_svg/cmd/sc_morphing.svg
new file mode 100644
index 000000000000..8d8dd8da196d
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_morphing.svg
@@ -0,0 +1,9 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+
+
+
+
+
+     /&gt;
+ <circle cx="11" cy="5" fill="#eac282" r="5"/><circle cx="11" cy="5" fill="#fff" r="4"/><rect fill="#4d82b8" height="9" ry="3" width="10" x="3" y="3"/><rect fill="#fff" height="7" ry="2" width="8" x="4" y="4"/><path d="m1 8h8v7h-8z" fill="#fff"/><path d="m1 7c-.554 0-1 .446-1 1v7c0 .554.446 1 1 1h8c .554 0 1-.446 1-1v-7c0-.554-.446-1-1-1zm0 1h8v7h-8z" fill="#808080"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_pasteonlyformula.svg b/icon-themes/colibre_svg/cmd/sc_pasteonlyformula.svg
new file mode 100644
index 000000000000..efc4c977ace1
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_pasteonlyformula.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata12">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs10"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview8" showgrid="true" inkscape:zoom="20.85965" inkscape:cx="-6.6804332" inkscape:cy="-4.1290944" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg6">
+  <inkscape:grid type="xygrid" id="grid820"/>
+ </sodipodi:namedview>
+
+
+
+
+     /&gt;
+   <path d="m2 2c-.554 0-1 .446-1 1v12c0 .554.446 1 1 1h12c.554 0 1-.446 1-1v-12c0-.554-.446-1-1-1h-1v2c0 .554-.446 1-1 1h-8c-.554 0-1-.446-1-1v-2z" fill="#eac282" id="path2"/> <path inkscape:connector-curvature="0" d="M 8,0 A 2,2 0 0 0 6,2 H 4 V 3 C 3.446,3 3,3.446 3,4 v 10 c 0,0.554 0.446,1 1,1 h 8 c 0.554,0 1,-0.446 1,-1 V 4 C 13,3.446 12.554,3 12,3 V 2 H 10 A 2,2 0 0 0 8,0 Z M 8,1 A 1,1 0 0 1 9,2 1,1 0 0 1 8,3 1,1 0 0 1 7,2 1,1 0 0 1 7.0058594,1.9003906 1,1 0 0 1 8,1 Z" id="rect816" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#808080" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="m 4,4 v 10 h 8 V 4 Z" id="rect818" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#fdf9f3" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="M 7.7597
 91,5 C 7.494178,5 7.247225,5.0415161 7.019557,5.125 6.7918883,5.2052729 6.5901864,5.3224385 6.4131112,5.4765625 6.2391984,5.6274757 6.0953045,5.813603 5.9814706,6.0351563 5.8707986,6.2534986 5.7992239,6.4995332 5.7676034,6.7724609 L 5.7246347,7 H 5.0605722 l -0.056641,0.628906 c -0.012648,0.08991 0.0053,0.158867 0.052734,0.207031 0.047431,0.04495 0.1104017,0.07574 0.1894531,0.0918 L 5.6201425,8 5.01858,13 h 0.4882812 c 0.1707509,0 0.3035756,-0.04319 0.3984375,-0.129883 0.094862,-0.08348 0.1647156,-0.205665 0.2089844,-0.366211 L 6.3603768,11.651367 6.7969003,8 H 7.895507 L 8,7 H 6.8681893 l 0.033203,-0.1894531 c 0.018972,-0.1733894 0.053899,-0.3186961 0.1044927,-0.4375 0.05376,-0.118804 0.120167,-0.2152114 0.199218,-0.2890625 0.08221,-0.073851 0.17667,-0.1270707 0.28418,-0.1591797 0.10751,-0.032109 0.225824,-0.047851 0.355469,-0.047851 0.0917,1e-7 0.174343,-0.00836 0.24707,-0.024414 0.07273,-0.016055 0.117002,-0.060915 0.132813,-0.1347656 L 8.33401,5.0869142 C 8.147448,5.0291176 7.95
 5838,5 7.759791,5 Z" id="path2-3" sodipodi:nodetypes="scccccccccccsccccccccccsccccs" fill="#4d82b8" stroke-width="0.5"/> <path inkscape:connector-curvature="0" d="M 7.636719,9 8.458008,10.840821 7,13 h 0.883789 c 0.06025,0 0.111408,-0.01905 0.153321,-0.05664 0.04191,-0.04028 0.0802,-0.08325 0.114258,-0.128907 l 0.730468,-1.188476 0.04004,-0.06445 c 0.01309,-0.02149 0.02596,-0.04541 0.03906,-0.07227 l 0.50293,1.325195 c 0.02095,0.04834 0.04927,0.09131 0.08594,0.128907 0.03667,0.0376 0.08911,0.05664 0.15722,0.05664 h 0.908209 L 9.707031,10.833008 11,9 H 10.09668 C 10.04953,9 10.00866,9.01197 9.97461,9.03613 9.94056,9.0603 9.90613,9.09497 9.872071,9.140622 l -0.557618,0.938477 c -0.02095,0.02954 -0.04026,0.05933 -0.05859,0.08887 -0.01572,0.02686 -0.03085,0.05542 -0.04395,0.08496 L 8.764649,9.125 C 8.743689,9.07935 8.718269,9.04712 8.689449,9.02832 8.660639,9.00952 8.613339,9 8.547852,9 Z" id="path2-3-6" sodipodi:nodetypes="cccscccccccscccscccccccsc" fill="#4d82b8" stroke-width="0.5"/><
 /svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_pasteonlytext.svg b/icon-themes/colibre_svg/cmd/sc_pasteonlytext.svg
new file mode 100644
index 000000000000..c71cdf6e9f28
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_pasteonlytext.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata12">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs10"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview8" showgrid="true" inkscape:zoom="41.7193" inkscape:cx="2.4747858" inkscape:cy="1.7700323" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg6">
+  <inkscape:grid type="xygrid" id="grid820"/>
+ </sodipodi:namedview>
+
+
+
+
+
+     /&gt;
+  <path d="m2 2c-.554 0-1 .446-1 1v12c0 .554.446 1 1 1h12c.554 0 1-.446 1-1v-12c0-.554-.446-1-1-1h-1v2c0 .554-.446 1-1 1h-8c-.554 0-1-.446-1-1v-2z" fill="#eac282" id="path2"/> <path inkscape:connector-curvature="0" d="M 8,0 A 2,2 0 0 0 6,2 H 4 V 3 C 3.446,3 3,3.446 3,4 v 10 c 0,0.554 0.446,1 1,1 h 8 c 0.554,0 1,-0.446 1,-1 V 4 C 13,3.446 12.554,3 12,3 V 2 H 10 A 2,2 0 0 0 8,0 Z M 8,1 A 1,1 0 0 1 9,2 1,1 0 0 1 8,3 1,1 0 0 1 7,2 1,1 0 0 1 7.0058594,1.9003906 1,1 0 0 1 8,1 Z" id="rect816" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#808080" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="m 4,4 v 10 h 8 V 4 Z" id="rect818" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#fdf9f3" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="m 9.44230
 8,12.926964 q -0.173077,0 -0.264423,-0.04868 -0.09135,-0.05356 -0.144231,-0.209349 L 8.927885,12.347611 Q 8.745193,12.508273 8.576923,12.629987 8.408654,12.751701 8.225962,12.834466 8.048077,12.917236 7.8413462,12.95618 7.6394232,13 7.3894232,13 7.0817308,13 6.8269231,12.91723 6.5721155,12.829593 6.3846154,12.664062 6.2019231,12.498531 6.1009616,12.255104 6,12.006808 6,11.685483 6,11.417713 6.1346154,11.149943 6.2692308,10.882173 6.5913462,10.667957 6.9182693,10.448872 7.4567308,10.307684 8,10.161628 8.807693,10.142153 V 9.88412 q 0,-0.4673806 -0.192308,-0.6864653 Q 8.423077,8.9785701 8.0625,8.9785701 q -0.2692306,0 -0.4471153,0.063291 Q 7.4423077,9.1051521 7.3076924,9.183049 7.173077,9.256077 7.0576923,9.3193684 6.9423078,9.3826594 6.798077,9.3826594 q -0.125,0 -0.2163462,-0.063291 -0.086538,-0.06816 -0.1394231,-0.1606621 L 6.2211538,8.7692224 q 0.4134616,-0.3894839 0.9134616,-0.5793573 0.5,-0.1898735 1.0817306,-0.1898735 0.41827,0 0.75,0.1411879 0.331731,0.1363194 0.5625,0.389484 
 0.23077,0.248296 0.350962,0.593963 Q 10,9.4702935 10,9.88412 v 3.042844 z M 7.7692308,12.157733 q 0.3269232,0 0.5625002,-0.116845 0.240385,-0.121714 0.475962,-0.37001 V 10.89191 q -0.475962,0.01947 -0.79327,0.08277 -0.3124998,0.05842 -0.4999998,0.155794 -0.1875001,0.0925 -0.2692308,0.219084 -0.076923,0.126583 -0.076923,0.272639 0,0.292113 0.1586538,0.413827 0.1634616,0.121713 0.4423076,0.121714 z" id="path14" fill="#808080" fill-opacity="1"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_pasteonlyvalue.svg b/icon-themes/colibre_svg/cmd/sc_pasteonlyvalue.svg
new file mode 100644
index 000000000000..aebc17bf3f0f
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_pasteonlyvalue.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata12">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs10"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview8" showgrid="true" inkscape:zoom="59" inkscape:cx="1.273959" inkscape:cy="3.8275954" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg6">
+  <inkscape:grid type="xygrid" id="grid820"/>
+ </sodipodi:namedview>
+
+
+
+
+
+     /&gt;
+  <path d="m2 2c-.554 0-1 .446-1 1v12c0 .554.446 1 1 1h12c.554 0 1-.446 1-1v-12c0-.554-.446-1-1-1h-1v2c0 .554-.446 1-1 1h-8c-.554 0-1-.446-1-1v-2z" fill="#eac282" id="path2"/> <path inkscape:connector-curvature="0" d="M 8,0 A 2,2 0 0 0 6,2 H 4 V 3 C 3.446,3 3,3.446 3,4 v 10 c 0,0.554 0.446,1 1,1 h 8 c 0.554,0 1,-0.446 1,-1 V 4 C 13,3.446 12.554,3 12,3 V 2 H 10 A 2,2 0 0 0 8,0 Z M 8,1 A 1,1 0 0 1 9,2 1,1 0 0 1 8,3 1,1 0 0 1 7,2 1,1 0 0 1 7.0058594,1.9003906 1,1 0 0 1 8,1 Z" id="rect816" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#808080" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="m 4,4 v 10 h 8 V 4 Z" id="rect818" opacity="1" stroke-dasharray="none" stroke-opacity="1" fill="#fdf9f3" stroke="none" stroke-linejoin="round" fill-opacity="1" stroke-linecap="round" stroke-width="2" stroke-miterlimit="4"/> <path inkscape:connector-curvature="0" d="M 6.48058
 26,12 H 7.7281554 V 8.8315794 c 0,-0.1383459 0.00485,-0.2827068 0.014563,-0.4330828 L 6.9029126,9.070677 C 6.8478966,9.112782 6.7928804,9.138346 6.737864,9.147369 c -0.055016,0.00902 -0.1067959,0.00902 -0.1553397,0 C 6.5339813,9.138349 6.4902913,9.123309 6.4514564,9.102256 6.4158574,9.078196 6.3883494,9.054136 6.3689324,9.030075 L 6,8.5609026 7.9368932,7.0000004 H 9 V 12 h 1 v 1 H 6.4805826 Z" id="path16" fill="#808080" fill-opacity="1"/></svg>
diff --git a/icon-themes/colibre_svg/cmd/sc_pastespecial.svg b/icon-themes/colibre_svg/cmd/sc_pastespecial.svg
new file mode 100644
index 000000000000..cf5358ba2bc6
--- /dev/null
+++ b/icon-themes/colibre_svg/cmd/sc_pastespecial.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 0 16 16" version="1.1">
+ <metadata id="metadata12">
+  <rdf:RDF>
+   <cc:Work>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs id="defs10"/>
+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="2560" inkscape:window-height="1319" id="namedview8" showgrid="true" inkscape:zoom="41.7193" inkscape:cx="8.3773657" inkscape:cy="4.7049294" inkscape:window-x="0" inkscape:window-y="30" inkscape:window-maximized="1" inkscape:current-layer="svg6">
+  <inkscape:grid type="xygrid" id="grid855"/>
+ </sodipodi:namedview>
+
+
+
+     /&gt;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list