From 5f170e69728b8741ce3c0af1d140023577cc470b Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 14 May 2018 14:06:52 +0100 Subject: weld WPFTEncodingDialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit and pass in parent window for dialog Change-Id: Ibe9f576a74dfbbee3e568c8d3454440700cb0405 Reviewed-on: https://gerrit.libreoffice.org/54328 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- .../source/calc/MSWorksCalcImportFilter.cxx | 23 +++++++++++++--------- .../source/calc/MSWorksCalcImportFilter.hxx | 4 ++-- writerperfect/source/calc/MWAWCalcImportFilter.cxx | 2 +- writerperfect/source/calc/MWAWCalcImportFilter.hxx | 4 ++-- writerperfect/source/calc/NumbersImportFilter.cxx | 2 +- writerperfect/source/calc/NumbersImportFilter.hxx | 4 ++-- .../source/calc/StarOfficeCalcImportFilter.cxx | 3 ++- .../source/calc/StarOfficeCalcImportFilter.hxx | 4 ++-- 8 files changed, 26 insertions(+), 20 deletions(-) (limited to 'writerperfect/source/calc') diff --git a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx index 2b560e795a55..ee5cc3096d79 100644 --- a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx +++ b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx @@ -179,7 +179,8 @@ private: } //////////////////////////////////////////////////////////// -bool MSWorksCalcImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool MSWorksCalcImportFilter::doImportDocument(weld::Window* pParent, + librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, utl::MediaDescriptor&) { libwps::WPSKind kind = libwps::WPS_TEXT; @@ -226,14 +227,14 @@ bool MSWorksCalcImportFilter::doImportDocument(librevenge::RVNGInputStream& rInp try { - const ScopedVclPtrInstance pDlg(title, encoding); - if (pDlg->Execute() == RET_OK) + writerperfect::WPFTEncodingDialog aDlg(pParent, title, encoding); + if (aDlg.run() == RET_OK) { - if (!pDlg->GetEncoding().isEmpty()) - fileEncoding = pDlg->GetEncoding().toUtf8().getStr(); + if (!aDlg.GetEncoding().isEmpty()) + fileEncoding = aDlg.GetEncoding().toUtf8().getStr(); } // we can fail because we are in headless mode, the user has cancelled conversion, ... - else if (pDlg->hasUserCalledCancel()) + else if (aDlg.hasUserCalledCancel()) return false; } catch (...) @@ -248,7 +249,7 @@ bool MSWorksCalcImportFilter::doImportDocument(librevenge::RVNGInputStream& rInp // try to ask for a password try { - SfxPasswordDialog aPasswdDlg(nullptr); + SfxPasswordDialog aPasswdDlg(pParent); aPasswdDlg.SetMinLen(1); if (!aPasswdDlg.execute()) return false; @@ -275,6 +276,7 @@ MSWorksCalcImportFilter::filter(const css::uno::Sequence xInputStream; css::uno::Reference xContent; + css::uno::Reference xDialogParent; sal_Int32 nLength = rDescriptor.getLength(); const css::beans::PropertyValue* pValue = rDescriptor.getConstArray(); @@ -286,6 +288,8 @@ MSWorksCalcImportFilter::filter(const css::uno::Sequence>= xContent; else if (pValue[i].Name == "FileName" || pValue[i].Name == "URL") pValue[i].Value >>= sUrl; + else if (pValue[i].Name == "ParentWindow") + pValue[i].Value >>= xDialogParent; } if (!getXContext().is() || !xInputStream.is()) @@ -373,7 +377,8 @@ MSWorksCalcImportFilter::filter(const css::uno::Sequence