diff options
author | tobias <tobias.schulz@hotmail.com> | 2021-06-03 16:37:54 +0200 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-06-04 23:45:05 +0200 |
commit | cb490979ac238011efa27e0fb18fe62c13329d1f (patch) | |
tree | 5c2d6d099cd2a6fa6b5a2c2cb2bcabeca1241860 /sw/source/ui | |
parent | 5bb06ea6931c0c72df6b0f164bac1c8d00c51bb6 (diff) |
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 <mike.kaganski@collabora.com>
Diffstat (limited to 'sw/source/ui')
-rw-r--r-- | sw/source/ui/dialog/ascfldlg.cxx | 16 |
1 files changed, 15 insertions, 1 deletions
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 <unotools/viewoptions.hxx> #include <sfx2/sfxsids.hrc> #include <sfx2/printer.hxx> +#include <sfx2/docfile.hxx> #include <svl/languageoptions.hxx> #include <editeng/langitem.hxx> #include <swtypes.hxx> @@ -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<const SfxStringItem*>(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) |