diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-10-30 11:34:27 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-10-31 13:30:59 +0100 |
commit | e2aa85a6fbc039e8b1950f0e4b8484595d0b47eb (patch) | |
tree | 2658525d24372ee535be570d682c9f1ca75a178b | |
parent | 32c53b465bc2052c2756f12294699fabae754756 (diff) |
avoid intermediate vcl::Windows
Change-Id: Iac6bc83265e007a699a8993b89ac2efaa3739d95
Reviewed-on: https://gerrit.libreoffice.org/81761
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | editeng/inc/edtspell.hxx | 5 | ||||
-rw-r--r-- | editeng/source/editeng/edtspell.cxx | 6 | ||||
-rw-r--r-- | editeng/source/editeng/impedit4.cxx | 3 | ||||
-rw-r--r-- | editeng/source/misc/splwrap.cxx | 22 | ||||
-rw-r--r-- | forms/source/component/ImageControl.cxx | 5 | ||||
-rw-r--r-- | include/editeng/splwrap.hxx | 11 | ||||
-rw-r--r-- | sw/source/uibase/lingu/hyp.cxx | 2 |
7 files changed, 23 insertions, 31 deletions
diff --git a/editeng/inc/edtspell.hxx b/editeng/inc/edtspell.hxx index d21ce140cf8c..51e4df5e0635 100644 --- a/editeng/inc/edtspell.hxx +++ b/editeng/inc/edtspell.hxx @@ -50,10 +50,7 @@ protected: virtual bool SpellMore() override; public: - EditSpellWrapper( vcl::Window* pWin, - bool bIsStart, - EditView* pView ); - + EditSpellWrapper(weld::Window* pWin, bool bIsStart, EditView* pView); }; /** diff --git a/editeng/source/editeng/edtspell.cxx b/editeng/source/editeng/edtspell.cxx index 93bdb213da52..e64b052ba65c 100644 --- a/editeng/source/editeng/edtspell.cxx +++ b/editeng/source/editeng/edtspell.cxx @@ -38,9 +38,9 @@ using namespace com::sun::star::beans; using namespace com::sun::star::linguistic2; -EditSpellWrapper::EditSpellWrapper( vcl::Window* _pWin, - bool bIsStart, EditView* pView ) : - SvxSpellWrapper( _pWin, bIsStart, false/*bIsAllRight*/ ) +EditSpellWrapper::EditSpellWrapper(weld::Window* pWindow, + bool bIsStart, EditView* pView ) + : SvxSpellWrapper(pWindow, bIsStart, false/*bIsAllRight*/) { SAL_WARN_IF( !pView, "editeng", "One view has to be abandoned!" ); // Keep IgnoreList, delete ReplaceList... diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx index f1cb5072735b..fe130230ee65 100644 --- a/editeng/source/editeng/impedit4.cxx +++ b/editeng/source/editeng/impedit4.cxx @@ -1447,7 +1447,8 @@ EESpellState ImpEditEngine::Spell( EditView* pEditView, bool bMultipleDoc ) else if ( CreateEPaM( aEditDoc.GetStartPaM() ) == pSpellInfo->aSpellStart ) bIsStart = true; - std::unique_ptr<EditSpellWrapper> pWrp(new EditSpellWrapper( Application::GetDefDialogParent(), + vcl::Window* pParent = Application::GetDefDialogParent(); + std::unique_ptr<EditSpellWrapper> pWrp(new EditSpellWrapper(pParent ? pParent->GetFrameWeld() : nullptr, bIsStart, pEditView )); pWrp->SpellDocument(); pWrp.reset(); diff --git a/editeng/source/misc/splwrap.cxx b/editeng/source/misc/splwrap.cxx index 979be61afa71..0c9e23f360fc 100644 --- a/editeng/source/misc/splwrap.cxx +++ b/editeng/source/misc/splwrap.cxx @@ -45,10 +45,6 @@ #include <map> #include <memory> -#define WAIT_ON() if(pWin != nullptr) { pWin->EnterWait(); } - -#define WAIT_OFF() if(pWin != nullptr) { pWin->LeaveWait(); } - using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::beans; @@ -139,7 +135,7 @@ SvxSpellWrapper::~SvxSpellWrapper() * --------------------------------------------------------------------*/ -SvxSpellWrapper::SvxSpellWrapper( vcl::Window* pWn, +SvxSpellWrapper::SvxSpellWrapper( weld::Window* pWn, const bool bStart, const bool bIsAllRight ) : pWin ( pWn ), @@ -156,7 +152,7 @@ SvxSpellWrapper::SvxSpellWrapper( vcl::Window* pWn, } -SvxSpellWrapper::SvxSpellWrapper( vcl::Window* pWn, +SvxSpellWrapper::SvxSpellWrapper( weld::Window* pWn, Reference< XHyphenator > const &xHyphenator, const bool bStart, const bool bOther ) : pWin ( pWn ), @@ -275,7 +271,7 @@ void SvxSpellWrapper::SpellDocument( ) { EditAbstractDialogFactory* pFact = EditAbstractDialogFactory::Create(); ScopedVclPtr<AbstractHyphenWordDialog> pDlg(pFact->CreateHyphenWordDialog( - pWin ? pWin->GetFrameWeld() : nullptr, + pWin, xHyphWord->getWord(), LanguageTag( xHyphWord->getLocale() ).getLanguageType(), xHyph, this )); @@ -347,16 +343,16 @@ bool SvxSpellWrapper::SpellNext( ) else { // a BODY_area done, ask for the other BODY_area - WAIT_OFF(); + xWait.reset(); const char* pResId = bReverse ? RID_SVXSTR_QUERY_BW_CONTINUE : RID_SVXSTR_QUERY_CONTINUE; - std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr, + std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin, VclMessageType::Question, VclButtonsType::YesNo, EditResId(pResId))); if (xBox->run() != RET_YES) { // sacrifice the other area if necessary ask for special area - WAIT_ON(); + xWait.reset(new weld::WaitObject(pWin)); bStartDone = bEndDone = true; return SpellNext(); } @@ -366,7 +362,7 @@ bool SvxSpellWrapper::SpellNext( ) SpellStart( bStartChk ? SvxSpellArea::BodyStart : SvxSpellArea::BodyEnd ); bGoOn = true; } - WAIT_ON(); + xWait.reset(new weld::WaitObject(pWin)); } return bGoOn; } @@ -419,7 +415,7 @@ bool SvxSpellWrapper::FindSpellError() { ShowLanguageErrors(); - WAIT_ON(); + xWait.reset(new weld::WaitObject(pWin)); bool bSpell = true; Reference< XDictionary > xAllRightDic; @@ -465,7 +461,7 @@ bool SvxSpellWrapper::FindSpellError() bSpell = SpellNext(); } } - WAIT_OFF(); + xWait.reset(); return GetLast().is(); } diff --git a/forms/source/component/ImageControl.cxx b/forms/source/component/ImageControl.cxx index 7f5d323fe691..12d44e59e963 100644 --- a/forms/source/component/ImageControl.cxx +++ b/forms/source/component/ImageControl.cxx @@ -776,10 +776,9 @@ bool OImageControlControl::implInsertGraphics() // build some arguments for the upcoming dialog try { - Reference< XWindowPeer > xWindowPeer = getPeer(); - VclPtr<vcl::Window> xWin = VCLUnoHelper::GetWindow(xWindowPeer); + Reference< XWindow > xWindow( static_cast< ::cppu::OWeakObject* >( this ), UNO_QUERY ); ::sfx2::FileDialogHelper aDialog(TemplateDescription::FILEOPEN_LINK_PREVIEW, FileDialogFlags::Graphic, - xWin ? xWin->GetFrameWeld() : nullptr); + Application::GetFrameWeld(xWindow)); aDialog.SetTitle( sTitle ); Reference< XFilePickerControlAccess > xController( aDialog.GetFilePicker(), UNO_QUERY_THROW ); diff --git a/include/editeng/splwrap.hxx b/include/editeng/splwrap.hxx index dbb6576fbbfd..69dfbbc6c780 100644 --- a/include/editeng/splwrap.hxx +++ b/include/editeng/splwrap.hxx @@ -24,7 +24,7 @@ #include <i18nlangtag/lang.h> #include <rtl/ustring.hxx> #include <com/sun/star/uno/Reference.hxx> -#include <vcl/vclptr.hxx> +#include <vcl/weld.hxx> // forward --------------------------------------------------------------- @@ -34,8 +34,6 @@ namespace com { namespace sun { namespace star { namespace linguistic2 { class XHyphenator; }}}} -namespace vcl { class Window; } - // misc functions --------------------------------------------------------------- void EDITENG_DLLPUBLIC SvxPrepareAutoCorrect( OUString &rOldText, const OUString &rNewText ); @@ -50,7 +48,8 @@ private: friend class SvxHyphenWordDialog; friend struct SvxHyphenWordDialog_Impl; - VclPtr<vcl::Window> pWin; + weld::Window* pWin; + std::unique_ptr<weld::WaitObject> xWait; css::uno::Reference< css::uno::XInterface > xLast; // result of last spelling/hyphenation attempt css::uno::Reference< @@ -71,9 +70,9 @@ private: void operator =(SvxSpellWrapper const &) = delete; public: - SvxSpellWrapper( vcl::Window* pWn, + SvxSpellWrapper( weld::Window* pWn, const bool bStart, const bool bIsAllRight ); - SvxSpellWrapper( vcl::Window* pWn, + SvxSpellWrapper( weld::Window* pWn, css::uno::Reference< css::linguistic2::XHyphenator > const &xHyphenator, const bool bStart, const bool bOther ); diff --git a/sw/source/uibase/lingu/hyp.cxx b/sw/source/uibase/lingu/hyp.cxx index 4382a490ed99..e26333e8d481 100644 --- a/sw/source/uibase/lingu/hyp.cxx +++ b/sw/source/uibase/lingu/hyp.cxx @@ -45,7 +45,7 @@ using namespace ::com::sun::star; SwHyphWrapper::SwHyphWrapper( SwView* pVw, uno::Reference< linguistic2::XHyphenator > const &rxHyph, bool bStart, bool bOther, bool bSelect ) : - SvxSpellWrapper( &pVw->GetEditWin(), rxHyph, bStart, bOther ), + SvxSpellWrapper( pVw->GetEditWin().GetFrameWeld(), rxHyph, bStart, bOther ), pView( pVw ), nPageCount( 0 ), nPageStart( 0 ), |