summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sfx2/source/appl/helpinterceptor.cxx15
-rw-r--r--sfx2/source/appl/helpinterceptor.hxx16
2 files changed, 24 insertions, 7 deletions
diff --git a/sfx2/source/appl/helpinterceptor.cxx b/sfx2/source/appl/helpinterceptor.cxx
index d0ea67985b4f..c6c4c80d7471 100644
--- a/sfx2/source/appl/helpinterceptor.cxx
+++ b/sfx2/source/appl/helpinterceptor.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: helpinterceptor.cxx,v $
*
- * $Revision: 1.6 $
+ * $Revision: 1.7 $
*
- * last change: $Author: dv $ $Date: 2001-02-16 12:09:15 $
+ * last change: $Author: pb $ $Date: 2001-04-23 11:55:29 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -60,6 +60,7 @@
************************************************************************/
#include "helpinterceptor.hxx"
+#include "newhelp.hxx"
#include "sfxuno.hxx"
#ifndef _URLOBJ_HXX
@@ -74,6 +75,7 @@
#ifndef _CPPUHELPER_INTERFACECONTAINER_H_
#include <cppuhelper/interfacecontainer.h>
#endif
+#include <vcl/window.hxx>
#include <limits.h>
using namespace ::com::sun::star::beans;
@@ -278,8 +280,15 @@ void SAL_CALL HelpInterceptor_Impl::dispatch(
aURL.Complete = pEntry->aURL;
Reference < XDispatch > xDisp = m_xSlaveDispatcher->queryDispatch( aURL, String(), 0 );
if ( xDisp.is() )
+ {
+ if ( m_pOpenListener && m_pWindow )
+ {
+ if ( !m_pWindow->IsWait() )
+ m_pWindow->EnterWait();
+ m_pOpenListener->AddListener( xDisp, aURL );
+ }
xDisp->dispatch( aURL, Sequence < PropertyValue >() );
-
+ }
}
}
}
diff --git a/sfx2/source/appl/helpinterceptor.hxx b/sfx2/source/appl/helpinterceptor.hxx
index e261b870793e..e0aa57870cdf 100644
--- a/sfx2/source/appl/helpinterceptor.hxx
+++ b/sfx2/source/appl/helpinterceptor.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: helpinterceptor.hxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: pb $ $Date: 2000-12-10 14:17:57 $
+ * last change: $Author: pb $ $Date: 2001-04-23 11:55:29 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -104,6 +104,8 @@ struct HelpHistoryEntry_Impl
DECLARE_LIST(HelpHistoryList_Impl,HelpHistoryEntry_Impl*);
+class OpenStatusListener_Impl;
+class Window;
class HelpInterceptor_Impl : public ::cppu::WeakImplHelper3<
::com::sun::star::frame::XDispatchProviderInterceptor,
@@ -121,8 +123,10 @@ private:
::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener > m_xListener;
- HelpHistoryList_Impl* m_pHistory;
- ULONG m_nCurPos;
+ HelpHistoryList_Impl* m_pHistory;
+ OpenStatusListener_Impl* m_pOpenListener;
+ Window* m_pWindow;
+ ULONG m_nCurPos;
void addURL( const String& rURL );
@@ -155,6 +159,10 @@ public:
virtual void SAL_CALL dispatch( const ::com::sun::star::util::URL& aURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs ) throw(::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL addStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& xControl, const ::com::sun::star::util::URL& aURL ) throw(::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL removeStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& xControl, const ::com::sun::star::util::URL& aURL ) throw(::com::sun::star::uno::RuntimeException);
+
+ // extras
+ void InitWaiter( OpenStatusListener_Impl* pListener, Window* pWindow )
+ { m_pOpenListener = pListener; m_pWindow = pWindow; }
};
// HelpListener_Impl -----------------------------------------------------