basic/inc/sbxbase.hxx                                    |    2 
 basic/source/inc/sbintern.hxx                            |    2 
 bin/find-can-be-private-symbols.py                       |  120 +
 cppcanvas/source/mtfrenderer/transparencygroupaction.cxx |    3 
 cui/source/dialogs/scriptdlg.cxx                         |    1 
 cui/source/inc/macropg.hxx                               |    2 
 cui/uiconfig/ui/bulletandposition.ui                     | 1014 +++++++--------
 cui/uiconfig/ui/charnamepage.ui                          |   11 
 cui/uiconfig/ui/gradientpage.ui                          |    2 
 cui/uiconfig/ui/hatchpage.ui                             |    2 
 cui/uiconfig/ui/patterntabpage.ui                        |    2 
 include/basegfx/color/bcolormodifier.hxx                 |   47 
 include/basic/sbdef.hxx                                  |    2 
 include/editeng/unonrule.hxx                             |    2 
 include/editeng/unotext.hxx                              |    6 
 include/sfx2/dockwin.hxx                                 |    2 
 include/sot/storinfo.hxx                                 |    2 
 include/svtools/sampletext.hxx                           |   14 
 include/svx/sdrhittesthelper.hxx                         |    2 
 include/svx/svdpntv.hxx                                  |    2 
 include/svx/svdtrans.hxx                                 |    4 
 include/svx/unomodel.hxx                                 |    4 
 include/toolkit/helper/property.hxx                      |    2 
 include/tools/stream.hxx                                 |    2 
 include/tools/tenccvt.hxx                                |    2 
 include/vcl/animate/Animation.hxx                        |    4 
 include/vcl/bitmapex.hxx                                 |    2 
 include/vcl/checksum.hxx                                 |    2 
 include/vcl/gfxlink.hxx                                  |    4 
 include/vcl/hatch.hxx                                    |    4 
 include/vcl/layout.hxx                                   |   10 
 include/vcl/lineinfo.hxx                                 |    4 
 include/vcl/mapmod.hxx                                   |    4 
 include/vcl/status.hxx                                   |    2 
 include/vcl/wall.hxx                                     |    4 
 oox/inc/ooxresid.hxx                                     |    2 
 oox/source/helper/ooxresid.cxx                           |    5 
 sc/inc/calcconfig.hxx                                    |    4 
 sc/source/ui/inc/searchresults.hxx                       |    1 
 sw/inc/dbgoutsw.hxx                                      |   46 
 sw/inc/pam.hxx                                           |    8 
 sw/inc/redline.hxx                                       |    2 
 sw/inc/swtypes.hxx                                       |    4 
 sw/source/core/inc/pamtyp.hxx                            |    2 
 sw/source/core/inc/tblrwcl.hxx                           |    2 
 sw/source/filter/inc/wrt_fn.hxx                          |    6 
 sw/source/uibase/inc/uitool.hxx                          |    4 
 vcl/inc/svdata.hxx                                       |    4 
 vcl/inc/unx/gtk/atkbridge.hxx                            |    4 
 vcl/inc/unx/x11/xlimits.hxx                              |    2 
 vcl/source/filter/igif/gifread.cxx                       |    2 
 vcl/source/filter/igif/gifread.hxx                       |    2 
 vcl/source/window/abstdlg.cxx                            |   23 
 xmlsecurity/inc/xmlsec/xmlstreamio.hxx                   |    8 
 xmlsecurity/source/xmlsec/xmlstreamio.cxx                |    8 
 55 files changed, 762 insertions(+), 671 deletions(-)

New commits:
commit f4544f3903fed3a656e3cd57e1bd83582e024b96
Author:     Tomoyuki Kubota <himajin100...@gmail.com>
AuthorDate: Sun Nov 3 06:31:11 2019 +0900
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sun Nov 3 16:11:26 2019 +0100

    tdf#42949 restore vcl/canvastools.hxx for OSL_DEBUG_LEVEL > 2
    
    Change-Id: I6c69bcca4d5cd34efc297764d940727ef8631bf4
    Reviewed-on: https://gerrit.libreoffice.org/81953
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx 
b/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
index da046a8f1a04..09e5c200d04d 100644
--- a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
+++ b/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
@@ -50,6 +50,9 @@
 #include "mtftools.hxx"
 #include <cppcanvas/vclfactory.hxx>
 
+#if OSL_DEBUG_LEVEL > 2
+#include <vcl/canvastools.hxx>
+#endif
 
 using namespace ::com::sun::star;
 
commit 35425ba5d477ef6f278366fb93f3d66fbbc6421a
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Sun Nov 3 12:44:06 2019 +0200
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sun Nov 3 13:46:04 2019 +0100

    Only initialize function pointer once
    
    Change-Id: I559e90948b9dc1c78fa7ff03a96edc1cb9fbe3e2
    Reviewed-on: https://gerrit.libreoffice.org/81958
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/vcl/source/window/abstdlg.cxx b/vcl/source/window/abstdlg.cxx
index cb16145c6085..b774b0206f3e 100644
--- a/vcl/source/window/abstdlg.cxx
+++ b/vcl/source/window/abstdlg.cxx
@@ -21,7 +21,7 @@
 #include <vcl/abstdlg.hxx>
 #include <vcl/bitmapex.hxx>
 
-typedef VclAbstractDialogFactory* (*FuncPtrCreateDialogFactory)();
+typedef VclAbstractDialogFactory* (SAL_CALL* FuncPtrCreateDialogFactory)();
 
 #ifndef DISABLE_DYNLOADING
 extern "C" { static void thisModule() {} }
@@ -31,19 +31,20 @@ extern "C" VclAbstractDialogFactory* CreateDialogFactory();
 
 VclAbstractDialogFactory* VclAbstractDialogFactory::Create()
 {
-    FuncPtrCreateDialogFactory fp = nullptr;
+    static auto fp = []() -> FuncPtrCreateDialogFactory {
 #ifndef DISABLE_DYNLOADING
-    static ::osl::Module aDialogLibrary;
-    if (aDialogLibrary.is() ||
-        aDialogLibrary.loadRelative(&thisModule, CUI_DLL_NAME,
-                SAL_LOADMODULE_GLOBAL | SAL_LOADMODULE_LAZY))
-    {
-        fp = reinterpret_cast<VclAbstractDialogFactory* (SAL_CALL*)()>(
-            aDialogLibrary.getFunctionSymbol( "CreateDialogFactory" ) );
-    }
+        static ::osl::Module aDialogLibrary;
+        if (aDialogLibrary.loadRelative(&thisModule, CUI_DLL_NAME,
+                                        SAL_LOADMODULE_GLOBAL | 
SAL_LOADMODULE_LAZY))
+        {
+            return reinterpret_cast<FuncPtrCreateDialogFactory>(
+                aDialogLibrary.getFunctionSymbol( "CreateDialogFactory" ) );
+        }
+        return nullptr;
 #else
-    fp = CreateDialogFactory;
+        return CreateDialogFactory;
 #endif
+    }();
     if ( fp )
         return fp();
     return nullptr;
commit 94afefe6ba1bec3285cce6dc567ed2f6f70725a8
Author:     andreas kainz <kain...@gmail.com>
AuthorDate: Sat Oct 26 12:48:02 2019 +0200
Commit:     andreas_kainz <kain...@gmail.com>
CommitDate: Sun Nov 3 13:42:21 2019 +0100

    tdf#127927 Writer Character Dialog Font Tab update
    
    Change-Id: I7f2b02393cdda40c07459a83c32d3ebf5569ef12
    Reviewed-on: https://gerrit.libreoffice.org/81543
    Tested-by: Jenkins
    Reviewed-by: andreas_kainz <kain...@gmail.com>

diff --git a/cui/uiconfig/ui/charnamepage.ui b/cui/uiconfig/ui/charnamepage.ui
index 42f2b8da9b3b..f62f48f1d110 100644
--- a/cui/uiconfig/ui/charnamepage.ui
+++ b/cui/uiconfig/ui/charnamepage.ui
@@ -189,6 +189,7 @@
           <object class="GtkFrame" id="frame2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="label_xalign">0</property>
             <property name="shadow_type">none</property>
@@ -202,18 +203,21 @@
                   <object class="GtkGrid" id="stylegrid">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
                     <property name="vexpand">True</property>
                     <property name="row_spacing">3</property>
                     <child>
                       <object class="GtkScrolledWindow">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                         <property name="vexpand">True</property>
                         <property name="shadow_type">in</property>
                         <child>
                           <object class="GtkTreeView" id="weststylelb-nocjk">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
+                            <property name="hexpand">True</property>
                             <property name="vexpand">True</property>
                             <property name="model">liststore2</property>
                             <property name="headers_visible">False</property>
@@ -245,6 +249,7 @@
                       <object class="GtkEntry" id="weststyle-nocjk">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
                         <property name="activates_default">True</property>
                       </object>
                       <packing>
@@ -273,6 +278,7 @@
           <object class="GtkFrame" id="frame3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="label_xalign">0</property>
             <property name="shadow_type">none</property>
@@ -280,18 +286,21 @@
               <object class="GtkAlignment" id="alignment8">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
                 <property name="vexpand">True</property>
                 <property name="top_padding">6</property>
                 <child>
                   <object class="GtkGrid" id="sizegrid">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
                     <property name="vexpand">True</property>
                     <property name="row_spacing">3</property>
                     <child>
                       <object class="GtkScrolledWindow">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
                         <property name="vexpand">True</property>
                         <property name="vscrollbar_policy">always</property>
                         <property name="shadow_type">in</property>
@@ -299,6 +308,7 @@
                           <object class="GtkTreeView" id="westsizelb-nocjk">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
+                            <property name="hexpand">True</property>
                             <property name="vexpand">True</property>
                             <property name="model">liststore3</property>
                             <property name="headers_visible">False</property>
@@ -330,6 +340,7 @@
                       <object class="GtkEntry" id="westsize-nocjk">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
                         <property name="activates_default">True</property>
                       </object>
                       <packing>
commit e82b10f21cb8b77f815be3bd7654e0de7e8ceab5
Author:     andreas kainz <kain...@gmail.com>
AuthorDate: Sun Oct 20 00:44:05 2019 +0200
Commit:     andreas_kainz <kain...@gmail.com>
CommitDate: Sun Nov 3 13:42:06 2019 +0100

    tdf#128257 Bullet Dialog update
    
    Change-Id: I86414cbdef60663e72fe422adce081ae1ce6aaa5
    Reviewed-on: https://gerrit.libreoffice.org/81144
    Tested-by: Jenkins
    Reviewed-by: andreas_kainz <kain...@gmail.com>

diff --git a/cui/uiconfig/ui/bulletandposition.ui 
b/cui/uiconfig/ui/bulletandposition.ui
index babe893985aa..912a8246364a 100644
--- a/cui/uiconfig/ui/bulletandposition.ui
+++ b/cui/uiconfig/ui/bulletandposition.ui
@@ -2,44 +2,6 @@
 <!-- Generated with glade 3.22.1 -->
 <interface domain="cui">
   <requires lib="gtk+" version="3.18"/>
-  <object class="GtkAdjustment" id="adjustment1">
-    <property name="upper">19.989999999999998</property>
-    <property name="step_increment">0.050000000000000003</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment2">
-    <property name="upper">65535</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment3">
-    <property name="lower">1</property>
-    <property name="upper">10</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment4">
-    <property name="lower">1</property>
-    <property name="upper">400</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment5">
-    <property name="upper">19.989999999999998</property>
-    <property name="step_increment">0.050000000000000003</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment6">
-    <property name="lower">-19.989999999999998</property>
-    <property name="upper">19.989999999999998</property>
-    <property name="step_increment">0.050000000000000003</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment7">
-    <property name="upper">19.989999999999998</property>
-    <property name="step_increment">0.050000000000000003</property>
-    <property name="page_increment">10</property>
-  </object>
   <object class="GtkMenu" id="bitmapmenu">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -104,7 +66,7 @@
       <object class="GtkBox" id="dialog-vbox1">
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
-        <property name="spacing">12</property>
+        <property name="spacing">6</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="can_focus">False</property>
@@ -177,16 +139,15 @@
         </child>
         <child>
           <object class="GtkBox" id="NumberingOptionsPage">
+            <property name="height_request">490</property>
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">6</property>
             <property name="spacing">12</property>
             <child>
               <object class="GtkFrame" id="frame1">
-                <property name="height_request">440</property>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="valign">start</property>
                 <property name="label_xalign">0</property>
                 <property name="shadow_type">none</property>
                 <child>
@@ -206,7 +167,6 @@
                           <object class="GtkTreeView" id="levellb">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="vexpand">True</property>
                             <property name="model">liststore1</property>
                             <property name="headers_visible">False</property>
                             <property name="headers_clickable">False</property>
@@ -254,9 +214,9 @@
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
                 <property name="orientation">vertical</property>
-                <property name="spacing">12</property>
+                <property name="spacing">6</property>
                 <child>
-                  <object class="GtkFrame" id="frame2">
+                  <object class="GtkFrame" id="properties">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="label_xalign">0</property>
@@ -272,22 +232,21 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
-                            <property name="spacing">12</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkGrid" id="grid3">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="halign">start</property>
-                                <property 
name="column_homogeneous">True</property>
+                                <property name="row_spacing">6</property>
+                                <property name="column_spacing">12</property>
                                 <child>
                                   <object class="GtkLabel" id="label4">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="halign">start</property>
                                     <property name="label" translatable="yes" 
context="bulletandposition|label4">Type:</property>
                                     <property 
name="use_underline">True</property>
                                     <property 
name="mnemonic_widget">numfmtlb</property>
-                                    <property name="xalign">1</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="left_attach">0</property>
@@ -311,11 +270,10 @@
                                   <object class="GtkLabel" id="startatft">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="halign">start</property>
                                     <property name="label" translatable="yes" 
context="bulletandposition|startatft">Start at:</property>
                                     <property 
name="use_underline">True</property>
                                     <property 
name="mnemonic_widget">startat</property>
-                                    <property name="xalign">1</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="left_attach">0</property>
@@ -330,7 +288,6 @@
                                     <property name="halign">start</property>
                                     <property 
name="activates_default">True</property>
                                     <property name="text" translatable="yes" 
context="bulletandposition|startat">1</property>
-                                    <property 
name="adjustment">adjustment2</property>
                                     <property name="value">1</property>
                                   </object>
                                   <packing>
@@ -342,11 +299,10 @@
                                   <object class="GtkLabel" id="bulletft">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="halign">start</property>
                                     <property name="label" translatable="yes" 
context="bulletandposition|bulletft">Character:</property>
                                     <property 
name="use_underline">True</property>
                                     <property 
name="mnemonic_widget">bullet</property>
-                                    <property name="xalign">1</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="left_attach">0</property>
@@ -387,6 +343,35 @@
                                   </packing>
                                 </child>
                                 <child>
+                                  <object class="GtkLabel" id="colorft">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="label" translatable="yes" 
context="bulletandposition|colorft">Color:</property>
+                                    <property 
name="use_underline">True</property>
+                                    <property 
name="mnemonic_widget">color</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="GtkMenuButton" id="color">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="receives_default">False</property>
+                                    <property name="xalign">0</property>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="top_attach">4</property>
+                                  </packing>
+                                </child>
+                                <child>
                                   <placeholder/>
                                 </child>
                               </object>
@@ -396,308 +381,176 @@
                                 <property name="position">0</property>
                               </packing>
                             </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes" 
context="bulletandposition|label2">Properties</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkFrame" id="beforeafter">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">none</property>
+                    <child>
+                      <object class="GtkAlignment">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="top_padding">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">6</property>
+                            <property name="column_spacing">12</property>
                             <child>
-                              <object class="GtkFrame" id="beforeafter">
+                              <object class="GtkLabel" id="prefixft">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="label_xalign">0</property>
-                                <property name="shadow_type">none</property>
-                                <child>
-                                  <object class="GtkGrid">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property 
name="column_spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="prefixft">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">False</property>
-                                        <property name="label" 
translatable="yes" context="bulletandposition|prefixft">Before:</property>
-                                        <property 
name="use_underline">True</property>
-                                        <property 
name="mnemonic_widget">prefix</property>
-                                        <property name="xalign">0</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">0</property>
-                                        <property 
name="top_attach">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkEntry" id="prefix">
-                                        <property 
name="width_request">130</property>
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="halign">start</property>
-                                        <property 
name="activates_default">True</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">1</property>
-                                        <property 
name="top_attach">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="suffixft">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">False</property>
-                                        <property name="label" 
translatable="yes" context="bulletandposition|suffixft">After:</property>
-                                        <property 
name="use_underline">True</property>
-                                        <property 
name="mnemonic_widget">suffix</property>
-                                        <property name="xalign">0</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">2</property>
-                                        <property 
name="top_attach">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkEntry" id="suffix">
-                                        <property 
name="width_request">130</property>
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="halign">start</property>
-                                        <property 
name="activates_default">True</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">3</property>
-                                        <property 
name="top_attach">0</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child type="label">
-                                  <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes" 
context="bulletandposition|beforeafter">Separator</property>
-                                    <attributes>
-                                      <attribute name="weight" value="bold"/>
-                                    </attributes>
-                                  </object>
-                                </child>
+                                <property name="label" translatable="yes" 
context="bulletandposition|prefixft">Before:</property>
+                                <property name="use_underline">True</property>
+                                <property 
name="mnemonic_widget">prefix</property>
+                                <property name="xalign">0</property>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkGrid" id="grid2">
+                              <object class="GtkBox" id="after">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="row_spacing">6</property>
-                                <property name="column_spacing">2</property>
+                                <property name="spacing">12</property>
                                 <child>
-                                  <object class="GtkBox" id="whbox">
+                                  <object class="GtkEntry" id="prefix">
+                                    <property 
name="width_request">50</property>
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property 
name="orientation">vertical</property>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">False</property>
-                                        <child>
-                                          <object class="GtkLabel" 
id="widthft">
-                                            <property 
name="visible">True</property>
-                                            <property 
name="can_focus">False</property>
-                                            <property name="label" 
translatable="yes" context="bulletandposition|widthft">Width:</property>
-                                            <property 
name="use_underline">True</property>
-                                            <property 
name="mnemonic_widget">widthmf</property>
-                                            <property 
name="xalign">0</property>
-                                          </object>
-                                          <packing>
-                                            <property 
name="left_attach">0</property>
-                                            <property 
name="top_attach">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkLabel" 
id="heightft">
-                                            <property 
name="visible">True</property>
-                                            <property 
name="can_focus">False</property>
-                                            <property name="label" 
translatable="yes" context="bulletandposition|heightft">Height:</property>
-                                            <property 
name="use_underline">True</property>
-                                            <property 
name="mnemonic_widget">heightmf</property>
-                                            <property 
name="ellipsize">end</property>
-                                            <property 
name="width_chars">7</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="GtkSpinButton" 
id="widthmf">
-                                            <property 
name="visible">True</property>
-                                            <property 
name="can_focus">True</property>
-                                            <property 
name="activates_default">True</property>
-                                            <property 
name="adjustment">adjustment1</property>
-                                            <property 
name="digits">2</property>
-                                          </object>
-                                          <packing>
-                                            <property 
name="left_attach">1</property>
-                                            <property 
name="top_attach">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkSpinButton" 
id="heightmf">
-                                            <property 
name="visible">True</property>
-                                            <property 
name="can_focus">True</property>
-                                            <property 
name="activates_default">True</property>
-                                            <property 
name="adjustment">adjustment5</property>
-                                            <property 
name="digits">2</property>
-                                          </object>
-                                          <packing>
-                                            <property 
name="left_attach">1</property>
-                                            <property 
name="top_attach">1</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property 
name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property name="halign">start</property>
+                                    <property name="hexpand">True</property>
+                                    <property 
name="activates_default">True</property>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox" id="keepratiobox">
+                                  <object class="GtkLabel" id="suffixft">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property 
name="orientation">vertical</property>
-                                    <child>
-                                      <object class="GtkCheckButton" 
id="keepratio">
-                                        <property name="label" 
translatable="yes" context="bulletandposition|keepratio">Keep ratio</property>
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="receives_default">False</property>
-                                        <property 
name="margin_top">23</property>
-                                        <property 
name="hexpand">True</property>
-                                        <property 
name="use_underline">True</property>
-                                        <property name="xalign">0</property>
-                                        <property 
name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
+                                    <property name="halign">center</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="label" translatable="yes" 
context="bulletandposition|suffixft">After:</property>
+                                    <property 
name="use_underline">True</property>
+                                    <property 
name="mnemonic_widget">suffix</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox">
+                                  <object class="GtkEntry" id="suffix">
+                                    <property 
name="width_request">50</property>
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="halign">start</property>
-                                    <property name="spacing">15</property>
-                                    <child>
-                                      <object class="GtkLabel" id="colorft">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">False</property>
-                                        <property name="label" 
translatable="yes" context="bulletandposition|colorft">Color:</property>
-                                        <property 
name="use_underline">True</property>
-                                        <property 
name="mnemonic_widget">color</property>
-                                        <property name="xalign">1</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkMenuButton" id="color">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="receives_default">False</property>
-                                        <property name="xalign">0</property>
-                                        <property 
name="draw_indicator">False</property>
-                                        <property name="label" 
translatable="no"></property>
-                                        <child>
-                                          <placeholder/>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property 
name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="relsizeft">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">False</property>
-                                        <property name="label" 
translatable="yes" context="bulletandposition|relsizeft">_Rel. size:</property>
-                                        <property 
name="use_underline">True</property>
-                                        <property 
name="mnemonic_widget">relsize</property>
-                                        <property name="xalign">1</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkSpinButton" 
id="relsize">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="activates_default">True</property>
-                                        <property name="text" 
translatable="yes" context="bulletandposition|relsize">100</property>
-                                        <property 
name="adjustment">adjustment4</property>
-                                        <property name="value">100</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">3</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property name="halign">end</property>
+                                    <property name="hexpand">True</property>
+                                    <property 
name="activates_default">True</property>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                    <property name="width">2</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">2</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">2</property>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="beforeafter1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes" 
context="bulletandposition|beforeafter">Separator</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkFrame" id="colorb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">none</property>
+                    <child>
+                      <object class="GtkAlignment">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="top_padding">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkGrid" id="grid2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">6</property>
+                            <property name="column_spacing">12</property>
                             <child>
-                              <object class="GtkFrame">
+                              <object class="GtkBox" id="whbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="label_xalign">0</property>
-                                <property name="shadow_type">none</property>
+                                <property 
name="orientation">vertical</property>
+                                <property name="spacing">12</property>
                                 <child>
                                   <object class="GtkGrid">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="margin_top">7</property>
-                                    <property name="row_spacing">2</property>
-                                    <property 
name="column_spacing">8</property>
+                                    <property name="row_spacing">6</property>
+                                    <property 
name="column_spacing">12</property>
                                     <child>
-                                      <object class="GtkLabel" id="indent">
+                                      <object class="GtkLabel" id="widthft">
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">False</property>
-                                        <property 
name="halign">start</property>
-                                        <property name="label" 
translatable="yes" context="bulletandposition|indent">Indent:</property>
+                                        <property name="label" 
translatable="yes" context="bulletandposition|widthft">Width:</property>
                                         <property 
name="use_underline">True</property>
-                                        <property 
name="mnemonic_widget">indentmf</property>
-                                        <property name="xalign">1</property>
+                                        <property 
name="mnemonic_widget">widthmf</property>
+                                        <property name="xalign">0</property>
                                       </object>
                                       <packing>
                                         <property 
name="left_attach">0</property>
@@ -705,14 +558,13 @@
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkLabel" 
id="numberingwidth">
+                                      <object class="GtkLabel" id="heightft">
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">False</property>
-                                        <property 
name="halign">start</property>
-                                        <property name="label" 
translatable="yes" context="bulletandposition|numberingwidth">Width:</property>
+                                        <property name="label" 
translatable="yes" context="bulletandposition|heightft">Height:</property>
                                         <property 
name="use_underline">True</property>
-                                        <property 
name="mnemonic_widget">numberingwidthmf</property>
-                                        <property name="xalign">1</property>
+                                        <property 
name="mnemonic_widget">heightmf</property>
+                                        <property name="xalign">0</property>
                                       </object>
                                       <packing>
                                         <property 
name="left_attach">0</property>
@@ -720,13 +572,10 @@
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkSpinButton" 
id="indentmf">
-                                        <property 
name="width_request">170</property>
+                                      <object class="GtkSpinButton" 
id="widthmf">
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="activates_default">True</property>
-                                        <property name="text" 
translatable="yes" context="bulletandposition|indentmf">0,00</property>
-                                        <property 
name="adjustment">adjustment6</property>
                                         <property name="digits">2</property>
                                       </object>
                                       <packing>
@@ -735,12 +584,10 @@
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkSpinButton" 
id="numberingwidthmf">
+                                      <object class="GtkSpinButton" 
id="heightmf">
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="activates_default">True</property>
-                                        <property name="text" 
translatable="yes" context="bulletandposition|numberingwidthmf">0,00</property>
-                                        <property 
name="adjustment">adjustment7</property>
                                         <property name="digits">2</property>
                                       </object>
                                       <packing>
@@ -748,118 +595,35 @@
                                         <property 
name="top_attach">1</property>
                                       </packing>
                                     </child>
-                                    <child>
-                                      <object class="GtkCheckButton" 
id="relative">
-                                        <property name="label" 
translatable="yes" context="bulletandposition|relative">Relati_ve</property>
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="receives_default">False</property>
-                                        <property name="halign">end</property>
-                                        <property 
name="use_underline">True</property>
-                                        <property name="xalign">0</property>
-                                        <property 
name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">2</property>
-                                        <property 
name="top_attach">0</property>
-                                        <property name="height">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child type="label">
-                                  <object class="GtkLabel" id="position">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes" 
context="bulletandposition|position">Position</property>
-                                    <attributes>
-                                      <attribute name="weight" value="bold"/>
-                                    </attributes>
                                   </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">3</property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox">
+                              <object class="GtkBox" id="keepratiobox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
+                                <property name="valign">center</property>
                                 <property 
name="orientation">vertical</property>
+                                <property name="spacing">12</property>
                                 <child>
-                                  <object class="GtkFrame">
+                                  <object class="GtkCheckButton" 
id="keepratio">
+                                    <property name="label" translatable="yes" 
context="bulletandposition|keepratio">Keep ratio</property>
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label_xalign">0</property>
-                                    <property 
name="shadow_type">none</property>
-                                    <child>
-                                      <object class="GtkAlignment">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">False</property>
-                                        <property 
name="left_padding">12</property>
-                                        <child>
-                                          <object class="GtkGrid">
-                                            <property 
name="visible">True</property>
-                                            <property 
name="can_focus">False</property>
-                                            <property 
name="margin_top">7</property>
-                                            <property 
name="column_spacing">6</property>
-                                            <child>
-                                              <object class="GtkToggleButton" 
id="center">
-                                                <property 
name="visible">True</property>
-                                                <property 
name="can_focus">True</property>
-                                                <property 
name="receives_default">True</property>
-                                                <property 
name="image">image2</property>
-                                                <property 
name="always_show_image">True</property>
-                                              </object>
-                                              <packing>
-                                                <property 
name="left_attach">1</property>
-                                                <property 
name="top_attach">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkToggleButton" 
id="left">
-                                                <property 
name="visible">True</property>
-                                                <property 
name="can_focus">True</property>
-                                                <property 
name="receives_default">True</property>
-                                                <property 
name="margin_left">88</property>
-                                                <property 
name="image">image1</property>
-                                                <property 
name="always_show_image">True</property>
-                                              </object>
-                                              <packing>
-                                                <property 
name="left_attach">0</property>
-                                                <property 
name="top_attach">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkToggleButton" 
id="right">
-                                                <property 
name="visible">True</property>
-                                                <property 
name="can_focus">True</property>
-                                                <property 
name="receives_default">True</property>
-                                                <property 
name="image">image3</property>
-                                                <property 
name="always_show_image">True</property>
-                                              </object>
-                                              <packing>
-                                                <property 
name="left_attach">2</property>
-                                                <property 
name="top_attach">0</property>
-                                              </packing>
-                                            </child>
-                                          </object>
-                                        </child>
-                                      </object>
-                                    </child>
-                                    <child type="label">
-                                      <object class="GtkLabel" id="ALlabel">
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">False</property>
-                                        <property name="label" 
translatable="yes" context="bulletandposition|ALlabel">Alignment</property>
-                                        <attributes>
-                                          <attribute name="weight" 
value="bold"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="receives_default">False</property>
+                                    <property 
name="use_underline">True</property>
+                                    <property name="xalign">0</property>
+                                    <property 
name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -869,87 +633,48 @@
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">4</property>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkFrame">
+                              <object class="GtkGrid">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="label_xalign">0</property>
-                                <property name="shadow_type">none</property>
+                                <property name="row_spacing">6</property>
+                                <property name="column_spacing">12</property>
                                 <child>
-                                  <object class="GtkGrid">
+                                  <object class="GtkSpinButton" id="relsize">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="margin_top">7</property>
-                                    <property name="row_spacing">16</property>
-                                    <property 
name="column_spacing">93</property>
-                                    <child>
-                                      <object class="GtkRadioButton" 
id="sliderb">
-                                        <property name="label" 
translatable="yes" context="bulletandposition|sliderb">Slide</property>
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="receives_default">False</property>
-                                        <property 
name="halign">start</property>
-                                        <property name="active">True</property>
-                                        <property 
name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">0</property>
-                                        <property 
name="top_attach">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkRadioButton" 
id="selectionrb">
-                                        <property name="label" 
translatable="yes" context="bulletandposition|selectionrb">Selection</property>
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="receives_default">False</property>
-                                        <property 
name="halign">start</property>
-                                        <property name="active">True</property>
-                                        <property 
name="draw_indicator">True</property>
-                                        <property 
name="group">sliderb</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">0</property>
-                                        <property 
name="top_attach">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkToggleButton" 
id="applytomaster">
-                                        <property name="label" 
translatable="yes" context="bulletandposition|applytomaster">Apply to 
Master</property>
-                                        <property 
name="height_request">34</property>
-                                        <property 
name="visible">True</property>
-                                        <property 
name="can_focus">True</property>
-                                        <property 
name="receives_default">True</property>
-                                        <property 
name="valign">center</property>
-                                      </object>
-                                      <packing>
-                                        <property 
name="left_attach">1</property>
-                                        <property 
name="top_attach">0</property>
-                                        <property name="height">2</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="activates_default">True</property>
+                                    <property name="text" translatable="yes" 
context="bulletandposition|relsize">100</property>
+                                    <property name="value">100</property>
                                   </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="top_attach">0</property>
+                                  </packing>
                                 </child>
-                                <child type="label">
-                                  <object class="GtkLabel" id="scopelb">
+                                <child>
+                                  <object class="GtkLabel" id="relsizeft">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes" 
context="bulletandposition|scopelb">Scope</property>
-                                    <attributes>
-                                      <attribute name="weight" value="bold"/>
-                                    </attributes>
+                                    <property name="label" translatable="yes" 
context="bulletandposition|relsizeft">_Rel. size:</property>
+                                    <property 
name="use_underline">True</property>
+                                    <property 
name="mnemonic_widget">relsize</property>
+                                    <property name="xalign">0</property>
                                   </object>
+                                  <packing>
+                                    <property name="left_attach">0</property>
+                                    <property name="top_attach">0</property>
+                                  </packing>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">5</property>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">1</property>
+                                <property name="width">2</property>
                               </packing>
                             </child>
                           </object>
@@ -957,10 +682,10 @@
                       </object>
                     </child>
                     <child type="label">
-                      <object class="GtkLabel" id="label2">
+                      <object class="GtkLabel" id="size">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes" 
context="bulletandposition|label2">Properties</property>
+                        <property name="label" translatable="yes" 
context="bulletandposition|beforeafter">Size</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -970,32 +695,290 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkFrame" id="positions">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">none</property>
+                    <child>
+                      <object class="GtkAlignment" id="alignment5">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="top_padding">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">6</property>
+                            <property name="column_spacing">12</property>
+                            <child>
+                              <object class="GtkLabel" id="indent">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" 
context="bulletandposition|indent">Indent:</property>
+                                <property name="use_underline">True</property>
+                                <property 
name="mnemonic_widget">indentmf</property>
+                                <property name="xalign">0</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="numberingwidth">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" 
context="bulletandposition|numberingwidth">Width:</property>
+                                <property name="use_underline">True</property>
+                                <property 
name="mnemonic_widget">numberingwidthmf</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="GtkSpinButton" id="indentmf">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="activates_default">True</property>
+                                <property name="text" translatable="yes" 
context="bulletandposition|indentmf">0,00</property>
+                                <property name="digits">2</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSpinButton" 
id="numberingwidthmf">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="activates_default">True</property>
+                                <property name="text" translatable="yes" 
context="bulletandposition|numberingwidthmf">0,00</property>
+                                <property name="digits">2</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="relative">
+                                <property name="label" translatable="yes" 
context="bulletandposition|relative">Relati_ve</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="receives_default">False</property>
+                                <property name="valign">center</property>
+                                <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">2</property>
+                                <property name="top_attach">0</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkGrid" id="alignmentgr">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="row_spacing">6</property>
+                                <property name="column_spacing">12</property>
+                                <child>
+                                  <object class="GtkToggleButton" id="center">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="receives_default">True</property>
+                                    <property name="image">image2</property>
+                                    <property 
name="always_show_image">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="top_attach">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkToggleButton" id="left">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="receives_default">True</property>
+                                    <property name="image">image1</property>
+                                    <property 
name="always_show_image">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">0</property>
+                                    <property name="top_attach">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkToggleButton" id="right">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="receives_default">True</property>
+                                    <property name="image">image3</property>
+                                    <property 
name="always_show_image">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="top_attach">0</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">2</property>
+                                <property name="width">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="ALlabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes" 
context="bulletandposition|ALlabel">Alignment:</property>
+                                <property name="xalign">0</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="position">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes" 
context="bulletandposition|position">Position</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkFrame" id="scope">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">none</property>
+                    <child>
+                      <object class="GtkAlignment" id="alignment7">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="top_padding">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">6</property>
+                            <property name="column_spacing">12</property>
+                            <child>
+                              <object class="GtkRadioButton" id="sliderb">
+                                <property name="label" translatable="yes" 
context="bulletandposition|sliderb">Slide</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="receives_default">False</property>
+                                <property name="xalign">0</property>
+                                <property name="active">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="selectionrb">
+                                <property name="label" translatable="yes" 
context="bulletandposition|selectionrb">Selection</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="receives_default">False</property>
+                                <property name="xalign">0</property>
+                                <property name="active">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">sliderb</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkToggleButton" 
id="applytomaster">
+                                <property name="label" translatable="yes" 
context="bulletandposition|applytomaster">Apply to Master</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property 
name="receives_default">True</property>
+                                <property name="valign">center</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="scopelb">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes" 
context="bulletandposition|scopelb">Scope</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
-                <property name="expand">True</property>
+                <property name="expand">False</property>
                 <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkFrame" id="frame3">
-                <property name="height_request">440</property>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="valign">start</property>
                 <property name="label_xalign">0</property>
                 <property name="shadow_type">none</property>
                 <child>
                   <object class="GtkAlignment">
-                    <property name="width_request">150</property>
+                    <property name="width_request">170</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
                       <object class="GtkScrolledWindow">
-                        <property name="width_request">150</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="shadow_type">in</property>
@@ -1035,7 +1018,7 @@
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
+            <property name="expand">True</property>
             <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
@@ -1049,4 +1032,37 @@
       <action-widget response="-11">help</action-widget>
     </action-widgets>
   </object>
+  <object class="GtkSizeGroup" id="sizegroupLabels">
+    <widgets>
+      <widget name="label4"/>
+      <widget name="startatft"/>
+      <widget name="bulletft"/>
+      <widget name="colorft"/>
+      <widget name="relsizeft"/>
+      <widget name="prefixft"/>
+      <widget name="widthft"/>
+      <widget name="heightft"/>
+      <widget name="indent"/>
+      <widget name="numberingwidth"/>
+      <widget name="sliderb"/>
+      <widget name="selectionrb"/>
+    </widgets>
+  </object>
+  <object class="GtkSizeGroup" id="sizegroupwidget">
+    <widgets>
+      <widget name="widthmf"/>
+      <widget name="heightmf"/>
+      <widget name="relsize"/>
+    </widgets>
+  </object>
+  <object class="GtkSizeGroup" id="sizegroupwidget2">
+    <widgets>
+      <widget name="numfmtlb"/>
+      <widget name="startat"/>
+      <widget name="bitmap"/>
+      <widget name="color"/>
+      <widget name="after"/>
+      <widget name="alignmentgr"/>
+    </widgets>
+  </object>
 </interface>
commit a6e682faa612fdb2b669ceaae8c9c3f4964c6b29
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Fri Nov 1 11:31:11 2019 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sun Nov 3 11:14:44 2019 +0100

    find symbols that can be private
    
    update the script and make private standalone functions
    
    Change-Id: Icb26ce258107700c90f89ad4e0d3329d075a2eb1
    Reviewed-on: https://gerrit.libreoffice.org/81879
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/basic/inc/sbxbase.hxx b/basic/inc/sbxbase.hxx
index 8271214f45b4..30ab7357d686 100644
--- a/basic/inc/sbxbase.hxx
+++ b/basic/inc/sbxbase.hxx
@@ -51,7 +51,7 @@ struct SbxAppData
     ~SbxAppData();
 };
 
-BASIC_DLLPUBLIC SbxAppData& GetSbxData_Impl();
+SbxAppData& GetSbxData_Impl();
 
 #endif // INCLUDED_BASIC_INC_SBXBASE_HXX
 
diff --git a/basic/source/inc/sbintern.hxx b/basic/source/inc/sbintern.hxx
index ae976c8eb679..c788f2dc9312 100644
--- a/basic/source/inc/sbintern.hxx
+++ b/basic/source/inc/sbintern.hxx
@@ -110,7 +110,7 @@ struct SbiGlobals
 
 // utility macros and routines
 
-BASIC_DLLPUBLIC SbiGlobals* GetSbData();
+SbiGlobals* GetSbData();
 
 #endif
 
diff --git a/bin/find-can-be-private-symbols.py 
b/bin/find-can-be-private-symbols.py
index bd4d9511bbc2..baaba9e924ff 100755
--- a/bin/find-can-be-private-symbols.py
+++ b/bin/find-can-be-private-symbols.py
@@ -13,7 +13,7 @@ import re
 exported_symbols = set()
 imported_symbols = set()
 
-subprocess_find = subprocess.Popen("find ./instdir -name *.so", 
stdout=subprocess.PIPE, shell=True)
+subprocess_find = subprocess.Popen("find ./instdir -name *.so && find 
./workdir/LinkTarget/CppunitTest -name *.so", stdout=subprocess.PIPE, 
shell=True)
 with subprocess_find.stdout as txt:
     for line in txt:
         sharedlib = line.strip()
@@ -43,7 +43,7 @@ with subprocess_find.stdout as txt:
                 if len(tokens) < 7 or not(tokens[7].startswith("*UND*")): 
continue
                 sym = tokens[len(tokens)-1]
                 imported_symbols.add(sym)
-
+subprocess_find.terminate()
 
 # look for imported symbols in executables
 subprocess_find = subprocess.Popen("find ./instdir -name *.bin", 
stdout=subprocess.PIPE, shell=True)
@@ -59,12 +59,120 @@ with subprocess_find.stdout as txt:
                 line2 = line2.strip()
                 sym = line2.split(" ")[1]
                 imported_symbols.add(sym)
+subprocess_find.terminate()
 
 diff = exported_symbols - imported_symbols
 print("exported = " + str(len(exported_symbols)))
 print("imported = " + str(len(imported_symbols)))
 print("diff     = " + str(len(diff)))
-# todo process these with c++filt
-#for sym in diff:
-#    if "Sd" in sym:
-#        print sym
+
+# standalone functions that are exported but not imported
+unused_function_exports = set()
+classes_with_exported_symbols = set()
+classes_with_imported_symbols = set()
+
+for sym in exported_symbols:
+    filtered_sym = subprocess.check_output(["c++filt", sym]).strip()
+    if filtered_sym.startswith("non-virtual thunk to "): filtered_sym = 
filtered_sym[21:]
+    i = filtered_sym.find("(")
+    i = filtered_sym.rfind("::", 0, i)
+    if i != -1:
+        classname = filtered_sym[:i]
+        func = filtered_sym[i+2:]
+        # find classes where all of the exported symbols are not imported
+        classes_with_exported_symbols.add(classname)
+        if sym in imported_symbols: 
classes_with_imported_symbols.add(classname)
+    else:
+        package = ""
+        func = filtered_sym
+        # find standalone functions which are exported but not imported
+        if not(sym in imported_symbols): unused_function_exports.add(func)
+
+with open("bin/find-can-be-private-symbols.functions.results", "wt") as f:
+    for sym in sorted(unused_function_exports):
+        # Filter out most of the noise.
+        # No idea where these are coming from, but not our code.
+        if sym.startswith("CERT_"): continue
+        elif sym.startswith("DER_"): continue
+        elif sym.startswith("FORM_"): continue
+        elif sym.startswith("FPDF"): continue
+        elif sym.startswith("HASH_"): continue
+        elif sym.startswith("Hunspell_"): continue
+        elif sym.startswith("LL_"): continue
+        elif sym.startswith("LP_"): continue
+        elif sym.startswith("LU"): continue
+        elif sym.startswith("MIP"): continue
+        elif sym.startswith("MPS"): continue
+        elif sym.startswith("NSS"): continue
+        elif sym.startswith("NSC_"): continue
+        elif sym.startswith("PK11"): continue
+        elif sym.startswith("PL_"): continue
+        elif sym.startswith("PQ"): continue
+        elif sym.startswith("PBE_"): continue
+        elif sym.startswith("PORT_"): continue
+        elif sym.startswith("PRP_"): continue
+        elif sym.startswith("PR_"): continue
+        elif sym.startswith("PT_"): continue
+        elif sym.startswith("QS_"): continue
+        elif sym.startswith("REPORT_"): continue
+        elif sym.startswith("RSA_"): continue
+        elif sym.startswith("SEC"): continue
+        elif sym.startswith("SGN"): continue
+        elif sym.startswith("SOS"): continue
+        elif sym.startswith("SSL_"): continue
+        elif sym.startswith("VFY_"): continue
+        elif sym.startswith("_PR_"): continue
+        elif sym.startswith("_"): continue
+        elif sym.startswith("ber_"): continue
+        elif sym.startswith("bfp_"): continue
+        elif sym.startswith("ldap_"): continue
+        elif sym.startswith("ne_"): continue
+        elif sym.startswith("opj_"): continue
+        elif sym.startswith("pg_"): continue
+        elif sym.startswith("pq"): continue
+        elif sym.startswith("presolve_"): continue
+        elif sym.startswith("sqlite3_"): continue
+        # dynamically loaded
+        elif sym.endswith("get_implementation"): continue
+        elif sym.endswith("component_getFactory"): continue
+        elif sym == "CreateDialogFactory": continue
+        elif sym == "CreateUnoWrapper": continue
+        elif sym == "CreateWindow": continue
+        elif sym == "ExportDOC": continue
+        elif sym == "ExportPPT": continue
+        elif sym == "ExportRTF": continue
+        elif sym == "GetSaveWarningOfMSVBAStorage_ww8": continue
+        elif sym == "GetSpecialCharsForEdit": continue
+        elif sym.startswith("Import"): continue
+        elif sym.startswith("Java_com_sun_star_"): continue
+        elif sym.startswith("TestImport"): continue
+        elif sym.startswith("getAllCalendars_"): continue
+        elif sym.startswith("getAllCurrencies_"): continue
+        elif sym.startswith("getAllFormats"): continue
+        elif sym.startswith("getBreakIteratorRules_"): continue
+        elif sym.startswith("getCollationOptions_"): continue
+        elif sym.startswith("getCollatorImplementation_"): continue
+        elif sym.startswith("getContinuousNumberingLevels_"): continue
+        elif sym.startswith("getDateAcceptancePatterns_"): continue
+        elif sym.startswith("getForbiddenCharacters_"): continue
+        elif sym.startswith("getIndexAlgorithm_"): continue
+        elif sym.startswith("getLCInfo_"): continue
+        elif sym.startswith("getLocaleItem_"): continue
+        elif sym.startswith("getOutlineNumberingLevels_"): continue
+        elif sym.startswith("getReservedWords_"): continue
+        elif sym.startswith("getSTC_"): continue
+        elif sym.startswith("getSearchOptions_"): continue
+        elif sym.startswith("getTransliterations_"): continue
+        elif sym.startswith("getUnicodeScripts_"): continue
+        elif sym.startswith("lok_"): continue
+        # UDK API
+        elif sym.startswith("osl_"): continue
+        elif sym.startswith("rtl_"): continue
+        elif sym.startswith("typelib_"): continue
+        elif sym.startswith("typereg_"): continue
+        elif sym.startswith("uno_"): continue

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to