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 --- .../CppunitTest_writerperfect_wpftimport.mk | 3 + writerperfect/inc/ImportFilter.hxx | 12 +++- writerperfect/inc/WPFTEncodingDialog.hxx | 21 +++--- writerperfect/qa/unit/DrawingImportTest.cxx | 7 +- writerperfect/qa/unit/PresentationImportTest.cxx | 5 +- writerperfect/qa/unit/SpreadsheetImportTest.cxx | 5 +- writerperfect/qa/unit/TextImportTest.cxx | 7 +- .../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 +- writerperfect/source/common/WPFTEncodingDialog.cxx | 78 ++++++---------------- writerperfect/source/draw/CDRImportFilter.cxx | 2 +- writerperfect/source/draw/CDRImportFilter.hxx | 4 +- writerperfect/source/draw/CMXImportFilter.cxx | 2 +- writerperfect/source/draw/CMXImportFilter.hxx | 4 +- writerperfect/source/draw/FreehandImportFilter.cxx | 2 +- writerperfect/source/draw/FreehandImportFilter.hxx | 4 +- writerperfect/source/draw/MSPUBImportFilter.cxx | 2 +- writerperfect/source/draw/MSPUBImportFilter.hxx | 4 +- writerperfect/source/draw/MWAWDrawImportFilter.cxx | 2 +- writerperfect/source/draw/MWAWDrawImportFilter.hxx | 4 +- .../source/draw/PageMakerImportFilter.cxx | 2 +- .../source/draw/PageMakerImportFilter.hxx | 4 +- writerperfect/source/draw/QXPImportFilter.cxx | 2 +- writerperfect/source/draw/QXPImportFilter.hxx | 4 +- .../source/draw/StarOfficeDrawImportFilter.cxx | 3 +- .../source/draw/StarOfficeDrawImportFilter.hxx | 4 +- writerperfect/source/draw/VisioImportFilter.cxx | 2 +- writerperfect/source/draw/VisioImportFilter.hxx | 4 +- writerperfect/source/draw/WPGImportFilter.cxx | 2 +- writerperfect/source/draw/WPGImportFilter.hxx | 4 +- writerperfect/source/draw/ZMFImportFilter.cxx | 2 +- writerperfect/source/draw/ZMFImportFilter.hxx | 4 +- .../source/impress/KeynoteImportFilter.cxx | 2 +- .../source/impress/KeynoteImportFilter.hxx | 4 +- .../impress/MWAWPresentationImportFilter.cxx | 3 +- .../impress/MWAWPresentationImportFilter.hxx | 4 +- .../impress/StarOfficePresentationImportFilter.cxx | 3 +- .../impress/StarOfficePresentationImportFilter.hxx | 4 +- .../source/writer/AbiWordImportFilter.cxx | 2 +- .../source/writer/AbiWordImportFilter.hxx | 4 +- writerperfect/source/writer/EBookImportFilter.cxx | 2 +- writerperfect/source/writer/EBookImportFilter.hxx | 3 +- .../source/writer/MSWorksImportFilter.cxx | 13 ++-- .../source/writer/MSWorksImportFilter.hxx | 4 +- writerperfect/source/writer/MWAWImportFilter.cxx | 2 +- writerperfect/source/writer/MWAWImportFilter.hxx | 4 +- writerperfect/source/writer/PagesImportFilter.cxx | 2 +- writerperfect/source/writer/PagesImportFilter.hxx | 3 +- .../source/writer/StarOfficeWriterImportFilter.cxx | 5 +- .../source/writer/StarOfficeWriterImportFilter.hxx | 4 +- .../source/writer/WordPerfectImportFilter.cxx | 7 +- writerperfect/uiconfig/ui/wpftencodingdialog.ui | 9 ++- 58 files changed, 165 insertions(+), 170 deletions(-) (limited to 'writerperfect') diff --git a/writerperfect/CppunitTest_writerperfect_wpftimport.mk b/writerperfect/CppunitTest_writerperfect_wpftimport.mk index 02247f46a1d3..101908aadeb4 100644 --- a/writerperfect/CppunitTest_writerperfect_wpftimport.mk +++ b/writerperfect/CppunitTest_writerperfect_wpftimport.mk @@ -29,10 +29,13 @@ $(eval $(call gb_CppunitTest_use_libraries,writerperfect_wpftimport,\ test \ unotest \ utl \ + vcl \ wpftqahelper \ writerperfect \ )) +$(eval $(call gb_CppunitTest_use_external,writerperfect_wpftimport,boost_headers)) + $(eval $(call gb_CppunitTest_use_ure,writerperfect_wpftimport)) $(eval $(call gb_CppunitTest_use_vcl,writerperfect_wpftimport)) diff --git a/writerperfect/inc/ImportFilter.hxx b/writerperfect/inc/ImportFilter.hxx index 53029ef32176..1b2bca9dd995 100644 --- a/writerperfect/inc/ImportFilter.hxx +++ b/writerperfect/inc/ImportFilter.hxx @@ -31,6 +31,8 @@ #include #include +#include +#include #include "DocumentHandler.hxx" #include "WPXSvInputStream.hxx" @@ -73,6 +75,9 @@ public: return false; } + css::uno::Reference xDialogParent; + aDescriptor["ParentWindow"] >>= xDialogParent; + // An XML import service: what we push sax messages to.. css::uno::Reference xInternalHandler( mxContext->getServiceManager()->createInstanceWithContext( @@ -95,7 +100,8 @@ public: doRegisterHandlers(exporter); - return doImportDocument(input, exporter, aDescriptor); + return doImportDocument(Application::GetFrameWeld(xDialogParent), input, exporter, + aDescriptor); } virtual void SAL_CALL cancel() override {} @@ -168,8 +174,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) = 0; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, Generator& rGenerator, - utl::MediaDescriptor& rDescriptor) + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + Generator& rGenerator, utl::MediaDescriptor& rDescriptor) = 0; virtual void doRegisterHandlers(Generator&){}; diff --git a/writerperfect/inc/WPFTEncodingDialog.hxx b/writerperfect/inc/WPFTEncodingDialog.hxx index c6c501ff1af7..8b173e34026d 100644 --- a/writerperfect/inc/WPFTEncodingDialog.hxx +++ b/writerperfect/inc/WPFTEncodingDialog.hxx @@ -14,18 +14,16 @@ #include -#include -#include -#include +#include #include "writerperfectdllapi.h" namespace writerperfect { -class WRITERPERFECT_DLLPUBLIC WPFTEncodingDialog : public ModalDialog +class WRITERPERFECT_DLLPUBLIC WPFTEncodingDialog : public weld::GenericDialogController { public: - WPFTEncodingDialog(const OUString& title, const OUString& defEncoding); + WPFTEncodingDialog(weld::Window* pParent, const OUString& title, const OUString& defEncoding); virtual ~WPFTEncodingDialog() override; @@ -33,17 +31,14 @@ public: bool hasUserCalledCancel() const { return m_userHasCancelled; } private: - VclPtr m_pLbCharset; - VclPtr m_pBtnOk; - VclPtr m_pBtnCancel; - bool m_userHasCancelled; -private: - DECL_LINK(DoubleClickHdl, ListBox&, void); - DECL_LINK(CancelHdl, Button*, void); + std::unique_ptr m_xLbCharset; + std::unique_ptr m_xBtnOk; + std::unique_ptr m_xBtnCancel; - void dispose() override; +private: + DECL_LINK(CancelHdl, weld::Button&, void); WPFTEncodingDialog(WPFTEncodingDialog const&) = delete; WPFTEncodingDialog& operator=(WPFTEncodingDialog const&) = delete; diff --git a/writerperfect/qa/unit/DrawingImportTest.cxx b/writerperfect/qa/unit/DrawingImportTest.cxx index f2e0a707a32b..5e71bf3e9b4f 100644 --- a/writerperfect/qa/unit/DrawingImportTest.cxx +++ b/writerperfect/qa/unit/DrawingImportTest.cxx @@ -45,14 +45,15 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, rtl::OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, + virtual bool doImportDocument(weld::Window* pWindow, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor& rDescriptor) override; static void generate(librevenge::RVNGDrawingInterface& rDocument); }; -bool DrawingImportFilter::doImportDocument(librevenge::RVNGInputStream&, OdgGenerator& rGenerator, - utl::MediaDescriptor&) +bool DrawingImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream&, + OdgGenerator& rGenerator, utl::MediaDescriptor&) { DrawingImportFilter::generate(rGenerator); return true; diff --git a/writerperfect/qa/unit/PresentationImportTest.cxx b/writerperfect/qa/unit/PresentationImportTest.cxx index de0b951f1c03..8fc5a65d3141 100644 --- a/writerperfect/qa/unit/PresentationImportTest.cxx +++ b/writerperfect/qa/unit/PresentationImportTest.cxx @@ -45,13 +45,14 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, rtl::OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdpGenerator& rGenerator, + virtual bool doImportDocument(weld::Window* pWindow, librevenge::RVNGInputStream& rInput, + OdpGenerator& rGenerator, utl::MediaDescriptor& rDescriptor) override; static void generate(librevenge::RVNGPresentationInterface& rDocument); }; -bool PresentationImportFilter::doImportDocument(librevenge::RVNGInputStream&, +bool PresentationImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream&, OdpGenerator& rGenerator, utl::MediaDescriptor&) { PresentationImportFilter::generate(rGenerator); diff --git a/writerperfect/qa/unit/SpreadsheetImportTest.cxx b/writerperfect/qa/unit/SpreadsheetImportTest.cxx index ef4e18c16ff0..66b1623b39f4 100644 --- a/writerperfect/qa/unit/SpreadsheetImportTest.cxx +++ b/writerperfect/qa/unit/SpreadsheetImportTest.cxx @@ -44,13 +44,14 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, rtl::OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdsGenerator& rGenerator, + virtual bool doImportDocument(weld::Window* pWindow, librevenge::RVNGInputStream& rInput, + OdsGenerator& rGenerator, utl::MediaDescriptor& rDescriptor) override; static void generate(librevenge::RVNGSpreadsheetInterface& rDocument); }; -bool SpreadsheetImportFilter::doImportDocument(librevenge::RVNGInputStream&, +bool SpreadsheetImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream&, OdsGenerator& rGenerator, utl::MediaDescriptor&) { SpreadsheetImportFilter::generate(rGenerator); diff --git a/writerperfect/qa/unit/TextImportTest.cxx b/writerperfect/qa/unit/TextImportTest.cxx index cbad0f154c27..de085a2f33b0 100644 --- a/writerperfect/qa/unit/TextImportTest.cxx +++ b/writerperfect/qa/unit/TextImportTest.cxx @@ -43,14 +43,15 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, rtl::OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, + virtual bool doImportDocument(weld::Window* pWindow, librevenge::RVNGInputStream& rInput, + OdtGenerator& rGenerator, utl::MediaDescriptor& rDescriptor) override; static void generate(librevenge::RVNGTextInterface& rDocument); }; -bool TextImportFilter::doImportDocument(librevenge::RVNGInputStream&, OdtGenerator& rGenerator, - utl::MediaDescriptor&) +bool TextImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream&, + OdtGenerator& rGenerator, utl::MediaDescriptor&) { TextImportFilter::generate(rGenerator); return true; 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 const s_encodings[] std::size_t const numEncodings = SAL_N_ELEMENTS(s_encodings); -void insertEncodings(ListBox* box) +void insertEncodings(weld::ComboBoxText& box) { for (std::size_t i = 0; i < numEncodings; ++i) - { - sal_IntPtr nAt = box->InsertEntry(s_encodings[i].second); - box->SetEntryData(nAt, reinterpret_cast(static_cast(i))); - } + box.append(s_encodings[i].first, s_encodings[i].second); } -void selectEncoding(ListBox* box, const OUString& encoding) +void selectEncoding(weld::ComboBoxText& box, const OUString& encoding) { - for (std::size_t i = 0; i < numEncodings; ++i) - { - if (encoding != s_encodings[i].first) - continue; - box->SelectEntryPos(i); - return; - } + box.set_active_id(encoding); } -OUString getEncoding(ListBox const* box) -{ - sal_uIntPtr pos = reinterpret_cast(box->GetSelectedEntryData()); - if (pos >= numEncodings) - return OUString(); - return s_encodings[pos].first; -} +OUString getEncoding(const weld::ComboBoxText& box) { return box.get_active_id(); } } -WPFTEncodingDialog::WPFTEncodingDialog(const OUString& title, const OUString& encoding) - : ModalDialog(nullptr, "WPFTEncodingDialog", "writerperfect/ui/wpftencodingdialog.ui") - , m_pLbCharset() - , m_pBtnOk() - , m_pBtnCancel() +WPFTEncodingDialog::WPFTEncodingDialog(weld::Window* pParent, const OUString& title, + const OUString& encoding) + : GenericDialogController(pParent, "writerperfect/ui/wpftencodingdialog.ui", + "WPFTEncodingDialog") , m_userHasCancelled(false) + , m_xLbCharset(m_xBuilder->weld_combo_box_text("comboboxtext")) + , m_xBtnOk(m_xBuilder->weld_button("ok")) + , m_xBtnCancel(m_xBuilder->weld_button("cancel")) { - get(m_pLbCharset, "comboboxtext"); - get(m_pBtnOk, "ok"); - get(m_pBtnCancel, "cancel"); + m_xBtnCancel->connect_clicked(LINK(this, WPFTEncodingDialog, CancelHdl)); - m_pBtnCancel->SetClickHdl(LINK(this, WPFTEncodingDialog, CancelHdl)); + insertEncodings(*m_xLbCharset); + m_xLbCharset->make_sorted(); + selectEncoding(*m_xLbCharset, encoding); - insertEncodings(m_pLbCharset); - m_pLbCharset->SetStyle(m_pLbCharset->GetStyle() | WB_SORT); - // m_pLbCharset->set_height_request(6 * m_pLbCharset->GetTextHeight()); - m_pLbCharset->SetDoubleClickHdl(LINK(this, WPFTEncodingDialog, DoubleClickHdl)); - selectEncoding(m_pLbCharset, encoding); - m_pLbCharset->Show(); - - SetText(title); + m_xDialog->set_title(title); } -WPFTEncodingDialog::~WPFTEncodingDialog() { disposeOnce(); } +WPFTEncodingDialog::~WPFTEncodingDialog() {} -OUString WPFTEncodingDialog::GetEncoding() const { return getEncoding(m_pLbCharset); } +OUString WPFTEncodingDialog::GetEncoding() const { return getEncoding(*m_xLbCharset); } -IMPL_LINK_NOARG(WPFTEncodingDialog, CancelHdl, Button*, void) +IMPL_LINK_NOARG(WPFTEncodingDialog, CancelHdl, weld::Button&, void) { m_userHasCancelled = true; - Close(); -} - -IMPL_LINK(WPFTEncodingDialog, DoubleClickHdl, ListBox&, rLb, void) -{ - if (&rLb == m_pLbCharset) - { - m_pBtnOk->Click(); - } -} - -void WPFTEncodingDialog::dispose() -{ - m_pLbCharset.disposeAndClear(); - m_pBtnOk.disposeAndClear(); - m_pBtnCancel.disposeAndClear(); - ModalDialog::dispose(); + m_xDialog->response(RET_CANCEL); } } diff --git a/writerperfect/source/draw/CDRImportFilter.cxx b/writerperfect/source/draw/CDRImportFilter.cxx index e706ee089e41..f9ca74b44349 100644 --- a/writerperfect/source/draw/CDRImportFilter.cxx +++ b/writerperfect/source/draw/CDRImportFilter.cxx @@ -24,7 +24,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool CDRImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool CDRImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libcdr::CDRDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/CDRImportFilter.hxx b/writerperfect/source/draw/CDRImportFilter.hxx index e2d35fc24bad..5d7c5334b990 100644 --- a/writerperfect/source/draw/CDRImportFilter.hxx +++ b/writerperfect/source/draw/CDRImportFilter.hxx @@ -33,8 +33,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/CMXImportFilter.cxx b/writerperfect/source/draw/CMXImportFilter.cxx index 5b8ff653585d..84c610c3cf2f 100644 --- a/writerperfect/source/draw/CMXImportFilter.cxx +++ b/writerperfect/source/draw/CMXImportFilter.cxx @@ -24,7 +24,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool CMXImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool CMXImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libcdr::CMXDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/CMXImportFilter.hxx b/writerperfect/source/draw/CMXImportFilter.hxx index cd35f1b2d45a..0e6d9b46dfa5 100644 --- a/writerperfect/source/draw/CMXImportFilter.hxx +++ b/writerperfect/source/draw/CMXImportFilter.hxx @@ -33,8 +33,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/FreehandImportFilter.cxx b/writerperfect/source/draw/FreehandImportFilter.cxx index 44aa3b39a424..def81cfa1420 100644 --- a/writerperfect/source/draw/FreehandImportFilter.cxx +++ b/writerperfect/source/draw/FreehandImportFilter.cxx @@ -20,7 +20,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool FreehandImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool FreehandImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libfreehand::FreeHandDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/FreehandImportFilter.hxx b/writerperfect/source/draw/FreehandImportFilter.hxx index 0897e4a815d5..99921bdf6255 100644 --- a/writerperfect/source/draw/FreehandImportFilter.hxx +++ b/writerperfect/source/draw/FreehandImportFilter.hxx @@ -30,8 +30,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/MSPUBImportFilter.cxx b/writerperfect/source/draw/MSPUBImportFilter.cxx index ce3967da5736..0927777cc6ae 100644 --- a/writerperfect/source/draw/MSPUBImportFilter.cxx +++ b/writerperfect/source/draw/MSPUBImportFilter.cxx @@ -20,7 +20,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool MSPUBImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool MSPUBImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libmspub::MSPUBDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/MSPUBImportFilter.hxx b/writerperfect/source/draw/MSPUBImportFilter.hxx index 5a41d2166234..3e2125198a4f 100644 --- a/writerperfect/source/draw/MSPUBImportFilter.hxx +++ b/writerperfect/source/draw/MSPUBImportFilter.hxx @@ -30,8 +30,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/MWAWDrawImportFilter.cxx b/writerperfect/source/draw/MWAWDrawImportFilter.cxx index b0432e3bbab2..2816d6a37518 100644 --- a/writerperfect/source/draw/MWAWDrawImportFilter.cxx +++ b/writerperfect/source/draw/MWAWDrawImportFilter.cxx @@ -40,7 +40,7 @@ static bool handleEmbeddedMWAWSpreadsheetObject(const librevenge::RVNGBinaryData return MWAWDocument::decodeSpreadsheet(data, &exporter); } -bool MWAWDrawImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool MWAWDrawImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return MWAWDocument::MWAW_R_OK == MWAWDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/MWAWDrawImportFilter.hxx b/writerperfect/source/draw/MWAWDrawImportFilter.hxx index 15cdeb9356ec..98963ebf7510 100644 --- a/writerperfect/source/draw/MWAWDrawImportFilter.hxx +++ b/writerperfect/source/draw/MWAWDrawImportFilter.hxx @@ -35,8 +35,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdgGenerator& rGenerator) override; }; diff --git a/writerperfect/source/draw/PageMakerImportFilter.cxx b/writerperfect/source/draw/PageMakerImportFilter.cxx index 64866c57f6ee..e3f9cabad9d5 100644 --- a/writerperfect/source/draw/PageMakerImportFilter.cxx +++ b/writerperfect/source/draw/PageMakerImportFilter.cxx @@ -22,7 +22,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool PageMakerImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool PageMakerImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libpagemaker::PMDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/PageMakerImportFilter.hxx b/writerperfect/source/draw/PageMakerImportFilter.hxx index 50e38fc9ec78..a333924bf9c9 100644 --- a/writerperfect/source/draw/PageMakerImportFilter.hxx +++ b/writerperfect/source/draw/PageMakerImportFilter.hxx @@ -31,8 +31,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/QXPImportFilter.cxx b/writerperfect/source/draw/QXPImportFilter.cxx index 0a719ac58296..f0f71fcba310 100644 --- a/writerperfect/source/draw/QXPImportFilter.cxx +++ b/writerperfect/source/draw/QXPImportFilter.cxx @@ -22,7 +22,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool QXPImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool QXPImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libqxp::QXPDocument::parse(&rInput, &rGenerator) == libqxp::QXPDocument::RESULT_OK; diff --git a/writerperfect/source/draw/QXPImportFilter.hxx b/writerperfect/source/draw/QXPImportFilter.hxx index 6b73e8ae1357..8a2538b8bdd9 100644 --- a/writerperfect/source/draw/QXPImportFilter.hxx +++ b/writerperfect/source/draw/QXPImportFilter.hxx @@ -30,8 +30,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/StarOfficeDrawImportFilter.cxx b/writerperfect/source/draw/StarOfficeDrawImportFilter.cxx index a0fcb392d811..bdfe3d361c4e 100644 --- a/writerperfect/source/draw/StarOfficeDrawImportFilter.cxx +++ b/writerperfect/source/draw/StarOfficeDrawImportFilter.cxx @@ -38,7 +38,8 @@ static bool handleEmbeddedSTOFFSpreadsheetObject(const librevenge::RVNGBinaryDat return STOFFDocument::decodeSpreadsheet(data, &exporter); } -bool StarOfficeDrawImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool StarOfficeDrawImportFilter::doImportDocument(weld::Window*, + librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return STOFFDocument::STOFF_R_OK == STOFFDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/StarOfficeDrawImportFilter.hxx b/writerperfect/source/draw/StarOfficeDrawImportFilter.hxx index fb0ebabcd38c..f1cbb643f990 100644 --- a/writerperfect/source/draw/StarOfficeDrawImportFilter.hxx +++ b/writerperfect/source/draw/StarOfficeDrawImportFilter.hxx @@ -36,8 +36,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdgGenerator& rGenerator) override; }; diff --git a/writerperfect/source/draw/VisioImportFilter.cxx b/writerperfect/source/draw/VisioImportFilter.cxx index 1b377495ebb6..8c72b732c7c4 100644 --- a/writerperfect/source/draw/VisioImportFilter.cxx +++ b/writerperfect/source/draw/VisioImportFilter.cxx @@ -20,7 +20,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool VisioImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool VisioImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libvisio::VisioDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/VisioImportFilter.hxx b/writerperfect/source/draw/VisioImportFilter.hxx index 8468c602e8af..387827a4a94d 100644 --- a/writerperfect/source/draw/VisioImportFilter.hxx +++ b/writerperfect/source/draw/VisioImportFilter.hxx @@ -30,8 +30,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/WPGImportFilter.cxx b/writerperfect/source/draw/WPGImportFilter.cxx index bd4d238245d3..7ed726fb62ba 100644 --- a/writerperfect/source/draw/WPGImportFilter.cxx +++ b/writerperfect/source/draw/WPGImportFilter.cxx @@ -27,7 +27,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool WPGImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool WPGImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libwpg::WPGraphics::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/WPGImportFilter.hxx b/writerperfect/source/draw/WPGImportFilter.hxx index b31ac6bf8627..3e75f08eed14 100644 --- a/writerperfect/source/draw/WPGImportFilter.hxx +++ b/writerperfect/source/draw/WPGImportFilter.hxx @@ -35,8 +35,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/draw/ZMFImportFilter.cxx b/writerperfect/source/draw/ZMFImportFilter.cxx index 3a71eee63f6a..e44a952053e1 100644 --- a/writerperfect/source/draw/ZMFImportFilter.cxx +++ b/writerperfect/source/draw/ZMFImportFilter.cxx @@ -22,7 +22,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool ZMFImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool ZMFImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, utl::MediaDescriptor&) { return libzmf::ZMFDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/draw/ZMFImportFilter.hxx b/writerperfect/source/draw/ZMFImportFilter.hxx index 85dbf59c0cda..6fef0180d415 100644 --- a/writerperfect/source/draw/ZMFImportFilter.hxx +++ b/writerperfect/source/draw/ZMFImportFilter.hxx @@ -30,8 +30,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdgGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdgGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/impress/KeynoteImportFilter.cxx b/writerperfect/source/impress/KeynoteImportFilter.cxx index c535786ff91f..3083790e4f9c 100644 --- a/writerperfect/source/impress/KeynoteImportFilter.cxx +++ b/writerperfect/source/impress/KeynoteImportFilter.cxx @@ -48,7 +48,7 @@ using writerperfect::WPXSvInputStream; namespace beans = com::sun::star::beans; namespace ucb = com::sun::star::ucb; -bool KeynoteImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool KeynoteImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdpGenerator& rGenerator, utl::MediaDescriptor&) { return libetonyek::EtonyekDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/impress/KeynoteImportFilter.hxx b/writerperfect/source/impress/KeynoteImportFilter.hxx index dc62b44f1d61..cae19663a7c7 100644 --- a/writerperfect/source/impress/KeynoteImportFilter.hxx +++ b/writerperfect/source/impress/KeynoteImportFilter.hxx @@ -36,8 +36,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdpGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdpGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/impress/MWAWPresentationImportFilter.cxx b/writerperfect/source/impress/MWAWPresentationImportFilter.cxx index cd35fb6f275c..46c3ec7f3545 100644 --- a/writerperfect/source/impress/MWAWPresentationImportFilter.cxx +++ b/writerperfect/source/impress/MWAWPresentationImportFilter.cxx @@ -40,7 +40,8 @@ static bool handleEmbeddedMWAWSpreadsheetObject(const librevenge::RVNGBinaryData return MWAWDocument::decodeSpreadsheet(data, &exporter); } -bool MWAWPresentationImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool MWAWPresentationImportFilter::doImportDocument(weld::Window*, + librevenge::RVNGInputStream& rInput, OdpGenerator& rGenerator, utl::MediaDescriptor&) { return MWAWDocument::MWAW_R_OK == MWAWDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/impress/MWAWPresentationImportFilter.hxx b/writerperfect/source/impress/MWAWPresentationImportFilter.hxx index 2d004282f7f1..0967eeec7b9e 100644 --- a/writerperfect/source/impress/MWAWPresentationImportFilter.hxx +++ b/writerperfect/source/impress/MWAWPresentationImportFilter.hxx @@ -36,8 +36,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdpGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdpGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdpGenerator& rGenerator) override; }; diff --git a/writerperfect/source/impress/StarOfficePresentationImportFilter.cxx b/writerperfect/source/impress/StarOfficePresentationImportFilter.cxx index 34ed2a72ffd3..1a6c5255aea6 100644 --- a/writerperfect/source/impress/StarOfficePresentationImportFilter.cxx +++ b/writerperfect/source/impress/StarOfficePresentationImportFilter.cxx @@ -38,7 +38,8 @@ static bool handleEmbeddedSTOFFSpreadsheetObject(const librevenge::RVNGBinaryDat return STOFFDocument::decodeSpreadsheet(data, &exporter); } -bool StarOfficePresentationImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool StarOfficePresentationImportFilter::doImportDocument(weld::Window*, + librevenge::RVNGInputStream& rInput, OdpGenerator& rGenerator, utl::MediaDescriptor&) { diff --git a/writerperfect/source/impress/StarOfficePresentationImportFilter.hxx b/writerperfect/source/impress/StarOfficePresentationImportFilter.hxx index 4df403bae184..f8179455710f 100644 --- a/writerperfect/source/impress/StarOfficePresentationImportFilter.hxx +++ b/writerperfect/source/impress/StarOfficePresentationImportFilter.hxx @@ -36,8 +36,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdpGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdpGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdpGenerator& rGenerator) override; }; diff --git a/writerperfect/source/writer/AbiWordImportFilter.cxx b/writerperfect/source/writer/AbiWordImportFilter.cxx index c6d6823276f8..8f0f5162a819 100644 --- a/writerperfect/source/writer/AbiWordImportFilter.cxx +++ b/writerperfect/source/writer/AbiWordImportFilter.cxx @@ -20,7 +20,7 @@ using com::sun::star::uno::Sequence; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool AbiWordImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool AbiWordImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, utl::MediaDescriptor&) { return libabw::AbiDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/writer/AbiWordImportFilter.hxx b/writerperfect/source/writer/AbiWordImportFilter.hxx index 30d0ef77b922..4d49d9d572c4 100644 --- a/writerperfect/source/writer/AbiWordImportFilter.hxx +++ b/writerperfect/source/writer/AbiWordImportFilter.hxx @@ -35,8 +35,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdtGenerator& rGenerator, utl::MediaDescriptor&) override; }; #endif diff --git a/writerperfect/source/writer/EBookImportFilter.cxx b/writerperfect/source/writer/EBookImportFilter.cxx index 8bd96a7e12f7..b60efff74123 100644 --- a/writerperfect/source/writer/EBookImportFilter.cxx +++ b/writerperfect/source/writer/EBookImportFilter.cxx @@ -22,7 +22,7 @@ using com::sun::star::uno::XInterface; using libebook::EBOOKDocument; -bool EBookImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool EBookImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, utl::MediaDescriptor& rDescriptor) { diff --git a/writerperfect/source/writer/EBookImportFilter.hxx b/writerperfect/source/writer/EBookImportFilter.hxx index 209f080c2cdf..3bbc515783a3 100644 --- a/writerperfect/source/writer/EBookImportFilter.hxx +++ b/writerperfect/source/writer/EBookImportFilter.hxx @@ -35,7 +35,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdtGenerator& rGenerator, utl::MediaDescriptor& rDescriptor) override; }; diff --git a/writerperfect/source/writer/MSWorksImportFilter.cxx b/writerperfect/source/writer/MSWorksImportFilter.cxx index 4c2c86c5e787..1b082c806a9b 100644 --- a/writerperfect/source/writer/MSWorksImportFilter.cxx +++ b/writerperfect/source/writer/MSWorksImportFilter.cxx @@ -32,7 +32,8 @@ static bool handleEmbeddedWKSObject(const librevenge::RVNGBinaryData& data, return libwps::WPSDocument::parse(data.getDataStream(), &exporter) == libwps::WPS_OK; } -bool MSWorksImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool MSWorksImportFilter::doImportDocument(weld::Window* pParent, + librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, utl::MediaDescriptor&) { libwps::WPSKind kind = libwps::WPS_TEXT; @@ -69,14 +70,14 @@ bool MSWorksImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, break; } - 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; } } diff --git a/writerperfect/source/writer/MSWorksImportFilter.hxx b/writerperfect/source/writer/MSWorksImportFilter.hxx index f9caea858b24..a6bd7ec32186 100644 --- a/writerperfect/source/writer/MSWorksImportFilter.hxx +++ b/writerperfect/source/writer/MSWorksImportFilter.hxx @@ -35,8 +35,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdtGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdtGenerator& rGenerator) override; }; diff --git a/writerperfect/source/writer/MWAWImportFilter.cxx b/writerperfect/source/writer/MWAWImportFilter.cxx index 7b166930cea1..ad12a6a677d1 100644 --- a/writerperfect/source/writer/MWAWImportFilter.cxx +++ b/writerperfect/source/writer/MWAWImportFilter.cxx @@ -39,7 +39,7 @@ static bool handleEmbeddedMWAWSpreadsheetObject(const librevenge::RVNGBinaryData return MWAWDocument::decodeSpreadsheet(data, &exporter); } -bool MWAWImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool MWAWImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, utl::MediaDescriptor&) { return MWAWDocument::MWAW_R_OK == MWAWDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/writer/MWAWImportFilter.hxx b/writerperfect/source/writer/MWAWImportFilter.hxx index 5ea1ad0c2bcf..810ca637ce14 100644 --- a/writerperfect/source/writer/MWAWImportFilter.hxx +++ b/writerperfect/source/writer/MWAWImportFilter.hxx @@ -35,8 +35,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdtGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdtGenerator& rGenerator) override; }; diff --git a/writerperfect/source/writer/PagesImportFilter.cxx b/writerperfect/source/writer/PagesImportFilter.cxx index 6ff8cd1420f6..bcd502fb8bf3 100644 --- a/writerperfect/source/writer/PagesImportFilter.cxx +++ b/writerperfect/source/writer/PagesImportFilter.cxx @@ -22,7 +22,7 @@ using com::sun::star::uno::XInterface; using libetonyek::EtonyekDocument; -bool PagesImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool PagesImportFilter::doImportDocument(weld::Window*, librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, utl::MediaDescriptor&) { return EtonyekDocument::parse(&rInput, &rGenerator); diff --git a/writerperfect/source/writer/PagesImportFilter.hxx b/writerperfect/source/writer/PagesImportFilter.hxx index 03cbefe9f3f6..9457667f271c 100644 --- a/writerperfect/source/writer/PagesImportFilter.hxx +++ b/writerperfect/source/writer/PagesImportFilter.hxx @@ -34,7 +34,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdtGenerator& rGenerator, utl::MediaDescriptor& rDescriptor) override; }; diff --git a/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx b/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx index 95764afa4013..8f7143c1e2ee 100644 --- a/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx +++ b/writerperfect/source/writer/StarOfficeWriterImportFilter.cxx @@ -40,7 +40,8 @@ static bool handleEmbeddedSTOFFWriterSpreadsheetObject(const librevenge::RVNGBin return STOFFDocument::decodeSpreadsheet(data, &exporter); } -bool StarOfficeWriterImportFilter::doImportDocument(librevenge::RVNGInputStream& rInput, +bool StarOfficeWriterImportFilter::doImportDocument(weld::Window* pParent, + librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, utl::MediaDescriptor&) { STOFFDocument::Kind docKind = STOFFDocument::STOFF_K_UNKNOWN; @@ -52,7 +53,7 @@ bool StarOfficeWriterImportFilter::doImportDocument(librevenge::RVNGInputStream& // try to ask for a password try { - SfxPasswordDialog aPasswdDlg(nullptr); + SfxPasswordDialog aPasswdDlg(pParent); aPasswdDlg.SetMinLen(0); if (!aPasswdDlg.execute()) return false; diff --git a/writerperfect/source/writer/StarOfficeWriterImportFilter.hxx b/writerperfect/source/writer/StarOfficeWriterImportFilter.hxx index c84602ed8a8c..585dec14be5a 100644 --- a/writerperfect/source/writer/StarOfficeWriterImportFilter.hxx +++ b/writerperfect/source/writer/StarOfficeWriterImportFilter.hxx @@ -36,8 +36,8 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream& rInput, OUString& rTypeName) override; - virtual bool doImportDocument(librevenge::RVNGInputStream& rInput, OdtGenerator& rGenerator, - utl::MediaDescriptor&) override; + virtual bool doImportDocument(weld::Window* pParent, librevenge::RVNGInputStream& rInput, + OdtGenerator& rGenerator, utl::MediaDescriptor&) override; virtual void doRegisterHandlers(OdtGenerator& rGenerator) override; }; diff --git a/writerperfect/source/writer/WordPerfectImportFilter.cxx b/writerperfect/source/writer/WordPerfectImportFilter.cxx index 4b0861c0d9da..d3ac6a37f3ff 100644 --- a/writerperfect/source/writer/WordPerfectImportFilter.cxx +++ b/writerperfect/source/writer/WordPerfectImportFilter.cxx @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -42,6 +43,7 @@ using com::sun::star::uno::UNO_QUERY; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; +using com::sun::star::awt::XWindow; using com::sun::star::document::XImporter; using com::sun::star::io::XInputStream; using com::sun::star::xml::sax::XDocumentHandler; @@ -92,10 +94,13 @@ bool WordPerfectImportFilter::importImpl(const Sequence xInputStream; + Reference xDialogParent; for (sal_Int32 i = 0; i < nLength; i++) { if (pValue[i].Name == "InputStream") pValue[i].Value >>= xInputStream; + else if (pValue[i].Name == "ParentWindow") + pValue[i].Value >>= xDialogParent; } if (!xInputStream.is()) { @@ -114,7 +119,7 @@ bool WordPerfectImportFilter::importImpl(const Sequence - + @@ -7,8 +7,12 @@ 6 False True - -1 + 0 + 0 dialog + + + False @@ -72,6 +76,7 @@ + True False -- cgit