diff options
author | Jan Holesovsky <kendy@suse.cz> | 2010-10-12 15:31:05 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@novell.com> | 2010-10-12 15:40:56 +0100 |
commit | b2b138ac3dbcd4206c944428d43e234d4f854ef3 (patch) | |
tree | 7f4e6c02dc816c35e3e6c67f8ae1a5ce60c8d960 | |
parent | 34ebfb2b61686999065015295dab9f623027e94d (diff) |
Implement hooks for unix quickstarter
-rw-r--r-- | vcl/inc/vcl/svapp.hxx | 1 | ||||
-rw-r--r-- | vcl/source/app/svapp.cxx | 5 | ||||
-rw-r--r-- | vcl/source/window/window.cxx | 27 |
3 files changed, 24 insertions, 9 deletions
diff --git a/vcl/inc/vcl/svapp.hxx b/vcl/inc/vcl/svapp.hxx index bcfa489ca1de..c4813e465f94 100644 --- a/vcl/inc/vcl/svapp.hxx +++ b/vcl/inc/vcl/svapp.hxx @@ -261,6 +261,7 @@ public: virtual void DataChanged( const DataChangedEvent& rDCEvt ); virtual void Init(); + virtual void InitFinished(); virtual void DeInit(); static void InitAppRes( const ResId& rResId ); diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx index 029f282b6252..616b7c1fdab3 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx @@ -312,6 +312,11 @@ void Application::Init() } // ----------------------------------------------------------------------- +void Application::InitFinished() +{ +} + +// ----------------------------------------------------------------------- void Application::DeInit() { diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index d4c8ee32ae64..2ec9a8caeeae 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -633,10 +633,10 @@ void Window::ImplInitWindowData( WindowType nType ) mpWindowImpl->mbDockWin = FALSE; // TRUE: DockingWindow is the base class mpWindowImpl->mbFloatWin = FALSE; // TRUE: FloatingWindow is the base class mpWindowImpl->mbPushButton = FALSE; // TRUE: PushButton is the base class - mpWindowImpl->mbToolBox = FALSE; // TRUE: ToolBox is the base class - mpWindowImpl->mbMenuFloatingWindow= FALSE; // TRUE: MenuFloatingWindow is the base class - mpWindowImpl->mbToolbarFloatingWindow= FALSE; // TRUE: ImplPopupFloatWin is the base class, used for subtoolbars - mpWindowImpl->mbSplitter = FALSE; // TRUE: Splitter is the base class + mpWindowImpl->mbToolBox = FALSE; // TRUE: ToolBox is the base class + mpWindowImpl->mbMenuFloatingWindow= FALSE; // TRUE: MenuFloatingWindow is the base class + mpWindowImpl->mbToolbarFloatingWindow= FALSE; // TRUE: ImplPopupFloatWin is the base class, used for subtoolbars + mpWindowImpl->mbSplitter = FALSE; // TRUE: Splitter is the base class mpWindowImpl->mbVisible = FALSE; // TRUE: Show( true ) called mpWindowImpl->mbOverlapVisible = FALSE; // TRUE: Hide called for visible window from ImplHideAllOverlapWindow() mpWindowImpl->mbDisabled = FALSE; // TRUE: Enable( FALSE ) called @@ -6585,10 +6585,19 @@ void Window::Show( BOOL bVisible, USHORT nFlags ) mpWindowImpl->mpBorderWindow->Show( true, nFlags ); else if ( mpWindowImpl->mbFrame ) { - ImplSVData* pSVData = ImplGetSVData(); // #106431#, hide SplashScreen - if( pSVData->mpIntroWindow && !ImplIsWindowOrChild( pSVData->mpIntroWindow ) ) + ImplSVData* pSVData = ImplGetSVData(); + if ( !pSVData->mpIntroWindow ) + { + // The right way would be just to call this (not even in the 'if') + GetpApp()->InitFinished(); + } + else if ( !ImplIsWindowOrChild( pSVData->mpIntroWindow ) ) + { + // ... but the VCL splash is broken, and it needs this + // (for ./soffice slot:5500) pSVData->mpIntroWindow->Hide(); + } //DBG_ASSERT( !mpWindowImpl->mbSuppressAccessibilityEvents, "Window::Show() - Frame reactivated"); mpWindowImpl->mbSuppressAccessibilityEvents = FALSE; @@ -8717,8 +8726,8 @@ Reference< XClipboard > Window::GetPrimarySelection() mpWindowImpl->mpFrameData->mxSelection = Reference< XClipboard >( xFactory->createInstanceWithArguments( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.SystemClipboard" ), aArgumentList ), UNO_QUERY ); -# else - static Reference< XClipboard > s_xSelection; +# else + static Reference< XClipboard > s_xSelection; if ( !s_xSelection.is() ) s_xSelection = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.GenericClipboardExt" ) ), UNO_QUERY ); @@ -8727,7 +8736,7 @@ Reference< XClipboard > Window::GetPrimarySelection() s_xSelection = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.GenericClipboard" ) ), UNO_QUERY ); mpWindowImpl->mpFrameData->mxSelection = s_xSelection; -# endif +# endif } } |