Kaydet (Commit) b644073a authored tarafından Rüdiger Timm's avatar Rüdiger Timm

INTEGRATION: CWS perform04 (1.176.10); FILE MERGED

2005/05/13 07:30:40 cd 1.176.10.1: #i49160,i49165# Optimizations for startup (minimal steps for progress and late init of static data)
üst 0b313d90
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: app.cxx,v $ * $RCSfile: app.cxx,v $
* *
* $Revision: 1.176 $ * $Revision: 1.177 $
* *
* last change: $Author: obo $ $Date: 2005-04-22 11:28:35 $ * last change: $Author: rt $ $Date: 2005-05-13 13:04:56 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -552,45 +552,37 @@ void ReplaceStringHookProc( UniString& rStr ) ...@@ -552,45 +552,37 @@ void ReplaceStringHookProc( UniString& rStr )
{ {
static int nAll = 0, nPro = 0; static int nAll = 0, nPro = 0;
String &rBrandName = BrandName::get(); nAll++;
String &rVersion = Version::get(); if ( rStr.SearchAscii( "%PRODUCT" ) != STRING_NOTFOUND )
String &rExtension = Extension::get();
String &rXMLFileFormatVersion = XMLFileFormatVersion::get();
String &rWriterCompatibilityVersionOOo11 = WriterCompatibilityVersionOOo11::get();
if ( !rBrandName.Len() )
{ {
Any aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTNAME ); String &rBrandName = BrandName::get();
rtl::OUString aTmp; String &rVersion = Version::get();
aRet >>= aTmp; String &rExtension = Extension::get();
rBrandName = aTmp; String &rXMLFileFormatVersion = XMLFileFormatVersion::get();
aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTXMLFILEFORMATVERSION );
aRet >>= aTmp;
rXMLFileFormatVersion = aTmp;
aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTVERSION );
aRet >>= aTmp;
rVersion = aTmp;
if ( !rExtension.Len() ) if ( !rBrandName.Len() )
{ {
aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTEXTENSION ); rtl::OUString aTmp;
Any aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTNAME );
aRet >>= aTmp; aRet >>= aTmp;
rExtension = aTmp; rBrandName = aTmp;
}
if ( !rWriterCompatibilityVersionOOo11.Len() ) aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTXMLFILEFORMATVERSION );
{
aRet = ::utl::ConfigManager::GetDirectConfigProperty(
::utl::ConfigManager::WRITERCOMPATIBILITYVERSIONOOO11 );
aRet >>= aTmp; aRet >>= aTmp;
rWriterCompatibilityVersionOOo11 = aTmp; rXMLFileFormatVersion = aTmp;
}
} aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTVERSION );
aRet >>= aTmp;
rVersion = aTmp;
if ( !rExtension.Len() )
{
aRet = ::utl::ConfigManager::GetDirectConfigProperty( ::utl::ConfigManager::PRODUCTEXTENSION );
aRet >>= aTmp;
rExtension = aTmp;
}
}
nAll++;
if ( rStr.SearchAscii( "%PRODUCT" ) != STRING_NOTFOUND )
{
nPro++; nPro++;
rStr.SearchAndReplaceAllAscii( "%PRODUCTNAME", rBrandName ); rStr.SearchAndReplaceAllAscii( "%PRODUCTNAME", rBrandName );
rStr.SearchAndReplaceAllAscii( "%PRODUCTVERSION", rVersion ); rStr.SearchAndReplaceAllAscii( "%PRODUCTVERSION", rVersion );
...@@ -599,8 +591,20 @@ void ReplaceStringHookProc( UniString& rStr ) ...@@ -599,8 +591,20 @@ void ReplaceStringHookProc( UniString& rStr )
} }
if ( rStr.SearchAscii( "%WRITERCOMPATIBILITYVERSIONOOO11" ) != STRING_NOTFOUND ) if ( rStr.SearchAscii( "%WRITERCOMPATIBILITYVERSIONOOO11" ) != STRING_NOTFOUND )
{
String &rWriterCompatibilityVersionOOo11 = WriterCompatibilityVersionOOo11::get();
if ( !rWriterCompatibilityVersionOOo11.Len() )
{
rtl::OUString aTmp;
Any aRet = ::utl::ConfigManager::GetDirectConfigProperty(
::utl::ConfigManager::WRITERCOMPATIBILITYVERSIONOOO11 );
aRet >>= aTmp;
rWriterCompatibilityVersionOOo11 = aTmp;
}
rStr.SearchAndReplaceAllAscii( "%WRITERCOMPATIBILITYVERSIONOOO11", rStr.SearchAndReplaceAllAscii( "%WRITERCOMPATIBILITYVERSIONOOO11",
rWriterCompatibilityVersionOOo11 ); rWriterCompatibilityVersionOOo11 );
}
} }
Desktop::Desktop() Desktop::Desktop()
...@@ -1350,7 +1354,7 @@ void Desktop::Main() ...@@ -1350,7 +1354,7 @@ void Desktop::Main()
} }
// refresh path information // refresh path information
utl::Bootstrap::reloadData(); utl::Bootstrap::reloadData();
SetSplashScreenProgress(10); SetSplashScreenProgress(25);
} }
Reference< XMultiServiceFactory > xSMgr = Reference< XMultiServiceFactory > xSMgr =
...@@ -1363,7 +1367,7 @@ void Desktop::Main() ...@@ -1363,7 +1367,7 @@ void Desktop::Main()
{ {
RegisterServices( xSMgr ); RegisterServices( xSMgr );
SetSplashScreenProgress(15); //SetSplashScreenProgress(15);
#ifndef UNX #ifndef UNX
if ( pCmdLineArgs->IsHelp() ) { if ( pCmdLineArgs->IsHelp() ) {
...@@ -1404,7 +1408,7 @@ void Desktop::Main() ...@@ -1404,7 +1408,7 @@ void Desktop::Main()
// Read the common configuration items for optimization purpose // Read the common configuration items for optimization purpose
if ( !InitializeConfiguration() ) return; if ( !InitializeConfiguration() ) return;
SetSplashScreenProgress(20); //SetSplashScreenProgress(20);
// create title string // create title string
sal_Bool bCheckOk = sal_False; sal_Bool bCheckOk = sal_False;
...@@ -1440,12 +1444,12 @@ void Desktop::Main() ...@@ -1440,12 +1444,12 @@ void Desktop::Main()
#endif #endif
SetDisplayName( aTitle ); SetDisplayName( aTitle );
SetSplashScreenProgress(30); // SetSplashScreenProgress(30);
RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create SvtPathOptions and SvtLanguageOptions" ); RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create SvtPathOptions and SvtLanguageOptions" );
pPathOptions = new SvtPathOptions; pPathOptions = new SvtPathOptions;
SetSplashScreenProgress(40); // SetSplashScreenProgress(40);
pLanguageOptions = new SvtLanguageOptions(sal_True); pLanguageOptions = new SvtLanguageOptions(sal_True);
SetSplashScreenProgress(45); // SetSplashScreenProgress(45);
RTL_LOGFILE_CONTEXT_TRACE( aLog, "} create SvtPathOptions and SvtLanguageOptions" ); RTL_LOGFILE_CONTEXT_TRACE( aLog, "} create SvtPathOptions and SvtLanguageOptions" );
// Check special env variable #111015# // Check special env variable #111015#
...@@ -1546,7 +1550,7 @@ void Desktop::Main() ...@@ -1546,7 +1550,7 @@ void Desktop::Main()
OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY ); OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
if (xDesktopFrame.is()) if (xDesktopFrame.is())
{ {
SetSplashScreenProgress(60); // SetSplashScreenProgress(60);
Reference< XFrame > xBackingFrame; Reference< XFrame > xBackingFrame;
Reference< ::com::sun::star::awt::XWindow > xContainerWindow; Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
...@@ -1555,14 +1559,14 @@ void Desktop::Main() ...@@ -1555,14 +1559,14 @@ void Desktop::Main()
xContainerWindow = xBackingFrame->getContainerWindow(); xContainerWindow = xBackingFrame->getContainerWindow();
if (xContainerWindow.is()) if (xContainerWindow.is())
{ {
SetSplashScreenProgress(70); SetSplashScreenProgress(75);
Sequence< Any > lArgs(1); Sequence< Any > lArgs(1);
lArgs[0] <<= xContainerWindow; lArgs[0] <<= xContainerWindow;
Reference< XController > xBackingComp( Reference< XController > xBackingComp(
xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs), xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs),
UNO_QUERY); UNO_QUERY);
SetSplashScreenProgress(80); // SetSplashScreenProgress(80);
if (xBackingComp.is()) if (xBackingComp.is())
{ {
Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY); Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY);
...@@ -1570,7 +1574,7 @@ void Desktop::Main() ...@@ -1570,7 +1574,7 @@ void Desktop::Main()
// Because the backing component set the property "IsBackingMode" of the frame // Because the backing component set the property "IsBackingMode" of the frame
// to true inside attachFrame(). But setComponent() reset this state everytimes ... // to true inside attachFrame(). But setComponent() reset this state everytimes ...
xBackingFrame->setComponent(xBackingWin, xBackingComp); xBackingFrame->setComponent(xBackingWin, xBackingComp);
SetSplashScreenProgress(90); SetSplashScreenProgress(100);
xBackingComp->attachFrame(xBackingFrame); xBackingComp->attachFrame(xBackingFrame);
CloseSplashScreen(); CloseSplashScreen();
xContainerWindow->setVisible(sal_True); xContainerWindow->setVisible(sal_True);
...@@ -1605,7 +1609,7 @@ void Desktop::Main() ...@@ -1605,7 +1609,7 @@ void Desktop::Main()
return; return;
} }
*/ */
SetSplashScreenProgress(55); // SetSplashScreenProgress(55);
SvtFontSubstConfig().Apply(); SvtFontSubstConfig().Apply();
...@@ -1614,14 +1618,14 @@ void Desktop::Main() ...@@ -1614,14 +1618,14 @@ void Desktop::Main()
aAppearanceCfg.SetApplicationDefaults( this ); aAppearanceCfg.SetApplicationDefaults( this );
SvtAccessibilityOptions aOptions; SvtAccessibilityOptions aOptions;
aOptions.SetVCLSettings(); aOptions.SetVCLSettings();
SetSplashScreenProgress(60); // SetSplashScreenProgress(60);
Application::SetFilterHdl( LINK( this, Desktop, ImplInitFilterHdl ) ); Application::SetFilterHdl( LINK( this, Desktop, ImplInitFilterHdl ) );
sal_Bool bTerminateRequested = sal_False; sal_Bool bTerminateRequested = sal_False;
// Preload function depends on an initialized sfx application! // Preload function depends on an initialized sfx application!
SetSplashScreenProgress(70); SetSplashScreenProgress(75);
sal_Bool bUseSystemFileDialog(sal_True); sal_Bool bUseSystemFileDialog(sal_True);
if ( pCmdLineArgs->IsHeadless() ) if ( pCmdLineArgs->IsHeadless() )
...@@ -1637,7 +1641,7 @@ void Desktop::Main() ...@@ -1637,7 +1641,7 @@ void Desktop::Main()
// use system window dialogs // use system window dialogs
Application::SetSystemWindowMode( SYSTEMWINDOW_MODE_DIALOG ); Application::SetSystemWindowMode( SYSTEMWINDOW_MODE_DIALOG );
SetSplashScreenProgress(80); // SetSplashScreenProgress(80);
if ( !bTerminateRequested && !pCmdLineArgs->IsInvisible() ) if ( !bTerminateRequested && !pCmdLineArgs->IsInvisible() )
InitializeQuickstartMode( xSMgr ); InitializeQuickstartMode( xSMgr );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment