diff options
author | Andras Timar <atimar@suse.com> | 2012-06-28 12:33:25 +0200 |
---|---|---|
committer | Andras Timar <atimar@suse.com> | 2012-06-28 19:48:53 +0200 |
commit | fbc9e19443167bdfd98474ff979bf2c34530efca (patch) | |
tree | 178c295bf894b3807b3f44c062e3274d2bb0fe87 /desktop | |
parent | 2009ee83ba068ec45654a4c8e4efa6c18a543a76 (diff) |
fdo#46510 optionally turn on Quickstarter by installer
Change-Id: Ie002ab01a804cceea06e0a2ba7e6b2fe2a495344
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/app/app.cxx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index 7f037c11a7e7..b7136de52574 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -102,6 +102,18 @@ #include <sys/wait.h> #endif +#ifdef WNT +#ifdef _MSC_VER +#pragma warning(push, 1) /* disable warnings within system headers */ +#endif +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#ifdef _MSC_VER +#pragma warning(pop) +#endif +#endif //WNT + + using rtl::OUString; using rtl::OUStringBuffer; @@ -3053,6 +3065,30 @@ void Desktop::CheckFirstRun( ) m_firstRunTimer.SetTimeoutHdl(LINK(this, Desktop, AsyncInitFirstRun)); m_firstRunTimer.Start(); +#ifdef WNT + // Check if Quckstarter should be started (on Windows only) + TCHAR szValue[8192]; + DWORD nValueSize = sizeof(szValue); + HKEY hKey; + if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, "Software\\LibreOffice", &hKey ) ) + { + if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("RunQuickstartAtFirstStart"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) + { + sal_Bool bQuickstart( sal_True ); + sal_Bool bAutostart( sal_True ); + Sequence< Any > aSeq( 2 ); + aSeq[0] <<= bQuickstart; + aSeq[1] <<= bAutostart; + + Reference < XInitialization > xQuickstart( ::comphelper::getProcessServiceFactory()->createInstance( + OUString::createFromAscii( "com.sun.star.office.Quickstart" )),UNO_QUERY ); + if ( xQuickstart.is() ) + xQuickstart->initialize( aSeq ); + RegCloseKey( hKey ); + } + } +#endif + // -------------------------------------------------------------------- // reset the config flag |