summaryrefslogtreecommitdiff
path: root/desktop/source/app
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/source/app')
-rwxr-xr-x[-rw-r--r--]desktop/source/app/app.cxx235
-rwxr-xr-x[-rw-r--r--]desktop/source/app/appfirststart.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/appinit.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/appinit.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/appsys.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/appsys.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/check_ext_deps.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/checkinstall.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/checkinstall.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/cmdlineargs.cxx260
-rwxr-xr-x[-rw-r--r--]desktop/source/app/cmdlineargs.hxx35
-rwxr-xr-x[-rw-r--r--]desktop/source/app/cmdlinehelp.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/cmdlinehelp.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/configinit.cxx2
-rwxr-xr-x[-rw-r--r--]desktop/source/app/configinit.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/copyright_ascii_ooo.c0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/copyright_ascii_sun.c0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/desktop.hrc0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/desktop.src1
-rwxr-xr-x[-rw-r--r--]desktop/source/app/desktopcontext.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/desktopcontext.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/desktopresid.cxx2
-rwxr-xr-x[-rw-r--r--]desktop/source/app/desktopresid.hxx2
-rwxr-xr-x[-rw-r--r--]desktop/source/app/dispatchwatcher.cxx2
-rwxr-xr-x[-rw-r--r--]desktop/source/app/dispatchwatcher.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/exports.dxp1
-rwxr-xr-x[-rw-r--r--]desktop/source/app/langselect.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/langselect.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/lockfile.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/lockfile.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/lockfile2.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/main.c0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/makefile.mk0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/officeipcthread.cxx2
-rwxr-xr-x[-rw-r--r--]desktop/source/app/officeipcthread.hxx2
-rwxr-xr-x[-rw-r--r--]desktop/source/app/omutexmember.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/sofficemain.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/sofficemain.h0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/userinstall.cxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/userinstall.hxx0
-rwxr-xr-x[-rw-r--r--]desktop/source/app/version.map0
41 files changed, 318 insertions, 226 deletions
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index d3ae55b96d07..3134b03d87ba 100644..100755
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -117,6 +117,7 @@
#include <osl/file.hxx>
#include <osl/process.h>
#include <osl/signal.h>
+#include <osl/thread.hxx>
#include <rtl/uuid.h>
#include <rtl/uri.hxx>
#include <unotools/pathoptions.hxx>
@@ -189,6 +190,7 @@ namespace desktop
static oslSignalHandler pSignalHandler = 0;
static sal_Bool _bCrashReporterEnabled = sal_True;
+static ::rtl::OUString getBrandSharePreregBundledPathURL();
// ----------------------------------------------------------------------------
ResMgr* Desktop::GetDesktopResManager()
@@ -227,7 +229,7 @@ ResMgr* Desktop::GetDesktopResManager()
// Get a message string securely. There is a fallback string if the resource
// is not available.
-OUString Desktop::GetMsgString( USHORT nId, const OUString& aFaultBackMsg )
+OUString Desktop::GetMsgString( sal_uInt16 nId, const OUString& aFaultBackMsg )
{
ResMgr* resMgr = GetDesktopResManager();
if ( !resMgr )
@@ -323,9 +325,7 @@ CommandLineArgs* Desktop::GetCommandLineArgs()
{
::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
if ( !pArgs )
- {
pArgs = new CommandLineArgs;
- }
}
return pArgs;
@@ -555,6 +555,44 @@ static ::rtl::OUString getLastSyncFileURLFromUserInstallation()
return aTmp.makeStringAndClear();
}
+//Checks if the argument src is the folder of the help or configuration
+//backend in the prereg folder
+static bool excludeTmpFilesAndFolders(const rtl::OUString & src)
+{
+ const char helpBackend[] = "com.sun.star.comp.deployment.help.PackageRegistryBackend";
+ const char configBackend[] = "com.sun.star.comp.deployment.configuration.PackageRegistryBackend";
+ if (src.endsWithAsciiL(helpBackend, sizeof(helpBackend) - 1 )
+ || src.endsWithAsciiL(configBackend, sizeof(configBackend) - 1))
+ {
+ return true;
+ }
+ return false;
+}
+
+//If we are about to copy the contents of some special folder as determined
+//by excludeTmpFilesAndFolders, then we omit those files or folders with a name
+//derived from temporary folders.
+static bool isExcludedFileOrFolder( const rtl::OUString & name)
+{
+ char const * allowed[] = {
+ "backenddb.xml",
+ "configmgr.ini",
+ "registered_packages.db"
+ };
+
+ const unsigned int size = sizeof(allowed) / sizeof (char const *);
+ bool bExclude = true;
+ for (unsigned int i= 0; i < size; i ++)
+ {
+ ::rtl::OUString allowedName = ::rtl::OUString::createFromAscii(allowed[i]);
+ if (allowedName.equals(name))
+ {
+ bExclude = false;
+ break;
+ }
+ }
+ return bExclude;
+}
static osl::FileBase::RC copy_bundled_recursive(
const rtl::OUString& srcUnqPath,
@@ -577,6 +615,7 @@ throw()
err = osl::FileBase::E_None;
osl::Directory aDir( srcUnqPath );
+ bool bExcludeFiles = excludeTmpFilesAndFolders(srcUnqPath);
if (aDir.open() == osl::FileBase::E_None)
{
sal_Int32 n_Mask = FileStatusMask_FileURL |
@@ -612,7 +651,12 @@ throw()
// Special treatment for "lastsychronized" file. Must not be
// copied from the bundled folder!
- if ( IsDoc && aFileName.equalsAscii( pLastSyncFileName ))
+ //Also do not copy *.tmp files and *.tmp_ folders. This affects the files/folders
+ //from the help and configuration backend
+ if ( IsDoc && (aFileName.equalsAscii( pLastSyncFileName )
+ || (bExcludeFiles && isExcludedFileOrFolder(aFileName))))
+ bFilter = true;
+ else if (!IsDoc && bExcludeFiles && isExcludedFileOrFolder(aFileName))
bFilter = true;
}
@@ -765,7 +809,7 @@ void Desktop::DeInit()
RTL_LOGFILE_CONTEXT_TRACE( aLog, "FINISHED WITH Destop::DeInit" );
}
-BOOL Desktop::QueryExit()
+sal_Bool Desktop::QueryExit()
{
try
{
@@ -791,7 +835,7 @@ BOOL Desktop::QueryExit()
xPropertySet->setPropertyValue( OUSTRING(RTL_CONSTASCII_USTRINGPARAM( SUSPEND_QUICKSTARTVETO )), a );
}
- BOOL bExit = ( !xDesktop.is() || xDesktop->terminate() );
+ sal_Bool bExit = ( !xDesktop.is() || xDesktop->terminate() );
if ( !bExit && xPropertySet.is() )
@@ -1378,10 +1422,10 @@ void restartOnMac(bool passArguments) {
}
-USHORT Desktop::Exception(USHORT nError)
+sal_uInt16 Desktop::Exception(sal_uInt16 nError)
{
// protect against recursive calls
- static BOOL bInException = FALSE;
+ static sal_Bool bInException = sal_False;
sal_uInt16 nOldMode = Application::GetSystemWindowMode();
Application::SetSystemWindowMode( nOldMode & ~SYSTEMWINDOW_MODE_NOAUTOMODE );
@@ -1393,7 +1437,7 @@ USHORT Desktop::Exception(USHORT nError)
Application::Abort( aDoubleExceptionString );
}
- bInException = TRUE;
+ bInException = sal_True;
CommandLineArgs* pArgs = GetCommandLineArgs();
// save all modified documents ... if it's allowed doing so.
@@ -1479,8 +1523,26 @@ namespace {
}
}
+struct ExecuteGlobals
+{
+ Reference < css::document::XEventListener > xGlobalBroadcaster;
+ sal_Bool bRestartRequested;
+ sal_Bool bUseSystemFileDialog;
+ std::auto_ptr<SvtLanguageOptions> pLanguageOptions;
+ std::auto_ptr<SvtPathOptions> pPathOptions;
+
+ ExecuteGlobals()
+ : bRestartRequested( sal_False )
+ , bUseSystemFileDialog( sal_True )
+ {}
+};
+
+static ExecuteGlobals* pExecGlobals = NULL;
+
int Desktop::Main()
{
+ pExecGlobals = new ExecuteGlobals();
+
RTL_LOGFILE_CONTEXT( aLog, "desktop (cd100003) ::Desktop::Main" );
// Remember current context object
@@ -1539,14 +1601,8 @@ int Desktop::Main()
Reference< XMultiServiceFactory > xSMgr =
::comphelper::getProcessServiceFactory();
- std::auto_ptr<SvtLanguageOptions> pLanguageOptions;
- std::auto_ptr<SvtPathOptions> pPathOptions;
-
Reference< ::com::sun::star::task::XRestartManager > xRestartManager;
- sal_Bool bRestartRequested( sal_False );
- sal_Bool bUseSystemFileDialog(sal_True);
- int nAcquireCount( 0 );
- Reference < css::document::XEventListener > xGlobalBroadcaster;
+ int nAcquireCount( 0 );
try
{
RegisterServices( xSMgr );
@@ -1574,7 +1630,7 @@ int Desktop::Main()
RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ GetEnableATToolSupport" );
if( Application::GetSettings().GetMiscSettings().GetEnableATToolSupport() )
{
- BOOL bQuitApp;
+ sal_Bool bQuitApp;
if( !InitAccessBridge( true, bQuitApp ) )
if( bQuitApp )
@@ -1604,12 +1660,8 @@ int Desktop::Main()
// create title string
sal_Bool bCheckOk = sal_False;
::com::sun::star::lang::Locale aLocale;
- ResMgr* pLabelResMgr = ResMgr::SearchCreateResMgr( "iso", aLocale );
- if ( !pLabelResMgr )
- {
- // no "iso" resource -> search for "ooo" resource
- pLabelResMgr = ResMgr::SearchCreateResMgr( "ooo", aLocale);
- }
+ String aMgrName = String::CreateFromAscii( "ofa" );
+ ResMgr* pLabelResMgr = ResMgr::SearchCreateResMgr( "ofa", aLocale );
String aTitle = pLabelResMgr ? String( ResId( RID_APPTITLE, *pLabelResMgr ) ) : String();
delete pLabelResMgr;
@@ -1633,7 +1685,7 @@ int Desktop::Main()
SetDisplayName( aTitle );
SetSplashScreenProgress(35);
RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create SvtPathOptions and SvtLanguageOptions" );
- pPathOptions.reset( new SvtPathOptions);
+ pExecGlobals->pPathOptions.reset( new SvtPathOptions);
SetSplashScreenProgress(40);
RTL_LOGFILE_CONTEXT_TRACE( aLog, "} create SvtPathOptions and SvtLanguageOptions" );
@@ -1650,7 +1702,7 @@ int Desktop::Main()
}
// create service for loadin SFX (still needed in startup)
- xGlobalBroadcaster = Reference < css::document::XEventListener >
+ pExecGlobals->xGlobalBroadcaster = Reference < css::document::XEventListener >
( xSMgr->createInstance(
DEFINE_CONST_UNICODE( "com.sun.star.frame.GlobalEventBroadcaster" ) ), UNO_QUERY );
@@ -1677,16 +1729,17 @@ int Desktop::Main()
Migration::migrateSettingsIfNecessary();
// keep a language options instance...
- pLanguageOptions.reset( new SvtLanguageOptions(sal_True));
+ pExecGlobals->pLanguageOptions.reset( new SvtLanguageOptions(sal_True));
- if (xGlobalBroadcaster.is())
+ if (pExecGlobals->xGlobalBroadcaster.is())
{
css::document::EventObject aEvent;
aEvent.EventName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OnStartApp"));
- xGlobalBroadcaster->notifyEvent(aEvent);
+ pExecGlobals->xGlobalBroadcaster->notifyEvent(aEvent);
}
SetSplashScreenProgress(50);
+
// Backing Component
sal_Bool bCrashed = sal_False;
sal_Bool bExistsRecoveryData = sal_False;
@@ -1702,7 +1755,7 @@ int Desktop::Main()
}
// check whether the shutdown is caused by restart
- bRestartRequested = ( xRestartManager.is() && xRestartManager->isRestartRequested( sal_True ) );
+ pExecGlobals->bRestartRequested = ( xRestartManager.is() && xRestartManager->isRestartRequested( sal_True ) );
if ( pCmdLineArgs->IsHeadless() )
{
@@ -1710,43 +1763,38 @@ int Desktop::Main()
// headless mode relies on Application::EnableHeadlessMode()
// which does only work for VCL dialogs!!
SvtMiscOptions aMiscOptions;
- bUseSystemFileDialog = aMiscOptions.UseSystemFileDialog();
+ pExecGlobals->bUseSystemFileDialog = aMiscOptions.UseSystemFileDialog();
aMiscOptions.SetUseSystemFileDialog( sal_False );
}
- if ( !bRestartRequested )
+ if ( !pExecGlobals->bRestartRequested )
{
- if (
- (pCmdLineArgs->IsEmptyOrAcceptOnly() ) &&
+ if ((!pCmdLineArgs->WantsToLoadDocument() ) &&
(SvtModuleOptions().IsModuleInstalled(SvtModuleOptions::E_SSTARTMODULE)) &&
(!bExistsRecoveryData ) &&
(!bExistsSessionData ) &&
- (!Application::AnyInput( INPUT_APPEVENT ) )
- )
+ (!Application::AnyInput( INPUT_APPEVENT ) ))
{
- RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create BackingComponent" );
- Reference< XFrame > xDesktopFrame( xSMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- if (xDesktopFrame.is())
- {
- SetSplashScreenProgress(60);
- Reference< XFrame > xBackingFrame;
- Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
-
- xBackingFrame = xDesktopFrame->findFrame(OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0);
- if (xBackingFrame.is())
- xContainerWindow = xBackingFrame->getContainerWindow();
- if (xContainerWindow.is())
- {
- SetDocumentExtendedStyle(xContainerWindow);
- SetSplashScreenProgress(75);
- Sequence< Any > lArgs(1);
- lArgs[0] <<= xContainerWindow;
-
- Reference< XController > xBackingComp(
- xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs),
- UNO_QUERY);
- SetSplashScreenProgress(80);
+ RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create BackingComponent" );
+ Reference< XFrame > xDesktopFrame( xSMgr->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
+ if (xDesktopFrame.is())
+ {
+ SetSplashScreenProgress(60);
+ Reference< XFrame > xBackingFrame;
+ Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
+
+ xBackingFrame = xDesktopFrame->findFrame(OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0);
+ if (xBackingFrame.is())
+ xContainerWindow = xBackingFrame->getContainerWindow();
+ if (xContainerWindow.is())
+ {
+ SetDocumentExtendedStyle(xContainerWindow);
+ SetSplashScreenProgress(75);
+ Sequence< Any > lArgs(1);
+ lArgs[0] <<= xContainerWindow;
+
+ Reference< XController > xBackingComp(
+ xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs), UNO_QUERY);
if (xBackingComp.is())
{
Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY);
@@ -1788,10 +1836,9 @@ int Desktop::Main()
aOptions.SetVCLSettings();
SetSplashScreenProgress(60);
- if ( !bRestartRequested )
+ if ( !pExecGlobals->bRestartRequested )
{
Application::SetFilterHdl( LINK( this, Desktop, ImplInitFilterHdl ) );
-
sal_Bool bTerminateRequested = sal_False;
// Preload function depends on an initialized sfx application!
@@ -1847,9 +1894,9 @@ int Desktop::Main()
new svt::JavaContext( com::sun::star::uno::getCurrentContext() ) );
// check whether the shutdown is caused by restart just before entering the Execute
- bRestartRequested = bRestartRequested || ( xRestartManager.is() && xRestartManager->isRestartRequested( sal_True ) );
+ pExecGlobals->bRestartRequested = pExecGlobals->bRestartRequested || ( xRestartManager.is() && xRestartManager->isRestartRequested( sal_True ) );
- if ( !bRestartRequested )
+ if ( !pExecGlobals->bRestartRequested )
{
// if this run of the office is triggered by restart, some additional actions should be done
DoRestartActionsIfNecessary( !pCmdLineArgs->IsInvisible() && !pCmdLineArgs->IsNoQuickstart() );
@@ -1868,44 +1915,57 @@ int Desktop::Main()
FatalError( MakeStartupErrorMessage(exAnyCfg.Message) );
}
}
+ // CAUTION: you do not necessarily get here e.g. on the Mac.
+ // please put all deinitialization code into doShutdown
+ return doShutdown();
+}
- if ( bRestartRequested )
+int Desktop::doShutdown()
+{
+ if( ! pExecGlobals )
+ return EXIT_SUCCESS;
+
+ if ( pExecGlobals->bRestartRequested )
SetRestartState();
- if (xGlobalBroadcaster.is())
+ if (pExecGlobals->xGlobalBroadcaster.is())
{
css::document::EventObject aEvent;
aEvent.EventName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OnCloseApp"));
- xGlobalBroadcaster->notifyEvent(aEvent);
+ pExecGlobals->xGlobalBroadcaster->notifyEvent(aEvent);
}
- delete pResMgr;
+ delete pResMgr, pResMgr = NULL;
// Restore old value
+ CommandLineArgs* pCmdLineArgs = GetCommandLineArgs();
if ( pCmdLineArgs->IsHeadless() )
- SvtMiscOptions().SetUseSystemFileDialog( bUseSystemFileDialog );
+ SvtMiscOptions().SetUseSystemFileDialog( pExecGlobals->bUseSystemFileDialog );
// remove temp directory
RemoveTemporaryDirectory();
FlushConfiguration();
// The acceptors in the AcceptorMap must be released (in DeregisterServices)
// with the solar mutex unlocked, to avoid deadlock:
- nAcquireCount = Application::ReleaseSolarMutex();
+ sal_uLong nAcquireCount = Application::ReleaseSolarMutex();
DeregisterServices();
Application::AcquireSolarMutex(nAcquireCount);
tools::DeInitTestToolLib();
// be sure that path/language options gets destroyed before
// UCB is deinitialized
RTL_LOGFILE_CONTEXT_TRACE( aLog, "-> dispose path/language options" );
- pLanguageOptions.reset( 0 );
- pPathOptions.reset( 0 );
+ pExecGlobals->pLanguageOptions.reset( 0 );
+ pExecGlobals->pPathOptions.reset( 0 );
RTL_LOGFILE_CONTEXT_TRACE( aLog, "<- dispose path/language options" );
RTL_LOGFILE_CONTEXT_TRACE( aLog, "-> deinit ucb" );
::ucbhelper::ContentBroker::deinitialize();
RTL_LOGFILE_CONTEXT_TRACE( aLog, "<- deinit ucb" );
+ sal_Bool bRR = pExecGlobals->bRestartRequested;
+ delete pExecGlobals, pExecGlobals = NULL;
+
RTL_LOGFILE_CONTEXT_TRACE( aLog, "FINISHED WITH Destop::Main" );
- if ( bRestartRequested )
+ if ( bRR )
{
restartOnMac(true);
if ( m_rSplashScreen.is() )
@@ -2011,7 +2071,7 @@ sal_Bool Desktop::shouldLaunchQuickstart()
const SfxPoolItem* pItem=0;
SfxItemSet aQLSet(SFX_APP()->GetPool(), SID_ATTR_QUICKLAUNCHER, SID_ATTR_QUICKLAUNCHER);
SFX_APP()->GetOptions(aQLSet);
- SfxItemState eState = aQLSet.GetItemState(SID_ATTR_QUICKLAUNCHER, FALSE, &pItem);
+ SfxItemState eState = aQLSet.GetItemState(SID_ATTR_QUICKLAUNCHER, sal_False, &pItem);
if (SFX_ITEM_SET == eState)
bQuickstart = ((SfxBoolItem*)pItem)->GetValue();
}
@@ -2037,9 +2097,9 @@ sal_Bool Desktop::InitializeQuickstartMode( Reference< XMultiServiceFactory >& r
// unfortunately this broke the QUARTZ behavior which is to always run
// in quickstart mode since Mac applications do not usually quit
// when the last document closes
- #ifndef QUARTZ
+ //#ifndef QUARTZ
if ( bQuickstart )
- #endif
+ //#endif
{
Sequence< Any > aSeq( 1 );
aSeq[0] <<= bQuickstart;
@@ -2093,18 +2153,6 @@ void Desktop::SystemSettingsChanging( AllSettings& rSettings, Window* )
SvtMenuOptions aMenuOpt;
hStyleSettings.SetUseImagesInMenus(aMenuOpt.GetMenuIconsState());
-
- sal_uInt16 nTabStyle = hStyleSettings.GetTabControlStyle();
- nTabStyle &= ~STYLE_TABCONTROL_SINGLELINE;
- if( aAppearanceCfg.IsSingleLineTabCtrl() )
- nTabStyle |=STYLE_TABCONTROL_SINGLELINE;
-
- nTabStyle &= ~STYLE_TABCONTROL_COLOR;
- if( aAppearanceCfg.IsColoredTabCtrl() )
- nTabStyle |= STYLE_TABCONTROL_COLOR;
-
- hStyleSettings.SetTabControlStyle(nTabStyle);
-
hStyleSettings.SetDragFullOptions( nDragFullOptions );
rSettings.SetStyleSettings ( hStyleSettings );
}
@@ -2141,9 +2189,7 @@ IMPL_LINK( Desktop, OpenClients_Impl, void*, EMPTYARG )
OfficeIPCThread::SetReady();
CloseSplashScreen();
-
CheckFirstRun( );
-
EnableOleAutomation();
if (getenv ("OOO_EXIT_POST_STARTUP"))
@@ -2536,7 +2582,7 @@ void Desktop::OpenClients()
// check if a document has been recovered - if there is one of if a document was loaded by cmdline, no default document
// should be created
Reference < XComponent > xFirst;
- BOOL bLoaded = FALSE;
+ sal_Bool bLoaded = sal_False;
CommandLineArgs* pArgs = GetCommandLineArgs();
SvtInternalOptions aInternalOptions;
@@ -2580,8 +2626,6 @@ void Desktop::OpenClients()
aHelpURLBuffer.appendAscii("&System=UNX");
#elif defined WNT
aHelpURLBuffer.appendAscii("&System=WIN");
-#elif defined MAC
- aHelpURLBuffer.appendAscii("&System=MAC");
#elif defined OS2
aHelpURLBuffer.appendAscii("&System=OS2");
#endif
@@ -2687,7 +2731,7 @@ void Desktop::OpenClients()
bCrashed ,
bExistsRecoveryData);
/* TODO we cant be shure, that at least one document could be recovered here successfully
- So we set bLoaded=TRUE to supress opening of the default document.
+ So we set bLoaded=sal_True to supress opening of the default document.
But we should make it more safe. Otherwhise we have an office without an UI ...
...
May be we can check the desktop if some documents are existing there.
@@ -3113,6 +3157,13 @@ void Desktop::HandleAppEvent( const ApplicationEvent& rAppEvent )
catch(const css::uno::Exception&)
{}
}
+ else if( rAppEvent.GetEvent() == "PRIVATE:DOSHUTDOWN" )
+ {
+ Desktop* pD = dynamic_cast<Desktop*>(GetpApp());
+ OSL_ENSURE( pD, "no desktop ?!?" );
+ if( pD )
+ pD->doShutdown();
+ }
}
void Desktop::OpenSplashScreen()
diff --git a/desktop/source/app/appfirststart.cxx b/desktop/source/app/appfirststart.cxx
index a5a161181efa..a5a161181efa 100644..100755
--- a/desktop/source/app/appfirststart.cxx
+++ b/desktop/source/app/appfirststart.cxx
diff --git a/desktop/source/app/appinit.cxx b/desktop/source/app/appinit.cxx
index 973a88357f46..973a88357f46 100644..100755
--- a/desktop/source/app/appinit.cxx
+++ b/desktop/source/app/appinit.cxx
diff --git a/desktop/source/app/appinit.hxx b/desktop/source/app/appinit.hxx
index b4a756aa31ee..b4a756aa31ee 100644..100755
--- a/desktop/source/app/appinit.hxx
+++ b/desktop/source/app/appinit.hxx
diff --git a/desktop/source/app/appsys.cxx b/desktop/source/app/appsys.cxx
index 287a9464793e..287a9464793e 100644..100755
--- a/desktop/source/app/appsys.cxx
+++ b/desktop/source/app/appsys.cxx
diff --git a/desktop/source/app/appsys.hxx b/desktop/source/app/appsys.hxx
index d2f13ff0aace..d2f13ff0aace 100644..100755
--- a/desktop/source/app/appsys.hxx
+++ b/desktop/source/app/appsys.hxx
diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx
index 54adffc91faf..54adffc91faf 100644..100755
--- a/desktop/source/app/check_ext_deps.cxx
+++ b/desktop/source/app/check_ext_deps.cxx
diff --git a/desktop/source/app/checkinstall.cxx b/desktop/source/app/checkinstall.cxx
index c0e853d9eef5..c0e853d9eef5 100644..100755
--- a/desktop/source/app/checkinstall.cxx
+++ b/desktop/source/app/checkinstall.cxx
diff --git a/desktop/source/app/checkinstall.hxx b/desktop/source/app/checkinstall.hxx
index a4ee8c05c9ef..a4ee8c05c9ef 100644..100755
--- a/desktop/source/app/checkinstall.hxx
+++ b/desktop/source/app/checkinstall.hxx
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 6798e8ede85a..998f414c6887 100644..100755
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -146,20 +146,21 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
UNO_QUERY);
// parse command line arguments
- sal_Bool bPrintEvent = sal_False;
- sal_Bool bOpenEvent = sal_True;
- sal_Bool bViewEvent = sal_False;
- sal_Bool bStartEvent = sal_False;
- sal_Bool bPrintToEvent = sal_False;
- sal_Bool bPrinterName = sal_False;
- sal_Bool bForceOpenEvent = sal_False;
- sal_Bool bForceNewEvent = sal_False;
- sal_Bool bDisplaySpec = sal_False;
- sal_Bool bConversionEvent= sal_False;
- sal_Bool bConversionParamsEvent= sal_False;
- sal_Bool bBatchPrintEvent= sal_False;
- sal_Bool bBatchPrinterNameEvent= sal_False;
- sal_Bool bConversionOutEvent = sal_False;
+ bool bOpenEvent(true);
+ bool bPrintEvent(false);
+ bool bViewEvent(false);
+ bool bStartEvent(false);
+ bool bPrintToEvent(false);
+ bool bPrinterName(false);
+ bool bForceOpenEvent(false);
+ bool bForceNewEvent(false);
+ bool bDisplaySpec(false);
+ bool bOpenDoc(false);
+ bool bConversionEvent(false);
+ bool bConversionParamsEvent(false);
+ bool bBatchPrintEvent(false);
+ bool bBatchPrinterNameEvent(false);
+ bool bConversionOutEvent(false);
m_eArgumentCount = NONE;
@@ -191,119 +192,119 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("-n")))
{
// force new documents based on the following documents
- bForceNewEvent = sal_True;
- bOpenEvent = sal_False;
- bForceOpenEvent = sal_False;
- bPrintToEvent = sal_False;
- bPrintEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
- else if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("-o")))
- {
- // force open documents regards if they are templates or not
- bForceOpenEvent = sal_True;
- bOpenEvent = sal_False;
- bForceNewEvent = sal_False;
- bPrintToEvent = sal_False;
- bPrintEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
- else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("pt")))
+ bForceNewEvent = true;
+ bOpenEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bPrintEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM( "-o" )))
{
- // Print to special printer
- bPrintToEvent = sal_True;
- bPrinterName = sal_True;
- bPrintEvent = sal_False;
- bOpenEvent = sal_False;
- bForceNewEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- bForceOpenEvent = sal_False;
+ // force open documents regardless if they are templates or not
+ bForceOpenEvent = true;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bPrintToEvent = false;
+ bPrintEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
}
- else if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("-p")))
+ else if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM( "-pt" )))
{
+ // Print to special printer
+ bPrintToEvent = true;
+ bPrinterName = true;
+ bPrintEvent = false;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ bForceOpenEvent = false;
+ }
+ else if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM( "-p" )))
+ {
// Print to default printer
- bPrintEvent = sal_True;
- bPrintToEvent = sal_False;
- bOpenEvent = sal_False;
- bForceNewEvent = sal_False;
- bForceOpenEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
- else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("view")))
- {
+ bPrintEvent = true;
+ bPrintToEvent = false;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM( "-view" )))
+ {
// open in viewmode
- bOpenEvent = sal_False;
- bPrintEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bForceOpenEvent = sal_False;
- bViewEvent = sal_True;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
- else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("show")))
- {
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bViewEvent = true;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( aArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM( "-show" )))
+ {
// open in viewmode
- bOpenEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_True;
- bPrintEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bForceOpenEvent = sal_False;
- bDisplaySpec = sal_False;
+ bOpenEvent = false;
+ bViewEvent = false;
+ bStartEvent = true;
+ bPrintEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bDisplaySpec = false;
}
else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("display")))
{
// set display
- bOpenEvent = sal_False;
- bPrintEvent = sal_False;
- bForceOpenEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_True;
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = true;
}
else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("language")))
{
- bOpenEvent = sal_False;
- bPrintEvent = sal_False;
- bForceOpenEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
}
else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("convert-to")))
{
- bOpenEvent = sal_False;
- bConversionEvent = sal_True;
- bConversionParamsEvent = sal_True;
+ bOpenEvent = false;
+ bConversionEvent = true;
+ bConversionParamsEvent = true;
}
else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("print-to-file")))
{
- bOpenEvent = sal_False;
- bBatchPrintEvent = sal_True;
+ bOpenEvent = false;
+ bBatchPrintEvent = true;
}
else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("printer-name")) &&
bBatchPrintEvent )
{
- bBatchPrinterNameEvent = sal_True;
+ bBatchPrinterNameEvent = true;
}
else if ( oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("outdir")) &&
(bConversionEvent || bBatchPrintEvent) )
{
- bConversionOutEvent = sal_True;
+ bConversionOutEvent = true;
}
}
else
@@ -312,24 +313,24 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
{
// first argument after "-pt" this must be the printer name
AddStringListParam_Impl( CMD_STRINGPARAM_PRINTERNAME, aArg );
- bPrinterName = sal_False;
+ bPrinterName = false;
}
else if ( bConversionParamsEvent && bConversionEvent )
{
// first argument must be the the params
AddStringListParam_Impl( CMD_STRINGPARAM_CONVERSIONPARAMS, aArg );
- bConversionParamsEvent = sal_False;
+ bConversionParamsEvent = false;
}
else if ( bBatchPrinterNameEvent && bBatchPrintEvent )
{
// first argument is the printer name
AddStringListParam_Impl( CMD_STRINGPARAM_PRINTERNAME, aArg );
- bBatchPrinterNameEvent = sal_False;
+ bBatchPrinterNameEvent = false;
}
else if ( (bConversionEvent || bBatchPrintEvent) && bConversionOutEvent )
{
AddStringListParam_Impl( CMD_STRINGPARAM_CONVERSIONOUT, aArg );
- bConversionOutEvent = sal_False;
+ bConversionOutEvent = false;
}
else
{
@@ -344,23 +345,45 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
}
// handle this argument as a filename
if ( bOpenEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_OPENLIST, aArg );
+ bOpenDoc = true;
+ }
else if ( bViewEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_VIEWLIST, aArg );
+ bOpenDoc = true;
+ }
else if ( bStartEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_STARTLIST, aArg );
+ bOpenDoc = true;
+ }
else if ( bPrintEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_PRINTLIST, aArg );
+ bOpenDoc = true;
+ }
else if ( bPrintToEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_PRINTTOLIST, aArg );
+ bOpenDoc = true;
+ }
else if ( bForceNewEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_FORCENEWLIST, aArg );
+ bOpenDoc = true;
+ }
else if ( bForceOpenEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_FORCEOPENLIST, aArg );
- else if ( bDisplaySpec ){
+ bOpenDoc = true;
+ }
+ else if ( bDisplaySpec )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_DISPLAY, aArg );
- bDisplaySpec = sal_False; // only one display, not a list
- bOpenEvent = sal_True; // set back to standard
+ bDisplaySpec = false; // only one display, not a lsit
+ bOpenEvent = true; // set back to standard
}
else if ( bConversionEvent || bBatchPrintEvent )
AddStringListParam_Impl( CMD_STRINGPARAM_CONVERSIONLIST, aArg );
@@ -369,6 +392,9 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
}
}
}
+
+ if ( bOpenDoc )
+ m_bDocumentArgs = true;
}
void CommandLineArgs::AddStringListParam_Impl( StringParam eParam, const rtl::OUString& aParam )
@@ -509,7 +535,7 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
{
AddStringListParam_Impl( CMD_STRINGPARAM_SPLASHPIPE, oArg.copy(RTL_CONSTASCII_LENGTH("splash-pipe=")) );
}
- #ifdef MACOSX
+#ifdef MACOSX
/* #i84053# ignore -psn on Mac
Platform dependent #ifdef here is ugly, however this is currently
the only platform dependent parameter. Should more appear
@@ -520,7 +546,7 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
SetBoolParam_Impl( CMD_BOOLPARAM_PSN, sal_True );
return sal_True;
}
- #endif
+#endif
else if ( oArg.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("infilter=")))
{
AddStringListParam_Impl( CMD_STRINGPARAM_INFILTER, oArg.copy(RTL_CONSTASCII_LENGTH("infilter=")) );
@@ -565,48 +591,56 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_WRITER );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_WRITER, sal_True );
+ m_bDocumentArgs = true;
}
else if ( oArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "calc" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_CALC );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_CALC, sal_True );
+ m_bDocumentArgs = true;
}
else if ( oArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "draw" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_DRAW );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_DRAW, sal_True );
+ m_bDocumentArgs = true;
}
else if ( oArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "impress" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_IMPRESS );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_IMPRESS, sal_True );
+ m_bDocumentArgs = true;
}
else if ( oArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "base" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_BASE );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_BASE, sal_True );
+ m_bDocumentArgs = true;
}
else if ( oArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "global" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_GLOBAL );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_GLOBAL, sal_True );
+ m_bDocumentArgs = true;
}
else if ( oArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "math" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_MATH );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_MATH, sal_True );
+ m_bDocumentArgs = true;
}
else if ( oArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "web" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_WEB );
if ( !bAlreadySet )
SetBoolParam_Impl( CMD_BOOLPARAM_WEB, sal_True );
+ m_bDocumentArgs = true;
}
else
return sal_False;
@@ -635,12 +669,12 @@ sal_Bool CommandLineArgs::CheckGroupMembers( GroupParamId nGroupId, BoolParam nE
void CommandLineArgs::ResetParamValues()
{
int i;
-
for ( i = 0; i < CMD_BOOLPARAM_COUNT; i++ )
m_aBoolParams[i] = sal_False;
for ( i = 0; i < CMD_STRINGPARAM_COUNT; i++ )
m_aStrSetParams[i] = sal_False;
m_eArgumentCount = NONE;
+ m_bDocumentArgs = false;
}
void CommandLineArgs::SetBoolParam( BoolParam eParam, sal_Bool bNewValue )
@@ -963,6 +997,12 @@ sal_Bool CommandLineArgs::IsEmptyOrAcceptOnly() const
( ( m_eArgumentCount == ONE ) && m_aBoolParams[ CMD_BOOLPARAM_PSN ] );
}
+sal_Bool CommandLineArgs::WantsToLoadDocument() const
+{
+ osl::MutexGuard aMutexGuard( m_aMutex );
+ return m_bDocumentArgs;
+}
+
} // namespace desktop
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/desktop/source/app/cmdlineargs.hxx b/desktop/source/app/cmdlineargs.hxx
index f4618e8dbb3c..bd7e24a81147 100644..100755
--- a/desktop/source/app/cmdlineargs.hxx
+++ b/desktop/source/app/cmdlineargs.hxx
@@ -39,7 +39,7 @@ namespace desktop
class CommandLineArgs
{
public:
- enum BoolParam // must be zero based!
+ enum BoolParam // must be zero based!
{
CMD_BOOLPARAM_MINIMIZED = 0,
CMD_BOOLPARAM_INVISIBLE,
@@ -99,7 +99,7 @@ class CommandLineArgs
CMD_STRINGPARAM_INFILTER,
CMD_STRINGPARAM_DISPLAY,
CMD_STRINGPARAM_LANGUAGE,
- CMD_STRINGPARAM_COUNT // must be last element!
+ CMD_STRINGPARAM_COUNT // must be last element!
};
enum GroupParamId
@@ -108,7 +108,8 @@ class CommandLineArgs
CMD_GRPID_COUNT
};
- struct Supplier {
+ struct Supplier
+ {
// Thrown from constructors and next:
class Exception {
public:
@@ -129,7 +130,7 @@ class CommandLineArgs
boost::optional< rtl::OUString > getCwdUrl() const { return m_cwdUrl; }
// generic methods to access parameter
- void SetBoolParam( BoolParam eParam, sal_Bool bNewValue );
+ void SetBoolParam( BoolParam eParam, sal_Bool bNewValue );
const rtl::OUString& GetStringParam( StringParam eParam ) const;
@@ -164,6 +165,7 @@ class CommandLineArgs
sal_Bool IsWeb() const;
sal_Bool IsVersion() const;
sal_Bool HasModuleParam() const;
+ sal_Bool WantsToLoadDocument() const;
// Access to string parameters
sal_Bool GetPortalConnectString( ::rtl::OUString& rPara) const;
@@ -184,17 +186,17 @@ class CommandLineArgs
sal_Bool GetConversionOut( ::rtl::OUString& rPara ) const;
// Special analyzed states (does not match directly to a command line parameter!)
- sal_Bool IsPrinting() const;
- sal_Bool IsEmpty() const;
- sal_Bool IsEmptyOrAcceptOnly() const;
+ sal_Bool IsPrinting() const;
+ sal_Bool IsEmpty() const;
+ sal_Bool IsEmptyOrAcceptOnly() const;
private:
enum Count { NONE, ONE, MANY };
struct GroupDefinition
{
- sal_Int32 nCount;
- BoolParam* pGroupMembers;
+ sal_Int32 nCount;
+ BoolParam* pGroupMembers;
};
// no copy and operator=
@@ -206,15 +208,16 @@ class CommandLineArgs
void ResetParamValues();
sal_Bool CheckGroupMembers( GroupParamId nGroup, BoolParam nExcludeMember ) const;
- void AddStringListParam_Impl( StringParam eParam, const rtl::OUString& aParam );
- void SetBoolParam_Impl( BoolParam eParam, sal_Bool bValue );
+ void AddStringListParam_Impl( StringParam eParam, const rtl::OUString& aParam );
+ void SetBoolParam_Impl( BoolParam eParam, sal_Bool bValue );
boost::optional< rtl::OUString > m_cwdUrl;
- sal_Bool m_aBoolParams[ CMD_BOOLPARAM_COUNT ]; // Stores boolean parameters
- rtl::OUString m_aStrParams[ CMD_STRINGPARAM_COUNT ]; // Stores string parameters
- sal_Bool m_aStrSetParams[ CMD_STRINGPARAM_COUNT ]; // Stores if string parameters are provided on cmdline
- Count m_eArgumentCount; // Number of Args
- mutable ::osl::Mutex m_aMutex;
+ sal_Bool m_aBoolParams[ CMD_BOOLPARAM_COUNT ]; // Stores boolean parameters
+ rtl::OUString m_aStrParams[ CMD_STRINGPARAM_COUNT ]; // Stores string parameters
+ sal_Bool m_aStrSetParams[ CMD_STRINGPARAM_COUNT ]; // Stores if string parameters are provided on cmdline
+ Count m_eArgumentCount; // Number of Args
+ bool m_bDocumentArgs; // A document creation/open/load arg is used
+ mutable ::osl::Mutex m_aMutex;
// static definition for groups where only one member can be true
static GroupDefinition m_pGroupDefinitions[ CMD_GRPID_COUNT ];
diff --git a/desktop/source/app/cmdlinehelp.cxx b/desktop/source/app/cmdlinehelp.cxx
index 00754d91631e..00754d91631e 100644..100755
--- a/desktop/source/app/cmdlinehelp.cxx
+++ b/desktop/source/app/cmdlinehelp.cxx
diff --git a/desktop/source/app/cmdlinehelp.hxx b/desktop/source/app/cmdlinehelp.hxx
index 5c92512ea1e9..5c92512ea1e9 100644..100755
--- a/desktop/source/app/cmdlinehelp.hxx
+++ b/desktop/source/app/cmdlinehelp.hxx
diff --git a/desktop/source/app/configinit.cxx b/desktop/source/app/configinit.cxx
index 7a6da3b8db25..7a4bf00671b2 100644..100755
--- a/desktop/source/app/configinit.cxx
+++ b/desktop/source/app/configinit.cxx
@@ -81,7 +81,7 @@ typedef uno::Reference< lang::XMultiServiceFactory > ConfigurationProvider;
// Get a message string securely. There is a fallback string if the resource
// is not available. Adapted from Desktop::GetMsgString()
-OUString getMsgString( USHORT nId, char const * aFallBackMsg )
+OUString getMsgString( sal_uInt16 nId, char const * aFallBackMsg )
{
ResMgr* pResMgr = Desktop::GetDesktopResManager();
if ( !pResMgr || !nId )
diff --git a/desktop/source/app/configinit.hxx b/desktop/source/app/configinit.hxx
index 24fb01881396..24fb01881396 100644..100755
--- a/desktop/source/app/configinit.hxx
+++ b/desktop/source/app/configinit.hxx
diff --git a/desktop/source/app/copyright_ascii_ooo.c b/desktop/source/app/copyright_ascii_ooo.c
index 3984a81f26e5..3984a81f26e5 100644..100755
--- a/desktop/source/app/copyright_ascii_ooo.c
+++ b/desktop/source/app/copyright_ascii_ooo.c
diff --git a/desktop/source/app/copyright_ascii_sun.c b/desktop/source/app/copyright_ascii_sun.c
index c7d6e7e3c08d..c7d6e7e3c08d 100644..100755
--- a/desktop/source/app/copyright_ascii_sun.c
+++ b/desktop/source/app/copyright_ascii_sun.c
diff --git a/desktop/source/app/desktop.hrc b/desktop/source/app/desktop.hrc
index 9c68d7b9fd2d..9c68d7b9fd2d 100644..100755
--- a/desktop/source/app/desktop.hrc
+++ b/desktop/source/app/desktop.hrc
diff --git a/desktop/source/app/desktop.src b/desktop/source/app/desktop.src
index 2f6897adf80e..98ee68685917 100644..100755
--- a/desktop/source/app/desktop.src
+++ b/desktop/source/app/desktop.src
@@ -159,6 +159,7 @@ InfoBox INFOBOX_CMDLINEHELP
ModalDialog DLG_CMDLINEHELP
{
+ HelpID = "desktop:ModalDialog:DLG_CMDLINEHELP";
Text = "Help Message...";
Size = MAP_APPFONT(250, 365);
Border = True;
diff --git a/desktop/source/app/desktopcontext.cxx b/desktop/source/app/desktopcontext.cxx
index 2a8ed7ef628c..2a8ed7ef628c 100644..100755
--- a/desktop/source/app/desktopcontext.cxx
+++ b/desktop/source/app/desktopcontext.cxx
diff --git a/desktop/source/app/desktopcontext.hxx b/desktop/source/app/desktopcontext.hxx
index b68a73cd9cf9..b68a73cd9cf9 100644..100755
--- a/desktop/source/app/desktopcontext.hxx
+++ b/desktop/source/app/desktopcontext.hxx
diff --git a/desktop/source/app/desktopresid.cxx b/desktop/source/app/desktopresid.cxx
index 0a0d23aa18be..ac8799a95a23 100644..100755
--- a/desktop/source/app/desktopresid.cxx
+++ b/desktop/source/app/desktopresid.cxx
@@ -37,7 +37,7 @@
namespace desktop
{
-DesktopResId::DesktopResId( USHORT nId ) :
+DesktopResId::DesktopResId( sal_uInt16 nId ) :
ResId( nId, *Desktop::GetDesktopResManager() )
{
}
diff --git a/desktop/source/app/desktopresid.hxx b/desktop/source/app/desktopresid.hxx
index 432c257b6b65..14d45a493f0c 100644..100755
--- a/desktop/source/app/desktopresid.hxx
+++ b/desktop/source/app/desktopresid.hxx
@@ -37,7 +37,7 @@ namespace desktop
class DesktopResId : public ResId
{
public:
- DesktopResId( USHORT nId );
+ DesktopResId( sal_uInt16 nId );
};
}
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
index 501fdc19bfd5..897550350727 100644..100755
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -94,7 +94,7 @@ static String impl_GetFilterFromExt( OUString aUrl, SfxFilterFlags nFlags,
{
String aFilter;
SfxMedium* pMedium = new SfxMedium( aUrl,
- STREAM_STD_READ, FALSE );
+ STREAM_STD_READ, sal_False );
const SfxFilter *pSfxFilter = NULL;
SfxFilterMatcher aMatcher;
if( nFlags == SFX_FILTER_EXPORT )
diff --git a/desktop/source/app/dispatchwatcher.hxx b/desktop/source/app/dispatchwatcher.hxx
index 0fde60da603f..0fde60da603f 100644..100755
--- a/desktop/source/app/dispatchwatcher.hxx
+++ b/desktop/source/app/dispatchwatcher.hxx
diff --git a/desktop/source/app/exports.dxp b/desktop/source/app/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644..100755
--- a/desktop/source/app/exports.dxp
+++ b/desktop/source/app/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/desktop/source/app/langselect.cxx b/desktop/source/app/langselect.cxx
index d70703103967..d70703103967 100644..100755
--- a/desktop/source/app/langselect.cxx
+++ b/desktop/source/app/langselect.cxx
diff --git a/desktop/source/app/langselect.hxx b/desktop/source/app/langselect.hxx
index fdb229a47956..fdb229a47956 100644..100755
--- a/desktop/source/app/langselect.hxx
+++ b/desktop/source/app/langselect.hxx
diff --git a/desktop/source/app/lockfile.cxx b/desktop/source/app/lockfile.cxx
index 5e534f2b2107..5e534f2b2107 100644..100755
--- a/desktop/source/app/lockfile.cxx
+++ b/desktop/source/app/lockfile.cxx
diff --git a/desktop/source/app/lockfile.hxx b/desktop/source/app/lockfile.hxx
index 5444714ec88c..5444714ec88c 100644..100755
--- a/desktop/source/app/lockfile.hxx
+++ b/desktop/source/app/lockfile.hxx
diff --git a/desktop/source/app/lockfile2.cxx b/desktop/source/app/lockfile2.cxx
index 619102b70c2b..619102b70c2b 100644..100755
--- a/desktop/source/app/lockfile2.cxx
+++ b/desktop/source/app/lockfile2.cxx
diff --git a/desktop/source/app/main.c b/desktop/source/app/main.c
index 88610ba18ef9..88610ba18ef9 100644..100755
--- a/desktop/source/app/main.c
+++ b/desktop/source/app/main.c
diff --git a/desktop/source/app/makefile.mk b/desktop/source/app/makefile.mk
index e7c30a2ca70f..e7c30a2ca70f 100644..100755
--- a/desktop/source/app/makefile.mk
+++ b/desktop/source/app/makefile.mk
diff --git a/desktop/source/app/officeipcthread.cxx b/desktop/source/app/officeipcthread.cxx
index f699463ec089..6088ee383022 100644..100755
--- a/desktop/source/app/officeipcthread.cxx
+++ b/desktop/source/app/officeipcthread.cxx
@@ -844,8 +844,6 @@ void SAL_CALL OfficeIPCThread::run()
aHelpURLBuffer.appendAscii("&System=UNX");
#elif defined WNT
aHelpURLBuffer.appendAscii("&System=WIN");
-#elif defined MAC
- aHelpURLBuffer.appendAscii("&System=MAC");
#elif defined OS2
aHelpURLBuffer.appendAscii("&System=OS2");
#endif
diff --git a/desktop/source/app/officeipcthread.hxx b/desktop/source/app/officeipcthread.hxx
index 765fc548788c..e50e46c280ea 100644..100755
--- a/desktop/source/app/officeipcthread.hxx
+++ b/desktop/source/app/officeipcthread.hxx
@@ -123,7 +123,7 @@ class OfficeIPCThread : public osl::Thread
static void RequestsCompleted( int n = 1 );
static sal_Bool ExecuteCmdLineRequests( ProcessDocumentsRequest& );
- // return FALSE if second office
+ // return sal_False if second office
static Status EnableOfficeIPCThread();
static void DisableOfficeIPCThread();
// start dispatching events...
diff --git a/desktop/source/app/omutexmember.hxx b/desktop/source/app/omutexmember.hxx
index 175eae09fe93..175eae09fe93 100644..100755
--- a/desktop/source/app/omutexmember.hxx
+++ b/desktop/source/app/omutexmember.hxx
diff --git a/desktop/source/app/sofficemain.cxx b/desktop/source/app/sofficemain.cxx
index a4207ef97bfd..a4207ef97bfd 100644..100755
--- a/desktop/source/app/sofficemain.cxx
+++ b/desktop/source/app/sofficemain.cxx
diff --git a/desktop/source/app/sofficemain.h b/desktop/source/app/sofficemain.h
index 539988834a02..539988834a02 100644..100755
--- a/desktop/source/app/sofficemain.h
+++ b/desktop/source/app/sofficemain.h
diff --git a/desktop/source/app/userinstall.cxx b/desktop/source/app/userinstall.cxx
index bc7a1219cdaa..bc7a1219cdaa 100644..100755
--- a/desktop/source/app/userinstall.cxx
+++ b/desktop/source/app/userinstall.cxx
diff --git a/desktop/source/app/userinstall.hxx b/desktop/source/app/userinstall.hxx
index 6dcb5e91db41..6dcb5e91db41 100644..100755
--- a/desktop/source/app/userinstall.hxx
+++ b/desktop/source/app/userinstall.hxx
diff --git a/desktop/source/app/version.map b/desktop/source/app/version.map
index 0ffffcd58635..0ffffcd58635 100644..100755
--- a/desktop/source/app/version.map
+++ b/desktop/source/app/version.map