494161a9c8
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 |
||
---|---|---|
.. | ||
classification | ||
doc | ||
inc | ||
qa | ||
sdi | ||
source | ||
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 | ||
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.