[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - 2 commits - officecfg/registry sw/inc sw/Library_sw.mk sw/sdi sw/source sw/uiconfig sw/UIConfig_swriter.mk

Tamás Zolnai (via logerrit) logerrit at kemper.freedesktop.org
Mon Nov 4 16:52:44 UTC 2019


 officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu |   26 
 sw/Library_sw.mk                                             |    1 
 sw/UIConfig_swriter.mk                                       |    1 
 sw/inc/cmdid.h                                               |    1 
 sw/sdi/_tabsh.sdi                                            |    7 
 sw/sdi/swriter.sdi                                           |   18 
 sw/source/uibase/shells/tabsh.cxx                            |   27 
 sw/source/uibase/sidebar/SwPanelFactory.cxx                  |    7 
 sw/source/uibase/sidebar/TableEditPanel.cxx                  |  118 ++
 sw/source/uibase/sidebar/TableEditPanel.hxx                  |   56 +
 sw/uiconfig/swriter/ui/sidebartableedit.ui                   |  458 +++++++++++
 11 files changed, 720 insertions(+)

New commits:
commit 9a0982e06cb5a49af5057398b881d2e74dd10fc0
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Mon Nov 4 14:16:41 2019 +0100
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Mon Nov 4 17:52:09 2019 +0100

    Table panel: Implement functionality of Row Height spinbutton
    
    Reviewed-on: https://gerrit.libreoffice.org/81894
    Tested-by: Jenkins
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
    (cherry picked from commit 5e113259f8382c2d045193abd79267529a6a5f6b)
    
    Change-Id: Ic3e3ce31fdc74c9cb4c41e1243f10f5977d5bb0c
    Reviewed-on: https://gerrit.libreoffice.org/82025
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h
index 8e0ec469d648..d5e29e239df2 100644
--- a/sw/inc/cmdid.h
+++ b/sw/inc/cmdid.h
@@ -410,6 +410,7 @@
 #define FN_TABLE_MODE_FIX_PROP      (FN_FORMAT + 190)  /*  -"-  */
 #define FN_TABLE_MODE_VARIABLE      (FN_FORMAT + 191)  /*  -"-  */
 #define FN_TABLE_BOX_TEXTORIENTATION (FN_FORMAT + 192)  /* text orientation of table cells */
+#define SID_ATTR_TABLE_ROW_HEIGHT    (FN_FORMAT + 193)
 
 #define FN_TABLE_AUTOSUM            (FN_FORMAT + 195)  /* */
 
diff --git a/sw/sdi/_tabsh.sdi b/sw/sdi/_tabsh.sdi
index 9cb65cd4d276..948d6e5476f6 100644
--- a/sw/sdi/_tabsh.sdi
+++ b/sw/sdi/_tabsh.sdi
@@ -437,5 +437,12 @@ interface BaseTextTable
         StateMethod = GetState ;
         DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
     ]
+
+    SID_ATTR_TABLE_ROW_HEIGHT
+    [
+        ExecMethod = Execute ;
+        StateMethod = GetState ;
+        DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
+    ]
 }
 
diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi
index af23a1819212..9c8eee8fd5b4 100644
--- a/sw/sdi/swriter.sdi
+++ b/sw/sdi/swriter.sdi
@@ -7790,3 +7790,21 @@ SfxVoidItem DatePickerFormField FN_INSERT_DATE_FORMFIELD
     ToolBoxConfig = TRUE,
     GroupId = SfxGroupId::Controls;
 ]
+
+SfxUInt32Item TableRowHeight SID_ATTR_TABLE_ROW_HEIGHT
+
+[
+    AutoUpdate = TRUE,
+    FastCall = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+
+
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::Table;
+]
diff --git a/sw/source/uibase/shells/tabsh.cxx b/sw/source/uibase/shells/tabsh.cxx
index ad1aa432dfb7..b719c989ff8f 100644
--- a/sw/source/uibase/shells/tabsh.cxx
+++ b/sw/source/uibase/shells/tabsh.cxx
@@ -1105,6 +1105,21 @@ void SwTableShell::Execute(SfxRequest &rReq)
             //'this' is already destroyed
             return;
         }
+        case SID_ATTR_TABLE_ROW_HEIGHT:
+        {
+            const SfxUInt32Item* pItem2 = rReq.GetArg<SfxUInt32Item>(SID_ATTR_TABLE_ROW_HEIGHT);
+            if (pItem2)
+            {
+                long nNewHeight = pItem2->GetValue();
+                std::unique_ptr<SwFormatFrameSize> pHeight = rSh.GetRowHeight();
+                if ( pHeight )
+                {
+                    pHeight->SetHeight(nNewHeight);
+                    rSh.SetRowHeight(*pHeight);
+                }
+            }
+            return;
+        }
         default:
             bMore = true;
     }
@@ -1380,6 +1395,18 @@ void SwTableShell::GetState(SfxItemSet &rSet)
                 if(rSh.HasBoxSelection())
                     rSet.DisableItem( nSlot );
                 break;
+            case SID_ATTR_TABLE_ROW_HEIGHT:
+            {
+                SfxUInt32Item aRowHeight(SID_ATTR_TABLE_ROW_HEIGHT);
+                std::unique_ptr<SwFormatFrameSize> pHeight = rSh.GetRowHeight();
+                if (pHeight)
+                {
+                    long nHeight = pHeight->GetHeight();
+                    aRowHeight.SetValue(nHeight);
+                    rSet.Put(aRowHeight);
+                }
+                break;
+            }
         }
         nSlot = aIter.NextWhich();
     }
diff --git a/sw/source/uibase/sidebar/SwPanelFactory.cxx b/sw/source/uibase/sidebar/SwPanelFactory.cxx
index f188be4da86a..7ea1bfbdf815 100644
--- a/sw/source/uibase/sidebar/SwPanelFactory.cxx
+++ b/sw/source/uibase/sidebar/SwPanelFactory.cxx
@@ -185,7 +185,7 @@ Reference<ui::XUIElement> SAL_CALL SwPanelFactory::createUIElement (
     }
     else if (rsResourceURL.endsWith("/TableEditPanel"))
     {
-        VclPtr<vcl::Window> pPanel = sw::sidebar::TableEditPanel::Create(pParentWindow, xFrame);
+        VclPtr<vcl::Window> pPanel = sw::sidebar::TableEditPanel::Create(pParentWindow, xFrame, pBindings );
         xElement = sfx2::sidebar::SidebarPanelBase::Create(
                         rsResourceURL, xFrame, pPanel, ui::LayoutSize(-1,-1,-1));
     }
diff --git a/sw/source/uibase/sidebar/TableEditPanel.cxx b/sw/source/uibase/sidebar/TableEditPanel.cxx
index 811ffdfdfb0e..f5650a374309 100644
--- a/sw/source/uibase/sidebar/TableEditPanel.cxx
+++ b/sw/source/uibase/sidebar/TableEditPanel.cxx
@@ -8,8 +8,16 @@
  *
  */
 
-#include <sal/config.h>
 #include "TableEditPanel.hxx"
+#include <sal/config.h>
+#include <swtypes.hxx>
+#include <cmdid.h>
+#include <svl/intitem.hxx>
+#include <sfx2/bindings.hxx>
+#include <sfx2/dispatch.hxx>
+#include <svtools/unitconv.hxx>
+#include <swmodule.hxx>
+#include <usrpref.hxx>
 
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 
@@ -18,7 +26,8 @@ namespace sw
 namespace sidebar
 {
 VclPtr<vcl::Window> TableEditPanel::Create(vcl::Window* pParent,
-                                           const css::uno::Reference<css::frame::XFrame>& rxFrame)
+                                           const css::uno::Reference<css::frame::XFrame>& rxFrame,
+                                           SfxBindings* pBindings)
 {
     if (pParent == nullptr)
         throw css::lang::IllegalArgumentException(
@@ -27,21 +36,82 @@ VclPtr<vcl::Window> TableEditPanel::Create(vcl::Window* pParent,
         throw css::lang::IllegalArgumentException("no XFrame given to TableEditPanel::Create",
                                                   nullptr, 1);
 
-    return VclPtr<TableEditPanel>::Create(pParent, rxFrame);
+    return VclPtr<TableEditPanel>::Create(pParent, rxFrame, pBindings);
 }
 
-void TableEditPanel::NotifyItemUpdate(const sal_uInt16 /*nSId*/, const SfxItemState /*eState*/,
-                                      const SfxPoolItem* /*pState*/, const bool /*bIsEnabled*/)
+void TableEditPanel::NotifyItemUpdate(const sal_uInt16 nSID, const SfxItemState eState,
+                                      const SfxPoolItem* pState, const bool /*bIsEnabled*/)
 {
+    switch (nSID)
+    {
+        case SID_ATTR_TABLE_ROW_HEIGHT:
+        {
+            if (pState && eState >= SfxItemState::DEFAULT)
+            {
+                const SfxUInt32Item* pItem = static_cast<const SfxUInt32Item*>(pState);
+                if (pItem)
+                {
+                    long nNewHeight = pItem->GetValue();
+                    nNewHeight = m_pHeightEdit->Normalize(nNewHeight);
+                    m_pHeightEdit->SetValue(nNewHeight, FieldUnit::TWIP);
+                }
+            }
+            else if (eState == SfxItemState::DISABLED)
+            {
+                m_pHeightEdit->Disable();
+            }
+            else
+            {
+                m_pHeightEdit->SetEmptyFieldValue();
+            }
+            break;
+        }
+    }
 }
 
 TableEditPanel::TableEditPanel(vcl::Window* pParent,
-                               const css::uno::Reference<css::frame::XFrame>& rxFrame)
+                               const css::uno::Reference<css::frame::XFrame>& rxFrame,
+                               SfxBindings* pBindings)
     : PanelLayout(pParent, "TableEditPanel", "modules/swriter/ui/sidebartableedit.ui", rxFrame)
+    , m_pBindings(pBindings)
+    , m_aRowHeightController(SID_ATTR_TABLE_ROW_HEIGHT, *pBindings, *this)
 {
+    get(m_pHeightEdit, "rowheight");
+    InitRowHeightToolitem();
 }
 
 TableEditPanel::~TableEditPanel() { disposeOnce(); }
+
+void TableEditPanel::InitRowHeightToolitem()
+{
+    Link<Edit&, void> aLink = LINK(this, TableEditPanel, RowHeightMofiyHdl);
+    m_pHeightEdit->SetModifyHdl(aLink);
+
+    FieldUnit eFieldUnit = SW_MOD()->GetUsrPref(false)->GetMetric();
+    SetFieldUnit(*m_pHeightEdit, eFieldUnit);
+
+    m_pHeightEdit->SetMin(MINLAY, FieldUnit::TWIP);
+    m_pHeightEdit->SetMax(SAL_MAX_INT32, FieldUnit::TWIP);
+}
+
+void TableEditPanel::dispose()
+{
+    m_pHeightEdit.clear();
+    m_aRowHeightController.dispose();
+
+    PanelLayout::dispose();
+}
+
+IMPL_LINK_NOARG(TableEditPanel, RowHeightMofiyHdl, Edit&, void)
+{
+    SwTwips nNewHeight = static_cast<SwTwips>(
+        m_pHeightEdit->Denormalize(m_pHeightEdit->GetValue(FieldUnit::TWIP)));
+    SfxUInt32Item aRowHeight(SID_ATTR_TABLE_ROW_HEIGHT);
+    aRowHeight.SetValue(nNewHeight);
+
+    m_pBindings->GetDispatcher()->ExecuteList(SID_ATTR_TABLE_ROW_HEIGHT, SfxCallMode::RECORD,
+                                              { &aRowHeight });
+}
 }
 } // end of namespace ::sw::sidebar
 
diff --git a/sw/source/uibase/sidebar/TableEditPanel.hxx b/sw/source/uibase/sidebar/TableEditPanel.hxx
index 25194e2620ac..ea9a2bad3637 100644
--- a/sw/source/uibase/sidebar/TableEditPanel.hxx
+++ b/sw/source/uibase/sidebar/TableEditPanel.hxx
@@ -14,6 +14,7 @@
 #include <com/sun/star/frame/XFrame.hpp>
 #include <svx/sidebar/PanelLayout.hxx>
 #include <sfx2/sidebar/ControllerItem.hxx>
+#include <svx/relfld.hxx>
 
 namespace sw
 {
@@ -26,14 +27,26 @@ class TableEditPanel : public PanelLayout,
 
 public:
     static VclPtr<vcl::Window> Create(vcl::Window* pParent,
-                                      const css::uno::Reference<css::frame::XFrame>& rxFrame);
+                                      const css::uno::Reference<css::frame::XFrame>& rxFrame,
+                                      SfxBindings* pBindings);
 
     virtual void NotifyItemUpdate(const sal_uInt16 nSId, const SfxItemState eState,
                                   const SfxPoolItem* pState, const bool bIsEnabled) override;
 
 private:
-    TableEditPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame);
+    TableEditPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame,
+                   SfxBindings* pBindings);
     virtual ~TableEditPanel() override;
+    virtual void dispose() override;
+
+    void InitRowHeightToolitem();
+
+    SfxBindings* m_pBindings;
+
+    VclPtr<SvxRelativeField> m_pHeightEdit;
+    ::sfx2::sidebar::ControllerItem m_aRowHeightController;
+
+    DECL_LINK(RowHeightMofiyHdl, Edit&, void);
 };
 }
 } // end of namespace sw::sidebar
commit a981e7e30bfc26275954c1ddb1bae2397200c9f3
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Wed Oct 23 18:19:23 2019 +0200
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Mon Nov 4 17:51:58 2019 +0100

    Add new 'Table' sidebar panel to Writer
    
    This is the initial layout of the panel. It does not
    functional yet.
    
    Reviewed-on: https://gerrit.libreoffice.org/81893
    Tested-by: Jenkins
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
    (cherry picked from commit 83658678e69ba83979c659e37fd3c950942139f9)
    
    Change-Id: Idd67ed921b71559bb704ef50cbfa97013fb80d6b
    Reviewed-on: https://gerrit.libreoffice.org/82024
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index 6f162ee14880..0aa8ed66c4bf 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -1545,6 +1545,32 @@
           <value>8</value>
         </prop>
       </node>
+
+      <node oor:name="TableEditPanel" oor:op="replace">
+        <prop oor:name="Title" oor:type="xs:string">
+          <value xml:lang="en-US">Table</value>
+        </prop>
+        <prop oor:name="TitleBarIsOptional" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
+        <prop oor:name="Id" oor:type="xs:string">
+          <value>TableEditPanel</value>
+        </prop>
+        <prop oor:name="DeckId" oor:type="xs:string">
+          <value>PropertyDeck</value>
+        </prop>
+        <prop oor:name="ContextList">
+          <value oor:separator=";">
+            WriterVariants, Table,  visible ;
+          </value>
+        </prop>
+        <prop oor:name="ImplementationURL" oor:type="xs:string">
+          <value>private:resource/toolpanel/SwPanelFactory/TableEditPanel</value>
+        </prop>
+        <prop oor:name="OrderIndex" oor:type="xs:int">
+          <value>300</value>
+        </prop>
+      </node>
     </node>
   </node>
 </oor:component-data>
diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk
index 79880d84bd20..df747f569584 100644
--- a/sw/Library_sw.mk
+++ b/sw/Library_sw.mk
@@ -703,6 +703,7 @@ $(eval $(call gb_Library_add_exception_objects,sw,\
     sw/source/uibase/sidebar/PageFooterPanel \
     sw/source/uibase/sidebar/PageStylesPanel \
     sw/source/uibase/sidebar/WrapPropertyPanel \
+    sw/source/uibase/sidebar/TableEditPanel \
     sw/source/uibase/sidebar/ThemePanel \
     sw/source/uibase/sidebar/SwPanelFactory \
     sw/source/uibase/table/chartins \
diff --git a/sw/UIConfig_swriter.mk b/sw/UIConfig_swriter.mk
index 3b6765571189..4167a4eee307 100644
--- a/sw/UIConfig_swriter.mk
+++ b/sw/UIConfig_swriter.mk
@@ -256,6 +256,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/swriter,\
 	sw/uiconfig/swriter/ui/pagefooterpanel \
 	sw/uiconfig/swriter/ui/sidebarwrap \
 	sw/uiconfig/swriter/ui/sidebarstylepresets \
+	sw/uiconfig/swriter/ui/sidebartableedit \
 	sw/uiconfig/swriter/ui/sidebartheme \
 	sw/uiconfig/swriter/ui/sortdialog \
 	sw/uiconfig/swriter/ui/spellmenu \
diff --git a/sw/source/uibase/sidebar/SwPanelFactory.cxx b/sw/source/uibase/sidebar/SwPanelFactory.cxx
index 9fe8ccc143c9..f188be4da86a 100644
--- a/sw/source/uibase/sidebar/SwPanelFactory.cxx
+++ b/sw/source/uibase/sidebar/SwPanelFactory.cxx
@@ -26,6 +26,7 @@
 #include "PageHeaderPanel.hxx"
 #include "PageFooterPanel.hxx"
 #include "WrapPropertyPanel.hxx"
+#include "TableEditPanel.hxx"
 #include <navipi.hxx>
 #include <redlndlg.hxx>
 
@@ -182,6 +183,12 @@ Reference<ui::XUIElement> SAL_CALL SwPanelFactory::createUIElement (
         xElement = sfx2::sidebar::SidebarPanelBase::Create(
                         rsResourceURL, xFrame, pPanel, ui::LayoutSize(-1,-1,-1));
     }
+    else if (rsResourceURL.endsWith("/TableEditPanel"))
+    {
+        VclPtr<vcl::Window> pPanel = sw::sidebar::TableEditPanel::Create(pParentWindow, xFrame);
+        xElement = sfx2::sidebar::SidebarPanelBase::Create(
+                        rsResourceURL, xFrame, pPanel, ui::LayoutSize(-1,-1,-1));
+    }
 
     return xElement;
 }
diff --git a/sw/source/uibase/sidebar/TableEditPanel.cxx b/sw/source/uibase/sidebar/TableEditPanel.cxx
new file mode 100644
index 000000000000..811ffdfdfb0e
--- /dev/null
+++ b/sw/source/uibase/sidebar/TableEditPanel.cxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+
+#include <sal/config.h>
+#include "TableEditPanel.hxx"
+
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
+
+namespace sw
+{
+namespace sidebar
+{
+VclPtr<vcl::Window> TableEditPanel::Create(vcl::Window* pParent,
+                                           const css::uno::Reference<css::frame::XFrame>& rxFrame)
+{
+    if (pParent == nullptr)
+        throw css::lang::IllegalArgumentException(
+            "no parent Window given to TableEditPanel::Create", nullptr, 0);
+    if (!rxFrame.is())
+        throw css::lang::IllegalArgumentException("no XFrame given to TableEditPanel::Create",
+                                                  nullptr, 1);
+
+    return VclPtr<TableEditPanel>::Create(pParent, rxFrame);
+}
+
+void TableEditPanel::NotifyItemUpdate(const sal_uInt16 /*nSId*/, const SfxItemState /*eState*/,
+                                      const SfxPoolItem* /*pState*/, const bool /*bIsEnabled*/)
+{
+}
+
+TableEditPanel::TableEditPanel(vcl::Window* pParent,
+                               const css::uno::Reference<css::frame::XFrame>& rxFrame)
+    : PanelLayout(pParent, "TableEditPanel", "modules/swriter/ui/sidebartableedit.ui", rxFrame)
+{
+}
+
+TableEditPanel::~TableEditPanel() { disposeOnce(); }
+}
+} // end of namespace ::sw::sidebar
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
diff --git a/sw/source/uibase/sidebar/TableEditPanel.hxx b/sw/source/uibase/sidebar/TableEditPanel.hxx
new file mode 100644
index 000000000000..25194e2620ac
--- /dev/null
+++ b/sw/source/uibase/sidebar/TableEditPanel.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+
+#ifndef INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_TABLEEDITPANEL_HXX
+#define INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_TABLEEDITPANEL_HXX
+
+#include <com/sun/star/frame/XFrame.hpp>
+#include <svx/sidebar/PanelLayout.hxx>
+#include <sfx2/sidebar/ControllerItem.hxx>
+
+namespace sw
+{
+namespace sidebar
+{
+class TableEditPanel : public PanelLayout,
+                       public sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
+{
+    friend class VclPtr<TableEditPanel>;
+
+public:
+    static VclPtr<vcl::Window> Create(vcl::Window* pParent,
+                                      const css::uno::Reference<css::frame::XFrame>& rxFrame);
+
+    virtual void NotifyItemUpdate(const sal_uInt16 nSId, const SfxItemState eState,
+                                  const SfxPoolItem* pState, const bool bIsEnabled) override;
+
+private:
+    TableEditPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame);
+    virtual ~TableEditPanel() override;
+};
+}
+} // end of namespace sw::sidebar
+
+#endif // INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_TABLEEDITPANEL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
diff --git a/sw/uiconfig/swriter/ui/sidebartableedit.ui b/sw/uiconfig/swriter/ui/sidebartableedit.ui
new file mode 100644
index 000000000000..e48865b0f8a8
--- /dev/null
+++ b/sw/uiconfig/swriter/ui/sidebartableedit.ui
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.4 -->
+<interface domain="svx">
+  <requires lib="gtk+" version="3.18"/>
+  <requires lib="LibreOffice" version="1.0"/>
+  <object class="GtkGrid" id="TableEditPanel">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkGrid" id="grid1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="border_width">6</property>
+        <property name="orientation">vertical</property>
+        <property name="column_spacing">6</property>
+        <property name="column_homogeneous">True</property>
+        <child>
+          <object class="GtkBox" id="box5">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkBox" id="box6">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkLabel" id="insertlabel">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes" context="sidebatableedit|insertlabel">Insert:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">insert</property>
+                    <property name="xalign">0</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="sfxlo-SidebarToolBox" id="insert">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkToolButton" id="insertrowsbefore">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">.uno:InsertRowsBefore</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkToolButton" id="insertrowsafter">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">.uno:InsertRowsAfter</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkToolButton" id="insertcolumnsbefore">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">.uno:InsertColumnsBefore</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkToolButton" id="insertcolumnsafter">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">.uno:InsertColumnsAfter</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="box7">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkLabel" id="deletelabel">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="label" translatable="yes" context="sidebatableedit|deletelabel">Delete:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">delete</property>
+                    <property name="xalign">0</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="sfxlo-SidebarToolBox" id="delete">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkToolButton" id="deleterows">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">.uno:DeleteRows</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkToolButton" id="deletecolumns">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">.uno:DeleteColumns</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkToolButton" id="deletetable">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="action_name">.uno:DeleteTable</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="homogeneous">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="pack_type">end</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="sizelabel">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="label" translatable="yes" context="sidebatableedit|deletelabel">Size:</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">box3</property>
+            <property name="xalign">0</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkBox" id="box1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkImage" id="image1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">center</property>
+                    <property name="valign">center</property>
+                    <property name="pixbuf">cmd/sc_rowheight.png</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="svxlo-SvxRelativeField" id="rowheight">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_text" translatable="yes" context="sidebatableedit|rowheight|tooltip_text">Row Height</property>
+                    <property name="hexpand">True</property>
+                    <property name="text">0</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="rowheight-atkobject">
+                        <property name="AtkObject::accessible-name" translatable="yes" context="sidebatableedit|rowheight-atkobject">Row Height</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="box2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkImage" id="image2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">center</property>
+                    <property name="valign">center</property>
+                    <property name="pixbuf">cmd/sc_columnwidth.png</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="svxlo-SvxRelativeField" id="columnwidth">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_text" translatable="yes" context="sidebatableedit|columnwidth|tooltip_text">Column Width</property>
+                    <property name="hexpand">True</property>
+                    <property name="text">0</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="columnwidth-atkobject">
+                        <property name="AtkObject::accessible-name" translatable="yes" context="sidebatableedit|columnwidth-atkobject">Column Width</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="pack_type">end</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box4">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="sfxlo-SidebarToolBox" id="rowsizing">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <object class="GtkToolButton" id="minimalrowheight">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="action_name">.uno:SetMinimalRowHeight</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="optimalrowheight">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="action_name">.uno:SetOptimalRowHeight</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="distributerows">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="action_name">.uno:DistributeRows</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="sfxlo-SidebarToolBox" id="columnsizing">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <object class="GtkToolButton" id="minimalcolumnwidth">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="action_name">.uno:SetMinimalColumnWidth</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="optimalcolumnwidth">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="action_name">.uno:SetOptimalColumnWidth</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkToolButton" id="distributecolumns">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="action_name">.uno:DistributeColumns</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="pack_type">end</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">3</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="layoutlabel">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="label" translatable="yes" context="sidebatableedit|deletelabel">Layout:</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">layouting</property>
+            <property name="xalign">0</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">4</property>
+          </packing>
+        </child>
+        <child>
+          <object class="sfxlo-SidebarToolBox" id="layouting">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkToolButton" id="mergecells">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="action_name">.uno:MergeCells</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">5</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="left_attach">0</property>
+        <property name="top_attach">0</property>
+      </packing>
+    </child>
+  </object>
+</interface>


More information about the Libreoffice-commits mailing list