framework/source/loadenv/loadenv.cxx | 8 +++++--- vcl/win/window/salframe.cxx | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-)
New commits: commit d6eeeeb5378c66b81b8af604dd65306541a572d3 Author: Tibor Nagy <tibor.nagy.ext...@allotropia.de> AuthorDate: Sun Oct 27 23:44:00 2024 +0100 Commit: Nagy Tibor <tibor.nagy.ext...@allotropia.de> CommitDate: Mon Nov 4 10:26:28 2024 +0100 tdf#76981 sd: Hide the document opening process when opening linked presentation in slideshow mode, only the presentation should be visible. The user should not see any intermediate loading processes or windows, providing a seamless transition directly to the presentation content. After closing the opened presentation, the running presentation should receive focus. Change-Id: Idc24de3d38523f044d7969f1eacb05c6bae91b83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175706 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.ext...@allotropia.de> (cherry picked from commit d239ac793f89c95cac95e5601a7d7a06c76dfd3c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175905 Tested-by: allotropia jenkins <jenk...@allotropia.de> diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx index 299b0fcd5ba4..f95dd85c32c9 100644 --- a/framework/source/loadenv/loadenv.cxx +++ b/framework/source/loadenv/loadenv.cxx @@ -159,7 +159,6 @@ css::uno::Reference< css::lang::XComponent > LoadEnv::loadComponentFromURL(const try { LoadEnv aEnv(xContext); - LoadEnvFeatures loadEnvFeatures = LoadEnvFeatures::WorkWithUI; // tdf#118238 Only disable UI interaction when loading as hidden if (comphelper::NamedValueCollection::get(lArgs, u"Hidden") == uno::Any(true) || Application::IsHeadlessModeEnabled()) @@ -1103,8 +1102,9 @@ bool LoadEnv::impl_loadContent() bool bHidden = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_HIDDEN, false); bool bMinimized = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_MINIMIZED, false); bool bPreview = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_PREVIEW, false); + bool bStartPres = m_lMediaDescriptor.contains("StartPresentation"); - if (!bHidden && !bMinimized && !bPreview) + if (!bHidden && !bMinimized && !bPreview && !bStartPres) { css::uno::Reference<css::task::XStatusIndicator> xProgress = m_lMediaDescriptor.getUnpackedValueOrDefault( utl::MediaDescriptor::PROP_STATUSINDICATOR, css::uno::Reference<css::task::XStatusIndicator>()); @@ -1596,6 +1596,8 @@ void LoadEnv::impl_reactForLoadingState() css::uno::Reference< css::awt::XWindow > xWindow = m_xTargetFrame->getContainerWindow(); bool bHidden = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_HIDDEN, false); bool bMinimized = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_MINIMIZED, false); + bool bStartPres = m_lMediaDescriptor.contains("StartPresentation"); + VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(xWindow); if (bMinimized) @@ -1605,7 +1607,7 @@ void LoadEnv::impl_reactForLoadingState() if (pWindow && pWindow->IsSystemWindow()) static_cast<WorkWindow*>(pWindow.get())->Minimize(); } - else if (!bHidden) + else if (!bHidden && !bStartPres) { // show frame ... if it's not still visible ... // But do nothing if it's already visible! diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index 783ca27192c6..c26070ac078e 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -813,8 +813,8 @@ static void ImplSalCalcFullScreenSize( const WinSalFrame* pFrame, } nScreenX = aRect.Left(); nScreenY = aRect.Top(); - nScreenDX = aRect.GetWidth(); - nScreenDY = aRect.GetHeight(); + nScreenDX = aRect.GetWidth() + 1; + nScreenDY = aRect.GetHeight() + 1; } catch( Exception& ) {