diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-05-14 14:06:52 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-05-15 13:05:35 +0200 |
commit | 5f170e69728b8741ce3c0af1d140023577cc470b (patch) | |
tree | 5bdde1373c80fa784bbaeef9ed3a4e952197741a /writerperfect/source/calc | |
parent | d15c240434d61422e718a08db7d184d86f2b5f15 (diff) |
weld WPFTEncodingDialog
and pass in parent window for dialog
Change-Id: Ibe9f576a74dfbbee3e568c8d3454440700cb0405
Reviewed-on: https://gerrit.libreoffice.org/54328
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'writerperfect/source/calc')
8 files changed, 26 insertions, 20 deletions
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<writerperfect::WPFTEncodingDialog> 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<css::beans::PropertyVal OUString sUrl; css::uno::Reference<css::io::XInputStream> xInputStream; css::uno::Reference<ucb::XContent> xContent; + css::uno::Reference<css::awt::XWindow> xDialogParent; sal_Int32 nLength = rDescriptor.getLength(); const css::beans::PropertyValue* pValue = rDescriptor.getConstArray(); @@ -286,6 +288,8 @@ MSWorksCalcImportFilter::filter(const css::uno::Sequence<css::beans::PropertyVal pValue[i].Value >>= 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<css::beans::PropertyVal = libwps::WPSDocument::isFileFormatSupported(&structuredInput, kind, creator, needEncoding); if (confidence != libwps::WPS_CONFIDENCE_NONE) - return doImportDocument(structuredInput, exporter, aDescriptor); + return doImportDocument(Application::GetFrameWeld(xDialogParent), + structuredInput, exporter, aDescriptor); } } } @@ -382,7 +387,7 @@ MSWorksCalcImportFilter::filter(const css::uno::Sequence<css::beans::PropertyVal { } - return doImportDocument(input, exporter, aDescriptor); + return doImportDocument(Application::GetFrameWeld(xDialogParent), input, exporter, aDescriptor); } bool MSWorksCalcImportFilter::doDetectFormat(librevenge::RVNGInputStream& rInput, diff --git a/writerperfect/source/calc/MSWorksCalcImportFilter.hxx b/writerperfect/source/calc/MSWorksCalcImportFilter.hxx index 4af9bee1f800..8b303a1737dd 100644 --- a/writerperfect/source/calc/MSWorksCalcImportFilter.hxx +++ b/writerperfect/source/calc/MSWorksCalcImportFilter.hxx @@ -40,8 +40,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdsGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdsGenerator& rGenerator) override; }; diff --git a/writerperfect/source/calc/MWAWCalcImportFilter.cxx b/writerperfect/source/calc/MWAWCalcImportFilter.cxx index 6981f70ffd45..c251fc1f2b42 100644 --- a/writerperfect/source/calc/MWAWCalcImportFilter.cxx +++ b/writerperfect/source/calc/MWAWCalcImportFilter.cxx @@ -39,7 +39,7 @@ static bool handleEmbeddedMWAWSpreadsheetObject(const librevenge::RVNGBinaryData return MWAWDocument::decodeSpreadsheet(data, &exporter); } -bool MWAWCalcImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool MWAWCalcImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, utl::MediaDescriptor&) { return MWAWDocument::MWAW_R_OK == MWAWDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/calc/MWAWCalcImportFilter.hxx b/writerperfect/source/calc/MWAWCalcImportFilter.hxx index 4b0b3727a9d3..6deb1ff4c1eb 100644 --- a/writerperfect/source/calc/MWAWCalcImportFilter.hxx +++ b/writerperfect/source/calc/MWAWCalcImportFilter.hxx @@ -35,8 +35,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdsGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdsGenerator& rGenerator) override; }; diff --git a/writerperfect/source/calc/NumbersImportFilter.cxx b/writerperfect/source/calc/NumbersImportFilter.cxx index 68f091768c0f..3841ca35e12b 100644 --- a/writerperfect/source/calc/NumbersImportFilter.cxx +++ b/writerperfect/source/calc/NumbersImportFilter.cxx @@ -22,7 +22,7 @@ using com::sun::star::uno::XInterface; using libetonyek::EtonyekDocument; -bool NumbersImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool NumbersImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, utl::MediaDescriptor&) { return EtonyekDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/calc/NumbersImportFilter.hxx b/writerperfect/source/calc/NumbersImportFilter.hxx index ccb28f7e0492..59ba90e25c15 100644 --- a/writerperfect/source/calc/NumbersImportFilter.hxx +++ b/writerperfect/source/calc/NumbersImportFilter.hxx @@ -34,8 +34,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdsGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdsGenerator& rGenerator) override; }; diff --git a/writerperfect/source/calc/StarOfficeCalcImportFilter.cxx b/writerperfect/source/calc/StarOfficeCalcImportFilter.cxx index 913636e31b02..a8505700c2ac 100644 --- a/writerperfect/source/calc/StarOfficeCalcImportFilter.cxx +++ b/writerperfect/source/calc/StarOfficeCalcImportFilter.cxx @@ -37,7 +37,8 @@ static bool handleEmbeddedSTOFFSpreadsheetObject(const librevenge::RVNGBinaryDat return STOFFDocument::decodeSpreadsheet(data, &exporter); } -bool StarOfficeCalcImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool StarOfficeCalcImportFilter::doImportDocument(weld::Window*, + librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, utl::MediaDescriptor&) { return STOFFDocument::STOFF_R_OK == STOFFDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/calc/StarOfficeCalcImportFilter.hxx b/writerperfect/source/calc/StarOfficeCalcImportFilter.hxx index d288f91f6b44..1120e5169e24 100644 --- a/writerperfect/source/calc/StarOfficeCalcImportFilter.hxx +++ b/writerperfect/source/calc/StarOfficeCalcImportFilter.hxx @@ -36,8 +36,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdsGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdsGenerator& rGenerator) override; }; |