[Libreoffice-commits] core.git: sw/source sw/uiconfig vcl/source

Caolán McNamara caolanm at redhat.com
Fri Mar 2 20:50:30 UTC 2018


 sw/source/ui/dialog/swdlgfact.cxx          |   10 -
 sw/source/ui/dialog/swdlgfact.hxx          |    9 +
 sw/source/ui/table/convert.cxx             |  177 ++++++++++++-----------------
 sw/source/uibase/inc/convert.hxx           |   53 ++++----
 sw/uiconfig/swriter/ui/converttexttable.ui |   86 +++++++-------
 vcl/source/window/builder.cxx              |    2 
 6 files changed, 162 insertions(+), 175 deletions(-)

New commits:
commit 810cfc0106ae0b1874681f7a8c79c36186aefcca
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Mar 2 16:28:51 2018 +0000

    weld convert text-to-table/table-to-text dialog
    
    Change-Id: I81137c0fe0b0e243ebc5b836ac09448d746b2214
    Reviewed-on: https://gerrit.libreoffice.org/50644
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index ecb89281d7fd..a2999ec607dd 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -98,7 +98,10 @@ short AbstractSwBreakDlg_Impl::Execute()
     return m_xDlg->run();
 }
 IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl);
-IMPL_ABSTDLG_BASE(AbstractSwConvertTableDlg_Impl);
+short AbstractSwConvertTableDlg_Impl::Execute()
+{
+    return m_xDlg->run();
+}
 IMPL_ABSTDLG_BASE(AbstractSwInsertDBColAutoPilot_Impl);
 IMPL_ABSTDLG_BASE(AbstractDropDownFieldDialog_Impl);
 IMPL_ABSTDLG_BASE(AbstractSwLabDlg_Impl);
@@ -215,7 +218,7 @@ sal_uInt16 AbstractSwBreakDlg_Impl:: GetKind()
 void AbstractSwConvertTableDlg_Impl::GetValues( sal_Unicode& rDelim,SwInsertTableOptions& rInsTableFlags,
                                                 SwTableAutoFormat const*& prTAFormat)
 {
-    pDlg->GetValues(rDelim,rInsTableFlags, prTAFormat);
+    m_xDlg->GetValues(rDelim,rInsTableFlags, prTAFormat);
 }
 
 void AbstractSwInsertDBColAutoPilot_Impl::DataToDoc( const uno::Sequence< uno::Any >& rSelection,
@@ -702,8 +705,7 @@ VclPtr<SfxAbstractTabDialog>  SwAbstractDialogFactory_Impl::CreateSwCharDlg(vcl:
 
 VclPtr<AbstractSwConvertTableDlg> SwAbstractDialogFactory_Impl::CreateSwConvertTableDlg(SwView& rView, bool bToTable)
 {
-    VclPtr<SwConvertTableDlg> pDlg = VclPtr<SwConvertTableDlg>::Create(rView, bToTable);
-    return VclPtr<AbstractSwConvertTableDlg_Impl>::Create(pDlg);
+    return VclPtr<AbstractSwConvertTableDlg_Impl>::Create(new SwConvertTableDlg(rView, bToTable));
 }
 
 VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwCaptionDialog ( vcl::Window *pParent, SwView &rV)
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index becab7e73700..6c0418ecdf6d 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -149,7 +149,14 @@ private:
 
 class AbstractSwConvertTableDlg_Impl :  public AbstractSwConvertTableDlg
 {
-    DECL_ABSTDLG_BASE( AbstractSwConvertTableDlg_Impl,SwConvertTableDlg)
+protected:
+    std::unique_ptr<SwConvertTableDlg> m_xDlg;
+public:
+    explicit AbstractSwConvertTableDlg_Impl(SwConvertTableDlg* p)
+        : m_xDlg(p)
+    {
+    }
+    virtual short Execute() override;
     virtual void GetValues( sal_Unicode& rDelim,SwInsertTableOptions& rInsTableFlags,
                     SwTableAutoFormat const*& prTAFormat) override;
 };
diff --git a/sw/source/ui/table/convert.cxx b/sw/source/ui/table/convert.cxx
index 6b918a59beae..f6df42e9c9bd 100644
--- a/sw/source/ui/table/convert.cxx
+++ b/sw/source/ui/table/convert.cxx
@@ -46,21 +46,21 @@ void SwConvertTableDlg::GetValues(  sal_Unicode& rDelim,
                                     SwInsertTableOptions& rInsTableOpts,
                                     SwTableAutoFormat const*& prTAFormat )
 {
-    if( mpTabBtn->IsChecked() )
+    if (m_xTabBtn->get_active())
     {
         //0x0b mustn't be set when re-converting table into text
-        bIsKeepColumn = !mpKeepColumn->IsVisible() || mpKeepColumn->IsChecked();
+        bIsKeepColumn = !m_xKeepColumn->get_visible() || m_xKeepColumn->get_active();
         rDelim = bIsKeepColumn ? 0x09 : 0x0b;
         nSaveButtonState = 0;
     }
-    else if( mpSemiBtn->IsChecked() )
+    else if (m_xSemiBtn->get_active())
     {
         rDelim = ';';
         nSaveButtonState = 1;
     }
-    else if( mpOtherBtn->IsChecked() && !mpOtherEd->GetText().isEmpty() )
+    else if (m_xOtherBtn->get_active() && !m_xOtherEd->get_text().isEmpty())
     {
-        uOther = mpOtherEd->GetText()[0];
+        uOther = m_xOtherEd->get_text()[0];
         rDelim = uOther;
         nSaveButtonState = 3;
     }
@@ -68,7 +68,7 @@ void SwConvertTableDlg::GetValues(  sal_Unicode& rDelim,
     {
         nSaveButtonState = 2;
         rDelim = cParaDelim;
-        if(mpOtherBtn->IsChecked())
+        if (m_xOtherBtn->get_active())
         {
             nSaveButtonState = 3;
             uOther = 0;
@@ -76,15 +76,15 @@ void SwConvertTableDlg::GetValues(  sal_Unicode& rDelim,
     }
 
     sal_uInt16 nInsMode = 0;
-    if (mpBorderCB->IsChecked())
+    if (m_xBorderCB->get_active())
         nInsMode |= tabopts::DEFAULT_BORDER;
-    if (mpHeaderCB->IsChecked())
+    if (m_xHeaderCB->get_active())
         nInsMode |= tabopts::HEADLINE;
-    if (mpRepeatHeaderCB->IsEnabled() && mpRepeatHeaderCB->IsChecked())
-        rInsTableOpts.mnRowsToRepeat = sal_uInt16( mpRepeatHeaderNF->GetValue() );
+    if (m_xRepeatHeaderCB->get_sensitive() && m_xRepeatHeaderCB->get_active())
+        rInsTableOpts.mnRowsToRepeat = m_xRepeatHeaderNF->get_value();
     else
         rInsTableOpts.mnRowsToRepeat = 0;
-    if (!mpDontSplitCB->IsChecked())
+    if (!m_xDontSplitCB->get_active())
         nInsMode |= tabopts::SPLIT_LAYOUT;
 
     if (mxTAutoFormat)
@@ -93,65 +93,69 @@ void SwConvertTableDlg::GetValues(  sal_Unicode& rDelim,
     rInsTableOpts.mnInsMode = nInsMode;
 }
 
-SwConvertTableDlg::SwConvertTableDlg( SwView& rView, bool bToTable )
-    : SfxModalDialog(&rView.GetViewFrame()->GetWindow(), "ConvertTextTableDialog", "modules/swriter/ui/converttexttable.ui" )
+SwConvertTableDlg::SwConvertTableDlg(SwView& rView, bool bToTable)
+    : m_xBuilder(Application::CreateBuilder(rView.GetViewFrame()->GetWindow().GetFrameWeld(), "modules/swriter/ui/converttexttable.ui"))
+    , m_xDialog(m_xBuilder->weld_dialog("ConvertTextTableDialog"))
+    , m_xTabBtn(m_xBuilder->weld_radio_button("tabs"))
+    , m_xSemiBtn(m_xBuilder->weld_radio_button("semicolons"))
+    , m_xParaBtn(m_xBuilder->weld_radio_button("paragraph"))
+    , m_xOtherBtn(m_xBuilder->weld_radio_button("other"))
+    , m_xOtherEd(m_xBuilder->weld_entry("othered"))
+    , m_xKeepColumn(m_xBuilder->weld_check_button("keepcolumn"))
+    , m_xOptions(m_xBuilder->weld_container("options"))
+    , m_xHeaderCB(m_xBuilder->weld_check_button("headingcb"))
+    , m_xRepeatHeaderCB(m_xBuilder->weld_check_button("repeatheading"))
+    , m_xRepeatRows(m_xBuilder->weld_container("repeatrows"))
+    , m_xRepeatHeaderNF(m_xBuilder->weld_spin_button("repeatheadersb"))
+    , m_xDontSplitCB(m_xBuilder->weld_check_button("dontsplitcb"))
+    , m_xBorderCB(m_xBuilder->weld_check_button("bordercb"))
+    , m_xAutoFormatBtn(m_xBuilder->weld_button("autofmt"))
     , sConvertTextTable(SwResId(STR_CONVERT_TEXT_TABLE))
     , pShell(&rView.GetWrtShell())
 {
-    get(mpTabBtn, "tabs");
-    get(mpSemiBtn, "semicolons");
-    get(mpParaBtn, "paragraph");
-    get(mpOtherBtn, "other");
-    get(mpOtherEd, "othered");
-    get(mpKeepColumn, "keepcolumn");
-    get(mpOptions, "options");
-    get(mpHeaderCB, "headingcb");
-    get(mpRepeatHeaderCB, "repeatheading");
-    get(mpRepeatRows, "repeatrows");
-    get(mpRepeatHeaderNF, "repeatheadersb");
-    get(mpDontSplitCB, "dontsplitcb");
-    get(mpBorderCB, "bordercb");
-    get(mpAutoFormatBtn, "autofmt");
-
-    if(nSaveButtonState > -1)
+    if (nSaveButtonState > -1)
     {
         switch (nSaveButtonState)
         {
             case 0:
-                mpTabBtn->Check();
-                mpKeepColumn->Check(bIsKeepColumn);
-            break;
-            case 1: mpSemiBtn->Check();break;
-            case 2: mpParaBtn->Check();break;
+                m_xTabBtn->set_active(true);
+                m_xKeepColumn->set_active(bIsKeepColumn);
+                break;
+            case 1:
+                m_xSemiBtn->set_active(true);
+                break;
+            case 2:
+                m_xParaBtn->set_active(true);
+                break;
             case 3:
-                mpOtherBtn->Check();
-                if(uOther)
-                    mpOtherEd->SetText(OUString(uOther));
+                m_xOtherBtn->set_active(true);
+                if (uOther)
+                    m_xOtherEd->set_text(OUString(uOther));
             break;
         }
 
     }
     if( bToTable )
     {
-        SetText( sConvertTextTable );
-        mpAutoFormatBtn->SetClickHdl(LINK(this, SwConvertTableDlg, AutoFormatHdl));
-        mpAutoFormatBtn->Show();
-        mpKeepColumn->Show();
-        mpKeepColumn->Enable( mpTabBtn->IsChecked() );
+        m_xDialog->set_title(sConvertTextTable);
+        m_xAutoFormatBtn->connect_clicked(LINK(this, SwConvertTableDlg, AutoFormatHdl));
+        m_xAutoFormatBtn->show();
+        m_xKeepColumn->show();
+        m_xKeepColumn->set_sensitive(m_xTabBtn->get_active());
     }
     else
     {
         //hide insert options
-        mpOptions->Hide();
+        m_xOptions->hide();
     }
-    mpKeepColumn->SaveValue();
+    m_xKeepColumn->save_state();
 
-    Link<Button*,void> aLk( LINK(this, SwConvertTableDlg, BtnHdl) );
-    mpTabBtn->SetClickHdl( aLk );
-    mpSemiBtn->SetClickHdl( aLk );
-    mpParaBtn->SetClickHdl( aLk );
-    mpOtherBtn->SetClickHdl(aLk );
-    mpOtherEd->Enable( mpOtherBtn->IsChecked() );
+    Link<weld::Button&,void> aLk( LINK(this, SwConvertTableDlg, BtnHdl) );
+    m_xTabBtn->connect_clicked(aLk);
+    m_xSemiBtn->connect_clicked(aLk);
+    m_xParaBtn->connect_clicked(aLk);
+    m_xOtherBtn->connect_clicked(aLk);
+    m_xOtherEd->set_sensitive(m_xOtherBtn->get_active());
 
     const SwModuleOptions* pModOpt = SW_MOD()->GetModuleConfig();
 
@@ -160,77 +164,52 @@ SwConvertTableDlg::SwConvertTableDlg( SwView& rView, bool bToTable )
     SwInsertTableOptions aInsOpts = pModOpt->GetInsTableFlags(bHTMLMode);
     sal_uInt16 nInsTableFlags = aInsOpts.mnInsMode;
 
-    mpHeaderCB->Check( 0 != (nInsTableFlags & tabopts::HEADLINE) );
-    mpRepeatHeaderCB->Check(aInsOpts.mnRowsToRepeat > 0);
-    mpDontSplitCB->Check( 0 == (nInsTableFlags & tabopts::SPLIT_LAYOUT));
-    mpBorderCB->Check( 0!= (nInsTableFlags & tabopts::DEFAULT_BORDER) );
-
-    mpHeaderCB->SetClickHdl(LINK(this, SwConvertTableDlg, CheckBoxHdl));
-    mpRepeatHeaderCB->SetClickHdl(LINK(this, SwConvertTableDlg, ReapeatHeaderCheckBoxHdl));
-    ReapeatHeaderCheckBoxHdl(nullptr);
-    CheckBoxHdl(nullptr);
-}
+    m_xHeaderCB->set_active(0 != (nInsTableFlags & tabopts::HEADLINE));
+    m_xRepeatHeaderCB->set_active(aInsOpts.mnRowsToRepeat > 0);
+    m_xDontSplitCB->set_active(0 == (nInsTableFlags & tabopts::SPLIT_LAYOUT));
+    m_xBorderCB->set_active(0!= (nInsTableFlags & tabopts::DEFAULT_BORDER));
 
-SwConvertTableDlg:: ~SwConvertTableDlg()
-{
-    disposeOnce();
-}
-
-void SwConvertTableDlg::dispose()
-{
-    mxTAutoFormat.reset();
-    mpTabBtn.clear();
-    mpSemiBtn.clear();
-    mpParaBtn.clear();
-    mpOtherBtn.clear();
-    mpOtherEd.clear();
-    mpKeepColumn.clear();
-    mpOptions.clear();
-    mpHeaderCB.clear();
-    mpRepeatHeaderCB.clear();
-    mpRepeatRows.clear();
-    mpRepeatHeaderNF.clear();
-    mpDontSplitCB.clear();
-    mpBorderCB.clear();
-    mpAutoFormatBtn.clear();
-    SfxModalDialog::dispose();
+    m_xHeaderCB->connect_clicked(LINK(this, SwConvertTableDlg, CheckBoxHdl));
+    m_xRepeatHeaderCB->connect_clicked(LINK(this, SwConvertTableDlg, ReapeatHeaderCheckBoxHdl));
+    ReapeatHeaderCheckBoxHdl(*m_xRepeatHeaderCB);
+    CheckBoxHdl(*m_xHeaderCB);
 }
 
-IMPL_LINK( SwConvertTableDlg, AutoFormatHdl, Button*, pButton, void )
+IMPL_LINK_NOARG(SwConvertTableDlg, AutoFormatHdl, weld::Button&, void)
 {
     SwAbstractDialogFactory* pFact = swui::GetFactory();
     OSL_ENSURE(pFact, "SwAbstractDialogFactory fail!");
 
-    ScopedVclPtr<AbstractSwAutoFormatDlg> pDlg(pFact->CreateSwAutoFormatDlg(pButton->GetFrameWeld(), pShell, false, mxTAutoFormat.get()));
+    ScopedVclPtr<AbstractSwAutoFormatDlg> pDlg(pFact->CreateSwAutoFormatDlg(m_xDialog.get(), pShell, false, mxTAutoFormat.get()));
     OSL_ENSURE(pDlg, "Dialog creation failed!");
     if (RET_OK == pDlg->Execute())
         mxTAutoFormat.reset(pDlg->FillAutoFormatOfIndex());
 }
 
-IMPL_LINK( SwConvertTableDlg, BtnHdl, Button*, pButton, void )
+IMPL_LINK(SwConvertTableDlg, BtnHdl, weld::Button&, rButton, void)
 {
-    if( pButton == mpTabBtn )
-        mpKeepColumn->SetState( mpKeepColumn->GetSavedValue() );
+    if (&rButton == m_xTabBtn.get())
+        m_xKeepColumn->set_state(m_xKeepColumn->get_saved_state());
     else
     {
-        if( mpKeepColumn->IsEnabled() )
-            mpKeepColumn->SaveValue();
-        mpKeepColumn->Check();
+        if (m_xKeepColumn->get_sensitive())
+            m_xKeepColumn->save_state();
+        m_xKeepColumn->set_active(true);
     }
-    mpKeepColumn->Enable( mpTabBtn->IsChecked() );
-    mpOtherEd->Enable( mpOtherBtn->IsChecked() );
+    m_xKeepColumn->set_sensitive(m_xTabBtn->get_active());
+    m_xOtherEd->set_sensitive(m_xOtherBtn->get_active());
 }
 
-IMPL_LINK_NOARG(SwConvertTableDlg, CheckBoxHdl, Button*, void)
+IMPL_LINK_NOARG(SwConvertTableDlg, CheckBoxHdl, weld::Button&, void)
 {
-    mpRepeatHeaderCB->Enable(mpHeaderCB->IsChecked());
-    ReapeatHeaderCheckBoxHdl(nullptr);
+    m_xRepeatHeaderCB->set_sensitive(m_xHeaderCB->get_active());
+    ReapeatHeaderCheckBoxHdl(*m_xRepeatHeaderCB);
 }
 
-IMPL_LINK_NOARG(SwConvertTableDlg, ReapeatHeaderCheckBoxHdl, Button*, void)
+IMPL_LINK_NOARG(SwConvertTableDlg, ReapeatHeaderCheckBoxHdl, weld::Button&, void)
 {
-    bool bEnable = mpHeaderCB->IsChecked() && mpRepeatHeaderCB->IsChecked();
-    mpRepeatRows->Enable(bEnable);
+    bool bEnable = m_xHeaderCB->get_active() && m_xRepeatHeaderCB->get_active();
+    m_xRepeatRows->set_sensitive(bEnable);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/inc/convert.hxx b/sw/source/uibase/inc/convert.hxx
index 15fc35be7ab8..6ae9a8e699c9 100644
--- a/sw/source/uibase/inc/convert.hxx
+++ b/sw/source/uibase/inc/convert.hxx
@@ -19,52 +19,51 @@
 #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_CONVERT_HXX
 #define INCLUDED_SW_SOURCE_UIBASE_INC_CONVERT_HXX
 
-#include <vcl/fixed.hxx>
-#include <vcl/button.hxx>
-#include <vcl/edit.hxx>
-#include <sfx2/basedlgs.hxx>
+#include <vcl/weld.hxx>
 
 class VclContainer;
 class SwTableAutoFormat;
 class SwView;
 class SwWrtShell;
-class NumericField;
 struct SwInsertTableOptions;
 
-class SwConvertTableDlg: public SfxModalDialog
+class SwConvertTableDlg
 {
-    VclPtr<RadioButton>    mpTabBtn;
-    VclPtr<RadioButton>    mpSemiBtn;
-    VclPtr<RadioButton>    mpParaBtn;
-    VclPtr<RadioButton>    mpOtherBtn;
-    VclPtr<Edit>           mpOtherEd;
-    VclPtr<CheckBox>       mpKeepColumn;
+    std::unique_ptr<weld::Builder> m_xBuilder;
+    std::unique_ptr<weld::Dialog> m_xDialog;
 
-    VclPtr<VclContainer>   mpOptions;
+    std::unique_ptr<weld::RadioButton> m_xTabBtn;
+    std::unique_ptr<weld::RadioButton> m_xSemiBtn;
+    std::unique_ptr<weld::RadioButton> m_xParaBtn;
+    std::unique_ptr<weld::RadioButton> m_xOtherBtn;
+    std::unique_ptr<weld::Entry> m_xOtherEd;
+    std::unique_ptr<weld::CheckButton> m_xKeepColumn;
 
-    VclPtr<CheckBox>       mpHeaderCB;
-    VclPtr<CheckBox>       mpRepeatHeaderCB;
+    std::unique_ptr<weld::Container> m_xOptions;
 
-    VclPtr<VclContainer>   mpRepeatRows;
-    VclPtr<NumericField>   mpRepeatHeaderNF;
+    std::unique_ptr<weld::CheckButton> m_xHeaderCB;
+    std::unique_ptr<weld::CheckButton> m_xRepeatHeaderCB;
 
-    VclPtr<CheckBox>       mpDontSplitCB;
-    VclPtr<CheckBox>       mpBorderCB;
-    VclPtr<PushButton>     mpAutoFormatBtn;
+    std::unique_ptr<weld::Container> m_xRepeatRows;
+    std::unique_ptr<weld::SpinButton> m_xRepeatHeaderNF;
+
+    std::unique_ptr<weld::CheckButton> m_xDontSplitCB;
+    std::unique_ptr<weld::CheckButton> m_xBorderCB;
+    std::unique_ptr<weld::Button> m_xAutoFormatBtn;
 
     OUString        sConvertTextTable;
     std::unique_ptr<SwTableAutoFormat> mxTAutoFormat;
     SwWrtShell*     pShell;
 
-    DECL_LINK( AutoFormatHdl, Button*, void );
-    DECL_LINK( BtnHdl, Button*, void );
-    DECL_LINK( CheckBoxHdl, Button*, void );
-    DECL_LINK( ReapeatHeaderCheckBoxHdl, Button*, void );
+    DECL_LINK(AutoFormatHdl, weld::Button&, void);
+    DECL_LINK(BtnHdl, weld::Button&, void);
+    DECL_LINK(CheckBoxHdl, weld::Button&, void);
+    DECL_LINK(ReapeatHeaderCheckBoxHdl, weld::Button&, void);
 
 public:
-    SwConvertTableDlg( SwView& rView, bool bToTable );
-    virtual ~SwConvertTableDlg() override;
-    virtual void dispose() override;
+    SwConvertTableDlg(SwView& rView, bool bToTable);
+
+    short run() { return m_xDialog->run(); }
 
     void GetValues( sal_Unicode& rDelim,
                     SwInsertTableOptions& rInsTableOpts,
diff --git a/sw/uiconfig/swriter/ui/converttexttable.ui b/sw/uiconfig/swriter/ui/converttexttable.ui
index 03f0b1b0ecc0..1418ba60f376 100644
--- a/sw/uiconfig/swriter/ui/converttexttable.ui
+++ b/sw/uiconfig/swriter/ui/converttexttable.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
+<!-- Generated with glade 3.20.2 -->
 <interface domain="sw">
-  <requires lib="gtk+" version="3.0"/>
+  <requires lib="gtk+" version="3.20"/>
   <object class="GtkAdjustment" id="adjustment1">
     <property name="lower">1</property>
     <property name="upper">1000</property>
@@ -14,6 +14,8 @@
     <property name="border_width">6</property>
     <property name="title" translatable="yes" context="converttexttable|ConvertTextTableDialog">Convert Table to Text</property>
     <property name="modal">True</property>
+    <property name="default_width">0</property>
+    <property name="default_height">0</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
@@ -106,43 +108,19 @@
                         <property name="row_spacing">6</property>
                         <property name="column_spacing">12</property>
                         <child>
-                          <object class="GtkEntry" id="othered">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="invisible_char">●</property>
-                            <property name="width_chars">1</property>
-                            <property name="text" translatable="yes" context="converttexttable|othered">,</property>
-                            <accessibility>
-                              <relation type="labelled-by" target="other"/>
-                            </accessibility>
-                            <child internal-child="accessible">
-                              <object class="AtkObject" id="othered-atkobject">
-                                <property name="AtkObject::accessible-name" translatable="yes" context="converttexttable|othered-atkobject">Symbol</property>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="left_attach">2</property>
-                            <property name="top_attach">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkRadioButton" id="other">
-                            <property name="label" translatable="yes" context="converttexttable|other">Other:</property>
+                          <object class="GtkRadioButton" id="tabs">
+                            <property name="label" translatable="yes" context="converttexttable|tabs">Tabs</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
-                            <property name="valign">end</property>
+                            <property name="relief">half</property>
                             <property name="xalign">0</property>
+                            <property name="active">True</property>
                             <property name="draw_indicator">True</property>
-                            <property name="group">tabs</property>
-                            <accessibility>
-                              <relation type="label-for" target="othered"/>
-                            </accessibility>
                           </object>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="top_attach">1</property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
                           </packing>
                         </child>
                         <child>
@@ -151,7 +129,6 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
-                            <property name="valign">end</property>
                             <property name="xalign">0</property>
                             <property name="draw_indicator">True</property>
                             <property name="group">tabs</property>
@@ -168,7 +145,6 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
-                            <property name="valign">end</property>
                             <property name="xalign">0</property>
                             <property name="draw_indicator">True</property>
                             <property name="group">tabs</property>
@@ -179,21 +155,43 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkRadioButton" id="tabs">
-                            <property name="label" translatable="yes" context="converttexttable|tabs">Tabs</property>
+                          <object class="GtkRadioButton" id="other">
+                            <property name="label" translatable="yes" context="converttexttable|other">Other:</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="valign">end</property>
-                            <property name="relief">half</property>
                             <property name="xalign">0</property>
-                            <property name="active">True</property>
                             <property name="draw_indicator">True</property>
+                            <property name="group">tabs</property>
+                            <accessibility>
+                              <relation type="label-for" target="othered"/>
+                            </accessibility>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="top_attach">0</property>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkEntry" id="othered">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="max_length">1</property>
+                            <property name="width_chars">1</property>
+                            <property name="max_width_chars">1</property>
+                            <property name="text" translatable="yes" context="converttexttable|othered">,</property>
+                            <accessibility>
+                              <relation type="labelled-by" target="other"/>
+                            </accessibility>
+                            <child internal-child="accessible">
+                              <object class="AtkObject" id="othered-atkobject">
+                                <property name="AtkObject::accessible-name" translatable="yes" context="converttexttable|othered-atkobject">Symbol</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="top_attach">1</property>
                           </packing>
                         </child>
                         <child>
@@ -344,7 +342,6 @@
                               <object class="GtkSpinButton" id="repeatheadersb">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="invisible_char">•</property>
                                 <property name="shadow_type">out</property>
                                 <property name="progress_pulse_step">1</property>
                                 <property name="adjustment">adjustment1</property>
@@ -407,5 +404,8 @@
       <action-widget response="-6">cancel</action-widget>
       <action-widget response="-11">help</action-widget>
     </action-widgets>
+    <child>
+      <placeholder/>
+    </child>
   </object>
 </interface>
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 02345baa3de4..51ecf4f7a891 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -1797,7 +1797,7 @@ VclPtr<vcl::Window> VclBuilder::makeObject(vcl::Window *pParent, const OString &
             }
         }
     }
-    SAL_WARN_IF(!xWindow, "vcl.layout", "probably need to implement " << name << " or add a make" << name << " function");
+    SAL_INFO_IF(!xWindow, "vcl.layout", "probably need to implement " << name << " or add a make" << name << " function");
     if (xWindow)
     {
         xWindow->SetHelpId(m_sHelpRoot + id);


More information about the Libreoffice-commits mailing list