[Libreoffice-commits] core.git: editeng/inc editeng/source forms/source include/editeng sw/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Thu Oct 31 12:31:40 UTC 2019


 editeng/inc/edtspell.hxx                |    5 +----
 editeng/source/editeng/edtspell.cxx     |    6 +++---
 editeng/source/editeng/impedit4.cxx     |    3 ++-
 editeng/source/misc/splwrap.cxx         |   22 +++++++++-------------
 forms/source/component/ImageControl.cxx |    5 ++---
 include/editeng/splwrap.hxx             |   11 +++++------
 sw/source/uibase/lingu/hyp.cxx          |    2 +-
 7 files changed, 23 insertions(+), 31 deletions(-)

New commits:
commit e2aa85a6fbc039e8b1950f0e4b8484595d0b47eb
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Oct 30 11:34:27 2019 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Oct 31 13:30:59 2019 +0100

    avoid intermediate vcl::Windows
    
    Change-Id: Iac6bc83265e007a699a8993b89ac2efaa3739d95
    Reviewed-on: https://gerrit.libreoffice.org/81761
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

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 ),


More information about the Libreoffice-commits mailing list