include/vcl/weld.hxx                      |    1 
 sc/inc/scabstdlg.hxx                      |   11 ++++---
 sc/qa/unit/screenshots/screenshots.cxx    |    4 ++
 sc/source/ui/attrdlg/scdlgfact.cxx        |   20 +++++++-------
 sc/source/ui/attrdlg/scdlgfact.hxx        |   20 ++++++++++----
 sc/source/ui/inc/strindlg.hxx             |   25 +++++++++--------
 sc/source/ui/miscdlgs/scuiautofmt.cxx     |   22 +++++----------
 sc/source/ui/miscdlgs/strindlg.cxx        |   42 +++++++++++-------------------
 sc/source/ui/view/tabvwshf.cxx            |    4 +-
 sc/uiconfig/scalc/ui/inputstringdialog.ui |   15 ++++++++--
 sw/source/ui/chrdlg/break.cxx             |    2 -
 sw/source/ui/dialog/swdlgfact.cxx         |    2 -
 sw/source/uibase/inc/break.hxx            |    2 -
 vcl/source/app/salvtables.cxx             |    5 +++
 vcl/unx/gtk3/gtk3gtkinst.cxx              |    5 +++
 15 files changed, 99 insertions(+), 81 deletions(-)

New commits:
commit b54046188c48b7031d0460ebab74125adc97f874
Author: Caolán McNamara <[email protected]>
Date:   Wed Feb 28 17:04:46 2018 +0000

    weld ScStringInputDlg to native dialog
    
    ScStringInputDlg and SwStringInputDlg do the same thing, but one uses the 
old
    name as the label and leaves the new name blank in the entry. The other puts
    the old name into the entry and autoselects it and uses a normal label. Both
    are used from the rename button of the shared autoformat dialog.
    
    Change-Id: I2ebf09a79f92c3f9020304e23e8907b67c06cd35
    Reviewed-on: https://gerrit.libreoffice.org/50525
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>

diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 4b7887e1c45a..eaecaf11bd5b 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -279,6 +279,7 @@ public:
     virtual void set_text(const OUString& rText) = 0;
     virtual OUString get_text() const = 0;
     virtual void set_width_chars(int nChars) = 0;
+    virtual void select_region(int nStartPos, int nEndPos) = 0;
 
     void connect_changed(const Link<Entry&, void>& rLink) { m_aChangeHdl = 
rLink; }
 
diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx
index 32757d2c9f2e..d90cc4ed9810 100644
--- a/sc/inc/scabstdlg.hxx
+++ b/sc/inc/scabstdlg.hxx
@@ -503,11 +503,12 @@ public:
                                                                 bool bEdit, 
bool bSheetProtected ) = 0;
     virtual VclPtr<AbstractScShowTabDlg> CreateScShowTabDlg(vcl::Window* 
pParent) = 0;
 
-    virtual VclPtr<AbstractScStringInputDlg> CreateScStringInputDlg (  
vcl::Window* pParent,
-                                                                const 
OUString& rTitle,
-                                                                const 
OUString& rEditTitle,
-                                                                const 
OUString& rDefault,
-                                                                const OString& 
sHelpId, const OString& sEditHelpId ) = 0;
+    virtual VclPtr<AbstractScStringInputDlg> 
CreateScStringInputDlg(weld::Window* pParent,
+                                                                    const 
OUString& rTitle,
+                                                                    const 
OUString& rEditTitle,
+                                                                    const 
OUString& rDefault,
+                                                                    const 
OString& rHelpId,
+                                                                    const 
OString& rEditHelpId) = 0;
 
     virtual VclPtr<AbstractScTabBgColorDlg> CreateScTabBgColorDlg (  
vcl::Window* pParent,
                                                                 const 
OUString& rTitle, //Dialog Title
diff --git a/sc/qa/unit/screenshots/screenshots.cxx 
b/sc/qa/unit/screenshots/screenshots.cxx
index 2c32d2c75874..8d01ad5c9cfa 100644
--- a/sc/qa/unit/screenshots/screenshots.cxx
+++ b/sc/qa/unit/screenshots/screenshots.cxx
@@ -26,6 +26,7 @@
 #include <svl/srchitem.hxx>
 #include <svx/numinf.hxx>
 #include <vcl/pngwrite.hxx>
+#include <vcl/weld.hxx>
 
 #include <tabvwsh.hxx>
 #include <docsh.hxx>
@@ -207,7 +208,8 @@ VclPtr<VclAbstractDialog> 
ScScreenshotTest::createDialogByID(sal_uInt32 nID)
         case 8: // "modules/scalc/ui/inputstringdialog.ui"
         {
             const OString aEmpty("");
-            pReturnDialog = 
mpFact->CreateScStringInputDlg(mpViewShell->GetDialogParent(),
+            vcl::Window* pWindow = mpViewShell->GetDialogParent();
+            pReturnDialog = mpFact->CreateScStringInputDlg(pWindow ? 
pWindow->GetFrameWeld() : nullptr,
                                 ScResId(SCSTR_APDTABLE), ScResId(SCSTR_NAME),
                                 aDefaultSheetName, aEmpty, aEmpty );
             break;
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx 
b/sc/source/ui/attrdlg/scdlgfact.cxx
index f1cb49ae299d..b263ca09cc94 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -105,7 +105,6 @@ IMPL_ABSTDLG_BASE(AbstractScDPShowDetailDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScNewScenarioDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScShowTabDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScSortWarningDlg_Impl);
-IMPL_ABSTDLG_BASE(AbstractScStringInputDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScTabBgColorDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScImportOptionsDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScTextImportOptionsDlg_Impl);
@@ -576,9 +575,14 @@ OUString 
AbstractScShowTabDlg_Impl::GetSelectedEntry(sal_Int32 nPos) const
     return pDlg->GetSelectedEntry(nPos);
 }
 
+short AbstractScStringInputDlg_Impl::Execute()
+{
+    return m_xDlg->run();
+}
+
 OUString AbstractScStringInputDlg_Impl::GetInputString() const
 {
-    return pDlg->GetInputString();
+    return m_xDlg->GetInputString();
 }
 
 void AbstractScTabBgColorDlg_Impl::GetSelectedColor( Color& rColor ) const
@@ -835,14 +839,12 @@ VclPtr<AbstractScShowTabDlg> 
ScAbstractDialogFactory_Impl::CreateScShowTabDlg(vc
     return VclPtr<AbstractScShowTabDlg_Impl>::Create( pDlg );
 }
 
-VclPtr<AbstractScStringInputDlg> 
ScAbstractDialogFactory_Impl::CreateScStringInputDlg (  vcl::Window* pParent,
-                                                                const 
OUString& rTitle,
-                                                                const 
OUString& rEditTitle,
-                                                                const 
OUString& rDefault,
-                                                                const OString& 
sHelpId, const OString& sEditHelpId )
+VclPtr<AbstractScStringInputDlg> 
ScAbstractDialogFactory_Impl::CreateScStringInputDlg(weld::Window* pParent,
+        const OUString& rTitle, const OUString& rEditTitle, const OUString& 
rDefault, const OString& rHelpId,
+        const OString& rEditHelpId)
 {
-    VclPtr<ScStringInputDlg> pDlg = VclPtr<ScStringInputDlg>::Create( pParent, 
rTitle, rEditTitle, rDefault, sHelpId, sEditHelpId );
-    return VclPtr<AbstractScStringInputDlg_Impl>::Create( pDlg );
+    return VclPtr<AbstractScStringInputDlg_Impl>::Create(new 
ScStringInputDlg(pParent, rTitle, rEditTitle,
+                rDefault, rHelpId, rEditHelpId));
 }
 
 VclPtr<AbstractScTabBgColorDlg> 
ScAbstractDialogFactory_Impl::CreateScTabBgColorDlg(
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx 
b/sc/source/ui/attrdlg/scdlgfact.hxx
index a139d7fd70aa..33d471fec7af 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -352,7 +352,14 @@ class AbstractScSortWarningDlg_Impl : public 
AbstractScSortWarningDlg
 
 class AbstractScStringInputDlg_Impl :  public AbstractScStringInputDlg
 {
-    DECL_ABSTDLG_BASE( AbstractScStringInputDlg_Impl, ScStringInputDlg )
+protected:
+    std::unique_ptr<ScStringInputDlg> m_xDlg;
+public:
+    explicit AbstractScStringInputDlg_Impl(ScStringInputDlg* p)
+        : m_xDlg(p)
+    {
+    }
+    virtual short Execute() override;
     virtual OUString GetInputString() const override;
 };
 
@@ -501,11 +508,12 @@ public:
                                                                 bool bEdit, 
bool bSheetProtected ) override;
     virtual VclPtr<AbstractScShowTabDlg> CreateScShowTabDlg(vcl::Window* 
pParent) override;
 
-    virtual VclPtr<AbstractScStringInputDlg> CreateScStringInputDlg (  
vcl::Window* pParent,
-                                                                const 
OUString& rTitle,
-                                                                const 
OUString& rEditTitle,
-                                                                const 
OUString& rDefault,
-                                                                const OString& 
sHelpId, const OString& sEditHelpId ) override;
+    virtual VclPtr<AbstractScStringInputDlg> 
CreateScStringInputDlg(weld::Window* pParent,
+                                                                    const 
OUString& rTitle,
+                                                                    const 
OUString& rEditTitle,
+                                                                    const 
OUString& rDefault,
+                                                                    const 
OString& rHelpId,
+                                                                    const 
OString& rEditHelpId) override;
 
     virtual VclPtr<AbstractScTabBgColorDlg> CreateScTabBgColorDlg (  
vcl::Window* pParent,
                                                                 const 
OUString& rTitle, //Dialog Title
diff --git a/sc/source/ui/inc/strindlg.hxx b/sc/source/ui/inc/strindlg.hxx
index 94268fb4c3c5..22dd85049f47 100644
--- a/sc/source/ui/inc/strindlg.hxx
+++ b/sc/source/ui/inc/strindlg.hxx
@@ -20,28 +20,29 @@
 #ifndef INCLUDED_SC_SOURCE_UI_INC_STRINDLG_HXX
 #define INCLUDED_SC_SOURCE_UI_INC_STRINDLG_HXX
 
-#include <vcl/dialog.hxx>
-#include <vcl/edit.hxx>
-#include <vcl/fixed.hxx>
+#include <vcl/weld.hxx>
 
-class ScStringInputDlg : public ModalDialog
+class ScStringInputDlg
 {
+private:
+    std::unique_ptr<weld::Builder> m_xBuilder;
+    std::unique_ptr<weld::Dialog> m_xDialog;
+    std::unique_ptr<weld::Label> m_xLabel;
+    std::unique_ptr<weld::Entry> m_xEdInput;
+
 public:
-    ScStringInputDlg(vcl::Window* pParent,
+    ScStringInputDlg(weld::Window* pParent,
         const OUString& rTitle,
         const OUString& rEditTitle,
         const OUString& rDefault,
         const OString& sHelpId, const OString& sEditHelpId);
-    virtual ~ScStringInputDlg() override;
-    virtual void dispose() override;
+
+    short run() { return m_xDialog->run(); }
+
     OUString GetInputString() const
     {
-        return m_pEdInput->GetText();
+        return m_xEdInput->get_text();
     }
-
-private:
-    VclPtr<FixedText> m_pFtEditTitle;
-    VclPtr<Edit>      m_pEdInput;
 };
 
 #endif // INCLUDED_SC_SOURCE_UI_INC_STRINDLG_HXX
diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx 
b/sc/source/ui/miscdlgs/scuiautofmt.cxx
index 57579606eaa0..6682fe385e16 100644
--- a/sc/source/ui/miscdlgs/scuiautofmt.cxx
+++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx
@@ -220,15 +220,12 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, AddHdl, Button*, void)
 
         while ( !bOk )
         {
-            VclPtrInstance<ScStringInputDlg> pDlg( this,
-                                                   aStrTitle,
-                                                   aStrLabel,
-                                                   aFormatName,
-                                                   HID_SC_ADD_AUTOFMT, 
HID_SC_AUTOFMT_NAME );
+            ScStringInputDlg aDlg(GetFrameWeld(), aStrTitle, aStrLabel, 
aFormatName,
+                                  HID_SC_ADD_AUTOFMT, HID_SC_AUTOFMT_NAME);
 
-            if ( pDlg->Execute() == RET_OK )
+            if (aDlg.run() == RET_OK)
             {
-                aFormatName = pDlg->GetInputString();
+                aFormatName = aDlg.GetInputString();
 
                 if ( !aFormatName.isEmpty() && aFormatName != aStrStandard && 
pFormat->find(aFormatName) == pFormat->end() )
                 {
@@ -326,15 +323,12 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, RenameHdl, Button*, void)
         OUString aFormatName = m_pLbFormat->GetSelectedEntry();
         OUString aEntry;
 
-        VclPtrInstance<ScStringInputDlg> pDlg( this,
-                                               aStrRename,
-                                               aStrLabel,
-                                               aFormatName,
-                                               HID_SC_REN_AFMT_DLG, 
HID_SC_REN_AFMT_NAME );
-        if( pDlg->Execute() == RET_OK )
+        ScStringInputDlg aDlg(GetFrameWeld(), aStrRename, aStrLabel, 
aFormatName,
+                              HID_SC_REN_AFMT_DLG, HID_SC_REN_AFMT_NAME);
+        if (aDlg.run() == RET_OK)
         {
             bool bFmtRenamed = false;
-            aFormatName = pDlg->GetInputString();
+            aFormatName = aDlg.GetInputString();
 
             if (!aFormatName.isEmpty())
             {
diff --git a/sc/source/ui/miscdlgs/strindlg.cxx 
b/sc/source/ui/miscdlgs/strindlg.cxx
index 145517ec599a..da9da0387e9a 100644
--- a/sc/source/ui/miscdlgs/strindlg.cxx
+++ b/sc/source/ui/miscdlgs/strindlg.cxx
@@ -21,34 +21,24 @@
 
 #include <strindlg.hxx>
 #include <scresid.hxx>
+#include <vcl/svapp.hxx>
 
-ScStringInputDlg::ScStringInputDlg( vcl::Window*         pParent,
-                                    const OUString&   rTitle,
-                                    const OUString&   rEditTitle,
-                                    const OUString&   rDefault,
-                                    const OString& sHelpId, const OString& 
sEditHelpId )
-    : ModalDialog(pParent, "InputStringDialog", 
"modules/scalc/ui/inputstringdialog.ui")
+ScStringInputDlg::ScStringInputDlg(weld::Window* pParent,
+                                   const OUString& rTitle,
+                                   const OUString& rEditTitle,
+                                   const OUString& rDefault,
+                                   const OString& rHelpId, const OString& 
rEditHelpId)
+    : m_xBuilder(Application::CreateBuilder(pParent, 
"modules/scalc/ui/inputstringdialog.ui"))
+    , m_xDialog(m_xBuilder->weld_dialog("InputStringDialog"))
+    , m_xLabel(m_xBuilder->weld_label("description_label"))
+    , m_xEdInput(m_xBuilder->weld_entry("name_entry"))
 {
-    SetHelpId( sHelpId );
-    SetText( rTitle );
-    get(m_pFtEditTitle, "description_label");
-    m_pFtEditTitle->SetText(rEditTitle);
-    get(m_pEdInput, "name_entry");
-    m_pEdInput->SetText( rDefault );
-    m_pEdInput->SetSelection(Selection(SELECTION_MIN, SELECTION_MAX));
-    m_pEdInput->SetHelpId( sEditHelpId );
-}
-
-ScStringInputDlg::~ScStringInputDlg()
-{
-    disposeOnce();
-}
-
-void ScStringInputDlg::dispose()
-{
-    m_pFtEditTitle.clear();
-    m_pEdInput.clear();
-    ModalDialog::dispose();
+    m_xLabel->set_label(rEditTitle);
+    m_xDialog->set_title(rTitle);
+    m_xDialog->set_help_id(rHelpId);
+    m_xEdInput->set_text(rDefault);
+    m_xEdInput->set_help_id(rEditHelpId);
+    m_xEdInput->select_region(0, -1);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 2549dbc8caad..ae3a8bc6ac88 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -389,8 +389,9 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
                     ScAbstractDialogFactory* pFact = 
ScAbstractDialogFactory::Create();
                     OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
 
+                    vcl::Window* pWin = GetDialogParent();
                     ScopedVclPtr<AbstractScStringInputDlg> 
pDlg(pFact->CreateScStringInputDlg(
-                        GetDialogParent(), aDlgTitle, ScResId(SCSTR_NAME),
+                        pWin ? pWin->GetFrameWeld() : nullptr, aDlgTitle, 
ScResId(SCSTR_NAME),
                         aName, 
GetStaticInterface()->GetSlot(nSlot)->GetCommand(),
                         pHelpId));
 
@@ -429,7 +430,6 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
                                 }
                                 else
                                 {
-                                    vcl::Window* pWin = GetDialogParent();
                                     std::unique_ptr<weld::MessageDialog> 
xBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
                                                                               
VclMessageType::Warning, VclButtonsType::Ok, aErrMsg));
                                     nRet = xBox->run();
diff --git a/sc/uiconfig/scalc/ui/inputstringdialog.ui 
b/sc/uiconfig/scalc/ui/inputstringdialog.ui
index c4356e9a1535..65cd93061b4f 100644
--- a/sc/uiconfig/scalc/ui/inputstringdialog.ui
+++ b/sc/uiconfig/scalc/ui/inputstringdialog.ui
@@ -1,10 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.2 -->
 <interface domain="sc">
   <requires lib="gtk+" version="3.0"/>
   <object class="GtkDialog" id="InputStringDialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</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">
@@ -79,10 +82,13 @@
               <object class="GtkLabel" id="description_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="xalign">0</property>
                 <property name="use_underline">True</property>
                 <property name="wrap">True</property>
                 <property name="mnemonic_widget">name_entry</property>
+                <property name="xalign">0</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -95,7 +101,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="invisible_char">•</property>
-                <property name="width_chars">24</property>
+                <property name="width_chars">30</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -117,5 +123,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/sw/source/ui/chrdlg/break.cxx b/sw/source/ui/chrdlg/break.cxx
index c6b61d34acce..5611fafbe0c5 100644
--- a/sw/source/ui/chrdlg/break.cxx
+++ b/sw/source/ui/chrdlg/break.cxx
@@ -36,7 +36,7 @@
 #include <strings.hrc>
 #include <SwStyleNameMapper.hxx>
 
-short SwBreakDlg::Execute()
+short SwBreakDlg::run()
 {
     short nRet = m_xDialog->run();
     if (nRet == RET_OK)
diff --git a/sw/source/ui/dialog/swdlgfact.cxx 
b/sw/source/ui/dialog/swdlgfact.cxx
index 95f0e34a99bc..47acb1cbef8c 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -95,7 +95,7 @@ IMPL_ABSTDLG_BASE(VclAbstractDialog_Impl);
 IMPL_ABSTDLG_BASE(AbstractSplitTableDialog_Impl);
 short AbstractSwBreakDlg_Impl::Execute()
 {
-    return m_xDlg->Execute();
+    return m_xDlg->run();
 }
 IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl);
 IMPL_ABSTDLG_BASE(AbstractSwConvertTableDlg_Impl);
diff --git a/sw/source/uibase/inc/break.hxx b/sw/source/uibase/inc/break.hxx
index 17ac6f34bbc9..58b5faecfe43 100644
--- a/sw/source/uibase/inc/break.hxx
+++ b/sw/source/uibase/inc/break.hxx
@@ -59,7 +59,7 @@ class SwBreakDlg
 
 public:
     SwBreakDlg(weld::Window *pParent, SwWrtShell &rSh);
-    short Execute();
+    short run();
     const OUString& GetTemplateName() const { return aTemplate; }
     sal_uInt16 GetKind() const { return nKind; }
     const ::boost::optional<sal_uInt16>&  GetPageNumber() const { return 
oPgNum; }
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index a2b5b13d15fc..8f8be139261a 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -757,6 +757,11 @@ public:
         m_xEntry->SetWidthInChars(nChars);
     }
 
+    virtual void select_region(int nStartPos, int nEndPos) override
+    {
+        m_xEntry->SetSelection(Selection(nStartPos, nEndPos < 0 ? 
SELECTION_MAX : nEndPos));
+    }
+
     virtual ~SalInstanceEntry() override
     {
         m_xEntry->SetTextFilter(nullptr);
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index c36895fffce1..5165ef70fd6e 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -1867,6 +1867,11 @@ public:
         gtk_entry_set_width_chars(m_pEntry, nChars);
     }
 
+    virtual void select_region(int nStartPos, int nEndPos) override
+    {
+        gtk_editable_select_region(GTK_EDITABLE(m_pEntry), nStartPos, nEndPos);
+    }
+
     virtual ~GtkInstanceEntry() override
     {
         g_signal_handler_disconnect(m_pEntry, m_nInsertTextSignalId);
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to