office-gobmx/sfx2
Szymon Kłos 494161a9c8 cool#9309 lok: sync language in comphelper::LibreOfficeKit on view creation
If new view is created using createViewWithOptions API call
we pass language of that view. We do a setup of that language
in SfxLokHelper::setViewLanguage but it was only set inside
ViewShell.

Unfortunately just after we create the view we call setView which
later checks if comphelper::LibreOfficeKit::getLanguageTag()
has matching value with ViewShell field.
It was showing warning in the logs:
warn:lok:31748:31654:sfx2/source/view/lokhelper.cxx:206: LANGUAGE mismatch at setView! ... old (wrong) lang:de new lang:fr

Let's check if the view we try to modify is the current one and
in that case synchronize value we can get using global
comphelper::LibreOfficeKit function.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Icddfda003522dda661066c4d1c43ca1dec9e5c55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169107
(cherry picked from commit 800d8580ec8d99f5c610727a9d53ab143019c014)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169144
Tested-by: Jenkins
2024-06-20 10:57:18 +02:00
..
classification
doc
inc
qa
sdi
source cool#9309 lok: sync language in comphelper::LibreOfficeKit on view creation 2024-06-20 10:57:18 +02:00
uiconfig/ui
util
AllLangMoTarget_sfx2.mk
CppunitTest_sfx2_classification.mk
CppunitTest_sfx2_controlleritem.mk
CppunitTest_sfx2_dialogs_test.mk
CppunitTest_sfx2_doc.mk
CppunitTest_sfx2_metadatable.mk
CppunitTest_sfx2_misc.mk
CppunitTest_sfx2_view.mk
CustomTarget_classification.mk
IwyuFilter_sfx2.yaml
JunitTest_sfx2_complex.mk
JunitTest_sfx2_unoapi.mk
Library_sfx.mk LOK: Use frozen map instead of a chain of hundreds string comparisons 2024-06-17 06:04:17 +02:00
Makefile
Module_sfx2.mk
Package_classification.mk
PythonTest_sfx2_python.mk
README.md
UIConfig_sfx.mk
UITest_sfx2_doc.mk

Legacy Framework

SFX is the "old" framework, used for historical reasons.

An attempt of documentation of this module is located in [git:sfx2/doc].

It contains base classes for document model, view and controller, used by "old" applications like sw, sc, sd (while "new" applications are based on the "new" UNO based framework in "framework").

The SFX framework is based on dispatching slots identified by integers (SlotIDs) to SfxShells, and there is a dedicated IDL compiler (svidl) involved that generates C++ slot headers from SDI files in modules' sdi/ subdirectory.

Documentation about SFX dispatch, SDI etc.: https://wiki.openoffice.org/wiki/Framework/Article/Implementation_of_the_Dispatch_API_In_SFX2

Document load/save code is maintained in [git:sfx2/source/doc/docfile.cxx] SfxMedium class, which handles all the twisty load and save corner cases.

[git:sfx2/source/appl/sfxhelp.cxx] Start procedure for the online help viewer top level window; handling of help URL creation and dispatch.

There are also some UNO services here that could really be implemented anywhere, e.g. the DocumentProperties or DocumentMetadataAccess.

Notable files: sfx2/source/dialog/backingwindow.cxx Startcenter buttons and the corresponding event handler.