From cb490979ac238011efa27e0fb18fe62c13329d1f Mon Sep 17 00:00:00 2001 From: tobias Date: Thu, 3 Jun 2021 16:37:54 +0200 Subject: tdf#120574 Store Ascii Options for Later Saving store auto detected/configured ascii options in medium. use stored ascii settings for saving and text encoding settings dialog. Change-Id: I88e2d54923bfcf5d7c460ef3b89c36fc002c5097 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116678 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- sw/source/ui/dialog/ascfldlg.cxx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'sw/source/ui') diff --git a/sw/source/ui/dialog/ascfldlg.cxx b/sw/source/ui/dialog/ascfldlg.cxx index afd6f1892474..c46faff19fde 100644 --- a/sw/source/ui/dialog/ascfldlg.cxx +++ b/sw/source/ui/dialog/ascfldlg.cxx @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -77,6 +78,16 @@ SwAsciiFilterDlg::SwAsciiFilterDlg( weld::Window* pParent, SwDocShell& rDocSh, aUserItem >>= m_sExtraData; } + const SfxPoolItem* pItem; + OUString sAsciiOptions; + if( rDocSh.GetMedium() != nullptr && + rDocSh.GetMedium()->GetItemSet() != nullptr && + SfxItemState::SET == rDocSh.GetMedium()->GetItemSet()->GetItemState( + SID_FILE_FILTEROPTIONS, true, &pItem )) + { + sAsciiOptions = static_cast(pItem)->GetValue(); + } + const OUString sFindNm = OUString::createFromAscii( pStream ? sDialogImpExtraData : sDialogExpExtraData); @@ -87,11 +98,14 @@ SwAsciiFilterDlg::SwAsciiFilterDlg( weld::Window* pParent, SwDocShell& rDocSh, sal_Int32 nEnd = m_sExtraData.indexOf( cDialogExtraDataClose, nStt ); if( -1 != nEnd ) { - aOpt.ReadUserData(m_sExtraData.copy(nStt, nEnd - nStt)); + if(sAsciiOptions.isEmpty()) + sAsciiOptions = m_sExtraData.copy(nStt, nEnd - nStt); nStt -= nDialogExtraDataLen; m_sExtraData = m_sExtraData.replaceAt(nStt, nEnd - nStt + 1, ""); } } + if(!sAsciiOptions.isEmpty()) + aOpt.ReadUserData(sAsciiOptions); } // read the first chars and check the charset, (language - with L&H) -- cgit v1.2.3