From 677f10cdf0b6a7acb2f94fce8404b464061ccaf7 Mon Sep 17 00:00:00 2001 From: Andras Timar Date: Thu, 28 Jun 2012 12:33:25 +0200 Subject: fdo#46510 optionally turn on Quickstarter by installer Change-Id: Ie002ab01a804cceea06e0a2ba7e6b2fe2a495344 --- desktop/source/app/app.cxx | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'desktop') diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index e29e53518d29..d50507aa5b34 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -103,6 +103,18 @@ #include #endif +#ifdef WNT +#ifdef _MSC_VER +#pragma warning(push, 1) /* disable warnings within system headers */ +#endif +#define WIN32_LEAN_AND_MEAN +#include +#ifdef _MSC_VER +#pragma warning(pop) +#endif +#endif //WNT + + using rtl::OUString; using rtl::OUStringBuffer; @@ -3039,6 +3051,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 -- cgit v1.2.3