officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu | 204 ---------- sd/inc/pchelp.hrc | 49 ++ sd/source/console/PresenterHelpView.cxx | 34 - sd/source/console/PresenterHelpView.hxx | 2 4 files changed, 55 insertions(+), 234 deletions(-)
New commits: commit d1d399ab50472042f6ad9486b4de6337fa5075c1 Author: Gabor Kelemen <[email protected]> AuthorDate: Sun Jan 11 21:11:52 2026 +0100 Commit: Gabor Kelemen <[email protected]> CommitDate: Sun Jan 18 17:49:35 2026 +0100 Presenter Console: simplify Help string handling No need to store these in the configuration Change-Id: I1790f544e337854d1e921bc4fc98aa37952ad067 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197052 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <[email protected]> diff --git a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu index 9c5949ced066..c4478c291ceb 100644 --- a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu +++ b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu @@ -969,210 +969,6 @@ </node> </node> </node> - <node oor:name="HelpView"> - <node oor:name="HelpStrings"> - <node oor:name="a" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Left click, right or down arrow, spacebar, page down, enter, return</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Next slide, or next effect</value> - </prop> - </node> - <node oor:name="b" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Right click, left or up arrow, page up, backspace</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Previous slide, or previous effect</value> - </prop> - </node> - <node oor:name="c" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">'P'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Use mouse pointer as pen</value> - </prop> - </node> - <node oor:name="d" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Home</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">First slide</value> - </prop> - </node> - <node oor:name="e" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">End</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Last slide</value> - </prop> - </node> - <node oor:name="f" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">'E'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Erase all ink on slide</value> - </prop> - </node> - <node oor:name="g" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Alt-Page Up</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Previous slide without effects</value> - </prop> - </node> - <node oor:name="h" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Alt-Page Down</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Next slide without effects</value> - </prop> - </node> - <node oor:name="i" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="x-no-translate"> </value> - </prop> - <prop oor:name="Right"> - <value xml:lang="x-no-translate"> </value> - </prop> - </node> - <node oor:name="j" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">'B', '.'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Blacks/Unblacks the screen</value> - </prop> - </node> - <node oor:name="k" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">'W', ','</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Whites/Unwhites the screen</value> - </prop> - </node> - <node oor:name="l" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="x-no-translate"> </value> - </prop> - <prop oor:name="Right"> - <value xml:lang="x-no-translate"> </value> - </prop> - </node> - <node oor:name="m" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Esc, '-'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">End slide show</value> - </prop> - </node> - <node oor:name="n" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="x-no-translate"> </value> - </prop> - <prop oor:name="Right"> - <value xml:lang="x-no-translate"> </value> - </prop> - </node> - <node oor:name="o" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Number followed by Enter</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Go to that slide</value> - </prop> - </node> - <node oor:name="p" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="x-no-translate"> </value> - </prop> - <prop oor:name="Right"> - <value xml:lang="x-no-translate"> </value> - </prop> - </node> - <node oor:name="q" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">'G', 'S'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Grow/Shrink size of notes font</value> - </prop> - </node> - <node oor:name="r" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">'A', 'Z'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Scroll notes up/down</value> - </prop> - </node> - <node oor:name="s" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">'H', 'L'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Move caret in notes view backward/forward</value> - </prop> - </node> - <node oor:name="t" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="x-no-translate"> </value> - </prop> - <prop oor:name="Right"> - <value xml:lang="x-no-translate"> </value> - </prop> - </node> - <node oor:name="u" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Ctrl-'1'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Shows the Presenter Console</value> - </prop> - </node> - <node oor:name="v" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Ctrl-'2'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Shows the Presentation Notes</value> - </prop> - </node> - <node oor:name="w" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Ctrl-'3'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Shows the Slides Overview</value> - </prop> - </node> - <node oor:name="x" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Ctrl-'4'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Switches monitors</value> - </prop> - </node> - <node oor:name="z" oor:op="replace"> - <prop oor:name="Left"> - <value xml:lang="en-US">Ctrl-'A'</value> - </prop> - <prop oor:name="Right"> - <value xml:lang="en-US">Turn off pointer as pen mode</value> - </prop> - </node> - </node> - </node> </node> <node oor:name="Presenter"> <node oor:name="Themes"> diff --git a/sd/inc/pchelp.hrc b/sd/inc/pchelp.hrc new file mode 100644 index 000000000000..d7efc8fe8fe5 --- /dev/null +++ b/sd/inc/pchelp.hrc @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#pragma once + +#include <unotools/resmgr.hxx> +#include <utility> + +#define NC_(Context, String) TranslateId(Context, u8##String) + +const std::pair<TranslateId, TranslateId> HelpStrings[] = +{ + { NC_("STR_PRESCONHTEXT_A_KEY", "Left click, right or down arrow, spacebar, page down, enter, return"), NC_("STR_PRESCONHTEXT_A_DESC", "Next slide, or next effect") }, + { NC_("STR_PRESCONHTEXT_B_KEY", "Right click, left or up arrow, page up, backspace"), NC_("STR_PRESCONHTEXT_B_DESC", "Previous slide, or previous effect") }, + { NC_("STR_PRESCONHTEXT_C_KEY", "'P'"), NC_("STR_PRESCONHTEXT_C_DESC", "Use mouse pointer as pen") }, + { NC_("STR_PRESCONHTEXT_D_KEY", "Home"), NC_("STR_PRESCONHTEXT_D_DESC", "First slide") }, + { NC_("STR_PRESCONHTEXT_E_KEY", "End"), NC_("STR_PRESCONHTEXT_E_DESC", "Last slide") }, + { NC_("STR_PRESCONHTEXT_F_KEY", "'E'"), NC_("STR_PRESCONHTEXT_F_DESC", "Erase all ink on slide") }, + { NC_("STR_PRESCONHTEXT_G_KEY", "Alt-Page Up"), NC_("STR_PRESCONHTEXT_G_DESC", "Previous slide without effects") }, + { NC_("STR_PRESCONHTEXT_H_KEY", "Alt-Page Down"), NC_("STR_PRESCONHTEXT_H_DESC", "Next slide without effects") }, + { NC_("STR_PRESCONHTEXT_J_KEY", "'B', '.'"), NC_("STR_PRESCONHTEXT_J_DESC", "Blacks/Unblacks the screen") }, + { NC_("STR_PRESCONHTEXT_K_KEY", "'W', ','"), NC_("STR_PRESCONHTEXT_K_DESC", "Whites/Unwhites the screen") }, + { NC_("STR_PRESCONHTEXT_M_KEY", "Esc, '-'"), NC_("STR_PRESCONHTEXT_M_DESC", "End slide show") }, + { NC_("STR_PRESCONHTEXT_O_KEY", "Number followed by Enter"), NC_("STR_PRESCONHTEXT_O_DESC", "Go to that slide") }, + { NC_("STR_PRESCONHTEXT_Q_KEY", "'G', 'S'"), NC_("STR_PRESCONHTEXT_Q_DESC", "Grow/Shrink size of notes font") }, + { NC_("STR_PRESCONHTEXT_R_KEY", "'A', 'Z'"), NC_("STR_PRESCONHTEXT_R_DESC", "Scroll notes up/down") }, + { NC_("STR_PRESCONHTEXT_S_KEY", "'H', 'L'"), NC_("STR_PRESCONHTEXT_S_DESC", "Move caret in notes view backward/forward") }, + { NC_("STR_PRESCONHTEXT_U_KEY", "Ctrl-'1'"), NC_("STR_PRESCONHTEXT_U_DESC", "Shows the Presenter Console") }, + { NC_("STR_PRESCONHTEXT_V_KEY", "Ctrl-'2'"), NC_("STR_PRESCONHTEXT_V_DESC", "Shows the Presentation Notes") }, + { NC_("STR_PRESCONHTEXT_W_KEY", "Ctrl-'3'"), NC_("STR_PRESCONHTEXT_W_DESC", "Shows the Slides Overview") }, + { NC_("STR_PRESCONHTEXT_X_KEY", "Ctrl-'4'"), NC_("STR_PRESCONHTEXT_X_DESC", "Switches monitors") }, + { NC_("STR_PRESCONHTEXT_Z_KEY", "Ctrl-'A'"), NC_("STR_PRESCONHTEXT_Z_DESC", "Turn off pointer as pen mode") } +}; diff --git a/sd/source/console/PresenterHelpView.cxx b/sd/source/console/PresenterHelpView.cxx index b7a4d948b33d..81672b64d3a3 100644 --- a/sd/source/console/PresenterHelpView.cxx +++ b/sd/source/console/PresenterHelpView.cxx @@ -25,8 +25,9 @@ #include "PresenterGeometryHelper.hxx" #include <DrawController.hxx> #include <framework/ConfigurationController.hxx> +#include <sdresid.hxx> +#include <pchelp.hrc> #include <com/sun/star/awt/XWindowPeer.hpp> -#include <com/sun/star/container/XNameAccess.hpp> #include <com/sun/star/rendering/CompositeOperation.hpp> #include <com/sun/star/rendering/TextDirection.hpp> #include <com/sun/star/util/Color.hpp> @@ -342,35 +343,12 @@ void PresenterHelpView::Paint (const awt::Rectangle& rUpdateBox) void PresenterHelpView::ReadHelpStrings() { + // Read help strings stored in pchelp.hrc mpTextContainer.reset(new TextContainer); - PresenterConfigurationAccess aConfiguration ( - mxComponentContext, - u"/org.openoffice.Office.PresenterScreen/"_ustr, - PresenterConfigurationAccess::READ_ONLY); - Reference<container::XNameAccess> xStrings ( - aConfiguration.GetConfigurationNode(u"PresenterScreenSettings/HelpView/HelpStrings"_ustr), - UNO_QUERY); - PresenterConfigurationAccess::ForAll( - xStrings, - [this](OUString const&, uno::Reference<beans::XPropertySet> const& xProps) - { - return this->ProcessString(xProps); - }); -} - -void PresenterHelpView::ProcessString ( - const Reference<beans::XPropertySet>& rsProperties) -{ - if ( ! rsProperties.is()) - return; - - OUString sLeftText; - PresenterConfigurationAccess::GetProperty(rsProperties, u"Left"_ustr) >>= sLeftText; - OUString sRightText; - PresenterConfigurationAccess::GetProperty(rsProperties, u"Right"_ustr) >>= sRightText; - mpTextContainer->push_back( + for (const auto& pair: HelpStrings) + mpTextContainer->push_back( std::make_shared<Block>( - sLeftText, sRightText, mpFont->mxFont, mnMaximalWidth)); + SdResId(pair.first), SdResId(pair.second), mpFont->mxFont, mnMaximalWidth)); } void PresenterHelpView::CheckFontSize() diff --git a/sd/source/console/PresenterHelpView.hxx b/sd/source/console/PresenterHelpView.hxx index f02e9f575e86..1dfae788cb8e 100644 --- a/sd/source/console/PresenterHelpView.hxx +++ b/sd/source/console/PresenterHelpView.hxx @@ -99,8 +99,6 @@ private: void Resize(); void Paint (const css::awt::Rectangle& rRedrawArea); void ReadHelpStrings(); - void ProcessString ( - const css::uno::Reference<css::beans::XPropertySet>& rsProperties); /** Find a font size, so that all text can be displayed at the same time.
