sc/inc/filter.hxx                         |    6 ++-
 sc/inc/scabstdlg.hxx                      |    1 
 sc/source/filter/html/htmlimp.cxx         |    9 +++--
 sc/source/filter/inc/eeimport.hxx         |    3 +
 sc/source/filter/inc/ftools.hxx           |    2 -
 sc/source/filter/inc/htmlimp.hxx          |    3 +
 sc/source/filter/rtf/eeimpars.cxx         |    7 +++-
 sc/source/ui/attrdlg/scdlgfact.cxx        |    5 +++
 sc/source/ui/attrdlg/scdlgfact.hxx        |    1 
 sc/source/ui/dbgui/textimportoptions.cxx  |   36 +++++++++++++++++++---
 sc/source/ui/docshell/docsh.cxx           |    9 +++--
 sc/source/ui/docshell/impex.cxx           |    3 +
 sc/source/ui/inc/textimportoptions.hxx    |    8 +++--
 sc/source/ui/unoobj/filtuno.cxx           |    2 +
 sc/source/ui/view/viewfun5.cxx            |    4 ++
 sc/uiconfig/scalc/ui/textimportoptions.ui |   47 ++++++++++++++++++++++++------
 16 files changed, 114 insertions(+), 32 deletions(-)

New commits:
commit 5ae709d8519dd6d0de265d516c6158ccbdf4882e
Author:     Laurent Balland <laurent.ball...@mailo.fr>
AuthorDate: Sun Jun 4 19:03:16 2023 +0200
Commit:     Laurent Balland <laurent.ball...@mailo.fr>
CommitDate: Tue Jul 25 21:44:36 2023 +0200

    follow tdf#154131 Treat also HMTL import
    
    Add Detect numbers in scientific notation option to HTML paste
    Still need some qa tests
    
    Change-Id: I553404a01ab2a61566b861b3c01d14bdc0c46668
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152591
    Reviewed-by: Eike Rathke <er...@redhat.com>
    Tested-by: Jenkins

diff --git a/sc/inc/filter.hxx b/sc/inc/filter.hxx
index 7a71b89c503e..6bceb74b69d0 100644
--- a/sc/inc/filter.hxx
+++ b/sc/inc/filter.hxx
@@ -50,7 +50,8 @@ class ScEEAbsImport {
     virtual ScRange GetRange() = 0;
     virtual void    WriteToDocument(
         bool bSizeColsRows = false, double nOutputFactor = 1.0,
-        SvNumberFormatter* pFormatter = nullptr, bool bConvertDate = true ) = 
0;
+        SvNumberFormatter* pFormatter = nullptr, bool bConvertDate = true,
+        bool bConvertScientific = true ) = 0;
 };
 
 class SAL_DLLPUBLIC_RTTI ScFormatFilterPlugin {
@@ -67,7 +68,8 @@ class SAL_DLLPUBLIC_RTTI ScFormatFilterPlugin {
                  const rtl_TextEncoding eSrc ) = 0;
     virtual ErrCode ScImportRTF( SvStream&, const OUString& rBaseURL, 
ScDocument*, ScRange& rRange ) = 0;
     virtual ErrCode ScImportHTML( SvStream&, const OUString& rBaseURL, 
ScDocument*, ScRange& rRange, double nOutputFactor,
-                                   bool bCalcWidthHeight, SvNumberFormatter* 
pFormatter, bool bConvertDate ) = 0;
+                                   bool bCalcWidthHeight, SvNumberFormatter* 
pFormatter, bool bConvertDate,
+                                   bool bConvertScientific ) = 0;
 
     // various import helpers
     virtual std::unique_ptr<ScEEAbsImport> CreateRTFImport( ScDocument* pDoc, 
const ScRange& rRange ) = 0;
diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx
index a06a435e7d5e..7a94af5f6fe9 100644
--- a/sc/inc/scabstdlg.hxx
+++ b/sc/inc/scabstdlg.hxx
@@ -394,6 +394,7 @@ protected:
 public:
     virtual LanguageType GetLanguageType() const = 0;
     virtual bool IsDateConversionSet() const = 0;
+    virtual bool IsScientificConversionSet() const = 0;
     virtual bool IsKeepAskingSet() const = 0;
 };
 
diff --git a/sc/source/filter/html/htmlimp.cxx 
b/sc/source/filter/html/htmlimp.cxx
index 12e98a9ef018..3168a02fc4eb 100644
--- a/sc/source/filter/html/htmlimp.cxx
+++ b/sc/source/filter/html/htmlimp.cxx
@@ -45,13 +45,13 @@
 
 ErrCode ScFormatFilterPluginImpl::ScImportHTML( SvStream &rStream, const 
OUString& rBaseURL, ScDocument *pDoc,
         ScRange& rRange, double nOutputFactor, bool bCalcWidthHeight, 
SvNumberFormatter* pFormatter,
-        bool bConvertDate )
+        bool bConvertDate, bool bConvertScientific )
 {
     ScHTMLImport aImp( pDoc, rBaseURL, rRange, bCalcWidthHeight );
     ErrCode nErr = aImp.Read( rStream, rBaseURL );
     ScRange aR = aImp.GetRange();
     rRange.aEnd = aR.aEnd;
-    aImp.WriteToDocument( true, nOutputFactor, pFormatter, bConvertDate );
+    aImp.WriteToDocument( true, nOutputFactor, pFormatter, bConvertDate, 
bConvertScientific );
     return nErr;
 }
 
@@ -112,9 +112,10 @@ void ScHTMLImport::InsertRangeName( ScDocument& rDoc, 
const OUString& rName, con
 }
 
 void ScHTMLImport::WriteToDocument(
-    bool bSizeColsRows, double nOutputFactor, SvNumberFormatter* pFormatter, 
bool bConvertDate )
+    bool bSizeColsRows, double nOutputFactor, SvNumberFormatter* pFormatter, 
bool bConvertDate,
+    bool bConvertScientific )
 {
-    ScEEImport::WriteToDocument( bSizeColsRows, nOutputFactor, pFormatter, 
bConvertDate );
+    ScEEImport::WriteToDocument( bSizeColsRows, nOutputFactor, pFormatter, 
bConvertDate, bConvertScientific );
 
     const ScHTMLParser* pParser = static_cast<ScHTMLParser*>(mpParser.get());
     const ScHTMLTable* pGlobTable = pParser->GetGlobalTable();
diff --git a/sc/source/filter/inc/eeimport.hxx 
b/sc/source/filter/inc/eeimport.hxx
index d4ddc31f40c2..0d0466eb8909 100644
--- a/sc/source/filter/inc/eeimport.hxx
+++ b/sc/source/filter/inc/eeimport.hxx
@@ -56,7 +56,8 @@ public:
     virtual void     WriteToDocument( bool bSizeColsRows = false,
                                       double nOutputFactor = 1.0,
                                       SvNumberFormatter* pFormatter = nullptr,
-                                      bool bConvertDate = true ) override;
+                                      bool bConvertDate = true,
+                                      bool bConvertScientific = true ) 
override;
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/inc/ftools.hxx b/sc/source/filter/inc/ftools.hxx
index 1366a5197511..5e5b8dd6c5b9 100644
--- a/sc/source/filter/inc/ftools.hxx
+++ b/sc/source/filter/inc/ftools.hxx
@@ -275,7 +275,7 @@ public:
     virtual ErrCode ScImportRTF( SvStream&, const OUString& rBaseURL, 
ScDocument*, ScRange& rRange ) override;
     virtual ErrCode ScImportHTML( SvStream&, const OUString& rBaseURL, 
ScDocument*, ScRange& rRange,
                                    double nOutputFactor, bool bCalcWidthHeight,
-                                   SvNumberFormatter* pFormatter, bool 
bConvertDate ) override;
+                                   SvNumberFormatter* pFormatter, bool 
bConvertDate, bool bConvertScientific ) override;
 
     virtual std::unique_ptr<ScEEAbsImport> CreateRTFImport( ScDocument* pDoc, 
const ScRange& rRange ) override;
     virtual std::unique_ptr<ScEEAbsImport> CreateHTMLImport( ScDocument* 
pDocP, const OUString& rBaseURL, const ScRange& rRange ) override;
diff --git a/sc/source/filter/inc/htmlimp.hxx b/sc/source/filter/inc/htmlimp.hxx
index 76acc44718b0..bff4b381cc2a 100644
--- a/sc/source/filter/inc/htmlimp.hxx
+++ b/sc/source/filter/inc/htmlimp.hxx
@@ -30,7 +30,8 @@ public:
     ScHTMLImport( ScDocument* pDoc, const OUString& rBaseURL, const ScRange& 
rRange, bool bCalcWidthHeight );
 
     virtual void        WriteToDocument( bool bSizeColsRows = false, double 
nOutputFactor = 1.0,
-                                         SvNumberFormatter* pFormatter = 
nullptr, bool bConvertDate = true ) override;
+                                         SvNumberFormatter* pFormatter = 
nullptr, bool bConvertDate = true,
+                                         bool bConvertScientific = true ) 
override;
 
     static OUString     GetHTMLRangeNameList( const ScDocument& rDoc, 
std::u16string_view rOrigName );
 };
diff --git a/sc/source/filter/rtf/eeimpars.cxx 
b/sc/source/filter/rtf/eeimpars.cxx
index e9ab9175ab8f..c8e81992c28f 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -112,7 +112,8 @@ namespace
     }
 }
 
-void ScEEImport::WriteToDocument( bool bSizeColsRows, double nOutputFactor, 
SvNumberFormatter* pFormatter, bool bConvertDate )
+void ScEEImport::WriteToDocument( bool bSizeColsRows, double nOutputFactor, 
SvNumberFormatter* pFormatter, bool bConvertDate,
+    bool bConvertScientific )
 {
     std::unique_ptr<ScProgress> pProgress( new ScProgress( 
mpDoc->GetDocumentShell(),
         ScResId( STR_LOAD_DOC ), mpParser->ListSize(), true ) );
@@ -395,10 +396,14 @@ void ScEEImport::WriteToDocument( bool bSizeColsRows, 
double nOutputFactor, SvNu
                     if (bTextFormat)
                     {
                         aParam.mbDetectNumberFormat = false;
+                        aParam.mbDetectScientificNumberFormat = 
bConvertScientific;
                         aParam.meSetTextNumFormat = ScSetStringParam::Always;
                     }
                     else
+                    {
                         aParam.mbDetectNumberFormat = bConvertDate;
+                        aParam.mbDetectScientificNumberFormat = 
bConvertScientific;
+                    }
 
                     mpDoc->SetString(nCol, nRow, nTab, aStr, &aParam);
                 }
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx 
b/sc/source/ui/attrdlg/scdlgfact.cxx
index 26db05f15bf2..050b6d957737 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -938,6 +938,11 @@ bool 
AbstractScTextImportOptionsDlg_Impl::IsDateConversionSet() const
     return m_xDlg->isDateConversionSet();
 }
 
+bool AbstractScTextImportOptionsDlg_Impl::IsScientificConversionSet() const
+{
+    return m_xDlg->isScientificConversionSet();
+}
+
 bool AbstractScTextImportOptionsDlg_Impl::IsKeepAskingSet() const
 {
     return m_xDlg->isKeepAskingSet();
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx 
b/sc/source/ui/attrdlg/scdlgfact.hxx
index 434b84df3d7c..5de1ca37834e 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -604,6 +604,7 @@ public:
     virtual short Execute() override;
     virtual LanguageType GetLanguageType() const override;
     virtual bool IsDateConversionSet() const override;
+    virtual bool IsScientificConversionSet() const override;
     virtual bool IsKeepAskingSet() const override;
 
     // screenshotting
diff --git a/sc/source/ui/dbgui/textimportoptions.cxx 
b/sc/source/ui/dbgui/textimportoptions.cxx
index 99ddc425da37..e13bdfbd4a45 100644
--- a/sc/source/ui/dbgui/textimportoptions.cxx
+++ b/sc/source/ui/dbgui/textimportoptions.cxx
@@ -30,8 +30,9 @@ ScTextImportOptionsDlg::ScTextImportOptionsDlg(weld::Window* 
pParent)
     , m_xBtnOk(m_xBuilder->weld_button("ok"))
     , m_xRbAutomatic(m_xBuilder->weld_radio_button("automatic"))
     , m_xRbCustom(m_xBuilder->weld_radio_button("custom"))
-    , m_xBtnConvertDate(m_xBuilder->weld_check_button("convertdata"))
-    , m_xBtnKeepAsking(m_xBuilder->weld_check_button("keepasking"))
+    , m_xCkbConvertDate(m_xBuilder->weld_check_button("convertdata"))
+    , 
m_xCkbConvertScientific(m_xBuilder->weld_check_button("convertscientificnotation"))
+    , m_xCkbKeepAsking(m_xBuilder->weld_check_button("keepasking"))
     , m_xLbCustomLang(new SvxLanguageBox(m_xBuilder->weld_combo_box("lang")))
 {
     init();
@@ -51,20 +52,27 @@ LanguageType ScTextImportOptionsDlg::getLanguageType() const
 
 bool ScTextImportOptionsDlg::isDateConversionSet() const
 {
-    return m_xBtnConvertDate->get_active();
+    return m_xCkbConvertDate->get_active();
+}
+
+bool ScTextImportOptionsDlg::isScientificConversionSet() const
+{
+    return m_xCkbConvertScientific->get_active();
 }
 
 bool ScTextImportOptionsDlg::isKeepAskingSet() const
 {
-    return m_xBtnKeepAsking->get_active();
+    return m_xCkbKeepAsking->get_active();
 }
 
 void ScTextImportOptionsDlg::init()
 {
     m_xBtnOk->connect_clicked(LINK(this, ScTextImportOptionsDlg, OKHdl));
-    Link<weld::Toggleable&,void> aLink = LINK(this, ScTextImportOptionsDlg, 
RadioHdl);
+    Link<weld::Toggleable&,void> aLink = LINK(this, ScTextImportOptionsDlg, 
RadioCheckHdl);
     m_xRbAutomatic->connect_toggled(aLink);
     m_xRbCustom->connect_toggled(aLink);
+    m_xCkbConvertDate->connect_toggled(aLink);
+    m_xCkbConvertScientific->connect_toggled(aLink);
 
     m_xRbAutomatic->set_active(true);
 
@@ -81,7 +89,7 @@ IMPL_LINK_NOARG(ScTextImportOptionsDlg, OKHdl, weld::Button&, 
void)
     m_xDialog->response(RET_OK);
 }
 
-IMPL_LINK(ScTextImportOptionsDlg, RadioHdl, weld::Toggleable&, rBtn, void)
+IMPL_LINK(ScTextImportOptionsDlg, RadioCheckHdl, weld::Toggleable&, rBtn, void)
 {
     if (&rBtn == m_xRbAutomatic.get())
     {
@@ -91,6 +99,22 @@ IMPL_LINK(ScTextImportOptionsDlg, RadioHdl, 
weld::Toggleable&, rBtn, void)
     {
         m_xLbCustomLang->set_sensitive(true);
     }
+    else if (&rBtn == m_xCkbConvertDate.get())
+    {
+        if (m_xCkbConvertDate->get_active())
+        {
+            m_xCkbConvertScientific->set_active(true);
+            m_xCkbConvertScientific->set_sensitive(false);
+        }
+        else
+        {
+            m_xCkbConvertScientific->set_sensitive(true);
+        }
+    }
+    else if (&rBtn == m_xCkbConvertScientific.get())
+    {
+        assert( !m_xCkbConvertDate->get_active() && 
"ScTextImportOptionsDlg::RadioCheckHdl - scientific option disabled if Detect 
numbers active" );
+    }
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 8ff1b90c3f90..6df765293f9b 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -1137,7 +1137,7 @@ bool ScDocShell::LoadFrom( SfxMedium& rMedium )
     return bRet;
 }
 
-static void lcl_parseHtmlFilterOption(const OUString& rOption, LanguageType& 
rLang, bool& rDateConvert)
+static void lcl_parseHtmlFilterOption(const OUString& rOption, LanguageType& 
rLang, bool& rDateConvert, bool& rScientificConvert)
 {
     OUStringBuffer aBuf;
     std::vector< OUString > aTokens;
@@ -1165,6 +1165,8 @@ static void lcl_parseHtmlFilterOption(const OUString& 
rOption, LanguageType& rLa
         rLang = static_cast<LanguageType>(aTokens[0].toInt32());
     if (aTokens.size() > 1)
         rDateConvert = static_cast<bool>(aTokens[1].toInt32());
+    if (aTokens.size() > 2)
+        rScientificConvert = static_cast<bool>(aTokens[2].toInt32());
 }
 
 bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
@@ -1581,13 +1583,14 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
                 {
                     LanguageType eLang = LANGUAGE_SYSTEM;
                     bool bDateConvert = false;
+                    bool bScientificConvert = true;
                     SfxItemSet*  pSet = rMedium.GetItemSet();
                     const SfxStringItem* pOptionsItem;
                     if ( pSet &&
                         (pOptionsItem = pSet->GetItemIfSet( 
SID_FILE_FILTEROPTIONS )) )
                     {
                         OUString aFilterOption = pOptionsItem->GetValue();
-                        lcl_parseHtmlFilterOption(aFilterOption, eLang, 
bDateConvert);
+                        lcl_parseHtmlFilterOption(aFilterOption, eLang, 
bDateConvert, bScientificConvert);
                     }
 
                     pInStream->Seek( 0 );
@@ -1596,7 +1599,7 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
                     CalcOutputFactor();
                     SvNumberFormatter aNumFormatter( 
comphelper::getProcessComponentContext(), eLang);
                     eError = ScFormatFilter::Get().ScImportHTML( *pInStream, 
rMedium.GetBaseURL(), m_pDocument.get(), aRange,
-                                            GetOutputFactor(), !bWebQuery, 
&aNumFormatter, bDateConvert );
+                                            GetOutputFactor(), !bWebQuery, 
&aNumFormatter, bDateConvert, bScientificConvert );
                     if (eError != ERRCODE_NONE)
                     {
                         if (!GetError())
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 1c552967f1ae..1e62c3338e24 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -2656,7 +2656,8 @@ bool ScImportExport::HTML2Doc( SvStream& rStrm, const 
OUString& rBaseURL )
             LanguageType eLang = pExtOptions->GetLanguage();
             SvNumberFormatter aNumFormatter( 
comphelper::getProcessComponentContext(), eLang);
             bool bSpecialNumber = pExtOptions->IsDetectSpecialNumber();
-            pImp->WriteToDocument(false, 1.0, &aNumFormatter, bSpecialNumber);
+            bool bScientificNumber = pExtOptions->IsDetectScientificNumber();
+            pImp->WriteToDocument(false, 1.0, &aNumFormatter, bSpecialNumber, 
bScientificNumber);
         }
         else
             // Regular import, with no options.
diff --git a/sc/source/ui/inc/textimportoptions.hxx 
b/sc/source/ui/inc/textimportoptions.hxx
index 35e2fffa1308..7a2cfb6df589 100644
--- a/sc/source/ui/inc/textimportoptions.hxx
+++ b/sc/source/ui/inc/textimportoptions.hxx
@@ -32,6 +32,7 @@ public:
 
     LanguageType getLanguageType() const;
     bool isDateConversionSet() const;
+    bool isScientificConversionSet() const;
     bool isKeepAskingSet() const;
 
 private:
@@ -41,12 +42,13 @@ private:
     std::unique_ptr<weld::Button> m_xBtnOk;
     std::unique_ptr<weld::RadioButton> m_xRbAutomatic;
     std::unique_ptr<weld::RadioButton> m_xRbCustom;
-    std::unique_ptr<weld::CheckButton> m_xBtnConvertDate;
-    std::unique_ptr<weld::CheckButton> m_xBtnKeepAsking;
+    std::unique_ptr<weld::CheckButton> m_xCkbConvertDate;
+    std::unique_ptr<weld::CheckButton> m_xCkbConvertScientific;
+    std::unique_ptr<weld::CheckButton> m_xCkbKeepAsking;
     std::unique_ptr<SvxLanguageBox> m_xLbCustomLang;
 
     DECL_LINK(OKHdl, weld::Button&, void);
-    DECL_LINK(RadioHdl, weld::Toggleable&, void);
+    DECL_LINK(RadioCheckHdl, weld::Toggleable&, void);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/unoobj/filtuno.cxx b/sc/source/ui/unoobj/filtuno.cxx
index 3831e9634622..f9474961cf3a 100644
--- a/sc/source/ui/unoobj/filtuno.cxx
+++ b/sc/source/ui/unoobj/filtuno.cxx
@@ -215,6 +215,8 @@ sal_Int16 SAL_CALL ScFilterOptionsObj::execute()
                 
aBuf.append(static_cast<sal_Int32>(static_cast<sal_uInt16>(eLang)));
                 aBuf.append(' ');
                 aBuf.append(pDlg->IsDateConversionSet() ? u'1' : u'0');
+                aBuf.append(' ');
+                aBuf.append(pDlg->IsScientificConversionSet() ? u'1' : u'0');
                 aFilterOptions = aBuf.makeStringAndClear();
                 nRet = ui::dialogs::ExecutableDialogResults::OK;
             }
diff --git a/sc/source/ui/view/viewfun5.cxx b/sc/source/ui/view/viewfun5.cxx
index f57eca004edf..7fb2bce1dc8a 100644
--- a/sc/source/ui/view/viewfun5.cxx
+++ b/sc/source/ui/view/viewfun5.cxx
@@ -337,6 +337,7 @@ bool ScViewFunc::PasteDataFormat( SotClipboardFormatId 
nFormatId,
                 static bool bHaveSavedPreferences = false;
                 static LanguageType eSavedLanguage;
                 static bool bSavedDateConversion;
+                static bool bSavedScientificConversion;
 
                 if (nFormatId == SotClipboardFormatId::HTML &&
                     !comphelper::LibreOfficeKit::isActive())
@@ -346,6 +347,7 @@ bool ScViewFunc::PasteDataFormat( SotClipboardFormatId 
nFormatId,
                         ScAsciiOptions aOptions;
                         aOptions.SetLanguage(eSavedLanguage);
                         aOptions.SetDetectSpecialNumber(bSavedDateConversion);
+                        
aOptions.SetDetectScientificNumber(bSavedScientificConversion);
                         pObj->SetExtOptions(aOptions);
                     }
                     else
@@ -363,11 +365,13 @@ bool ScViewFunc::PasteDataFormat( SotClipboardFormatId 
nFormatId,
                             ScAsciiOptions aOptions;
                             aOptions.SetLanguage(pDlg->GetLanguageType());
                             
aOptions.SetDetectSpecialNumber(pDlg->IsDateConversionSet());
+                            
aOptions.SetDetectScientificNumber(pDlg->IsScientificConversionSet());
                             if (!pDlg->IsKeepAskingSet())
                             {
                                 bHaveSavedPreferences = true;
                                 eSavedLanguage = pDlg->GetLanguageType();
                                 bSavedDateConversion = 
pDlg->IsDateConversionSet();
+                                bSavedScientificConversion = 
pDlg->IsScientificConversionSet();
                             }
                             pObj->SetExtOptions(aOptions);
                         }
diff --git a/sc/uiconfig/scalc/ui/textimportoptions.ui 
b/sc/uiconfig/scalc/ui/textimportoptions.ui
index 9afab394131f..2ba1641d324d 100644
--- a/sc/uiconfig/scalc/ui/textimportoptions.ui
+++ b/sc/uiconfig/scalc/ui/textimportoptions.ui
@@ -89,7 +89,7 @@
                 <property name="label_xalign">0</property>
                 <property name="shadow_type">none</property>
                 <child>
-                  <!-- n-columns=1 n-rows=1 -->
+                  <!-- n-columns=2 n-rows=2 -->
                   <object class="GtkGrid" id="grid1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
@@ -165,15 +165,44 @@
                 <property name="label_xalign">0</property>
                 <property name="shadow_type">none</property>
                 <child>
-                  <object class="GtkCheckButton" id="convertdata">
-                    <property name="label" translatable="yes" 
context="textimportoptions|convertdata">Detect special numbers (such as 
dates)</property>
+                  <!-- n-columns=1 n-rows=2 -->
+                  <object class="GtkGrid" id="grid2">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="draw_indicator">True</property>
-                    <property name="margin-start">12</property>
-                    <property name="margin-top">6</property>
+                    <property name="can-focus">False</property>
+                    <property name="row-spacing">6</property>
+                    <property name="column-spacing">6</property>
+                    <child>
+                      <object class="GtkCheckButton" id="convertdata">
+                        <property name="label" translatable="yes" 
context="textimportoptions|convertdata">Detect special numbers (such as 
dates)</property>
+                        <property name="visible">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="receives-default">False</property>
+                        <property name="margin-start">12</property>
+                        <property name="margin-top">6</property>
+                        <property name="use-underline">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="GtkCheckButton" 
id="convertscientificnotation">
+                        <property name="label" translatable="yes" 
context="textimportoptions|convertdata">Detect numbers with _scientific 
notation</property>
+                        <property name="visible">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="receives-default">False</property>
+                        <property name="margin-start">12</property>
+                        <property name="margin-top">6</property>
+                        <property name="use-underline">True</property>
+                        <property name="draw-indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">1</property>
+                      </packing>
+                    </child>
                   </object>
                 </child>
                 <child type="label">

Reply via email to