summaryrefslogtreecommitdiff
path: root/sw/source/ui/dialog/ascfldlg.cxx
diff options
context:
space:
mode:
authortobias <tobias.schulz@hotmail.com>2021-06-03 16:37:54 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2021-06-04 23:45:05 +0200
commitcb490979ac238011efa27e0fb18fe62c13329d1f (patch)
tree5c2d6d099cd2a6fa6b5a2c2cb2bcabeca1241860 /sw/source/ui/dialog/ascfldlg.cxx
parent5bb06ea6931c0c72df6b0f164bac1c8d00c51bb6 (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/dialog/ascfldlg.cxx')
-rw-r--r--sw/source/ui/dialog/ascfldlg.cxx16
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)