* Update helpcontent2 from branch 'master'
to 9839c0b071de018ea00af1ae180756e9e5a52793
- Revert "Fix typo"
Besides being a wrong fix, please refrain from changing external code locally.
Go to the upstream project instead, Andrea!
This reverts commit 1e37e14da918a278abe5df8a5885fa211c02ee8b.
If there were no data for MIME type "text/plain;charset=utf-16"
in the clipboard, but "text/plain" was provided, it was previously
assumed that this would be encoded in the locale's encoding, and
corresponding conversion using that encoding happened to provide
"text/plain;charset=utf-16" ourselves.
"text/plain;charset=utf-8" data was simply ignored, but using
it (if present) and preferring it over "text/plain"
is more reliable (and e.g. avoids incorrect paste of Chinese
characters from Firefox into Impress when using the qt5/qt6/kf5
VCL plugins on Wayland), so use it if present.
Rename the "m_bConvertFromLocale" member to better fit
the new meaning.
(An alternative solution to adding our own handling for
"text/plain;charset=utf-8" and making assumptions for the
encoding of "text/plain" data would be to let Qt handle
this and just call `QMimeData::text()` for the
`m_bProvideUTF16FromOtherEncoding=true` case
in `QtTransferable::getTransferData`.
Since qtbase commit 589a01ff6b1eacf81e74a5fc4801572135214f43
("QMimeData: Prefer UTF-8 when multiple charsets are available",
contained in Qt >= 5.13), that one handles MIME type
"text/plain;charset=utf-8" in addition to "text/plain".)
[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=589a01ff6b1eacf81e74a5fc4801572135214f43
Change-Id: I89f33216bf6be02a347d245b2359273af2eb530a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132631
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Tested-by: Jenkins
* Update helpcontent2 from branch 'master'
to 4b68b8f837be5932a30a9ff3546afeeaea4f93a5
- Some ScriptForge services lack a pre-requisite note 2/3:
- included pre-requisite note in SF help page
- created a Python biaised note for 'Basic' service
- will create a Basic biaised note for Basic oriented services in a subsequent patch
Change-Id: I0810602b527fde14e4a013857482fc892593ca7f
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/132386
Tested-by: Jenkins
Reviewed-by: Alain Romedenne <alain.romedenne@libreoffice.org>
The problem is that a get field in a header on page N may calculate and
show values that do not take into account a set field on page N-1.
This happens if a table row with multiple columns is split across the
pages: SwGetExpField::ChangeExpansion() calls GetBodyTextNode(), which
returns the first node in the first column that is on page N, but in the
SwNodes array this node is *before* any node in columns 2..M, any of
which may be on page N-1 in the layout.
So try to fix this by adding a page number to SetGetExpField and using
that as the highest priority in operator<().
This is a bit risky because some of the places that create
SetGetExpField don't have a frame to get the page number from; try to
adapt all that call into MakeFieldList(), while leaving unrelated ones
such as in MakeSetList() unchanged.
Change-Id: Ied2a897ad34f0faf1ef3d50baad07b23fafd49bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132641
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
There is an exporter class for preset shapes,
namely the DMLPresetShapeExporter, which in
its ctor calls the msfilter::GetShapeName()
converter method where the puzzle cause
exception. To avoid this return with false
to export it with custgeom in time.
Change-Id: I8d29bf551638a66abf381c9cb8f6a0eebc881195
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132567
Tested-by: Jenkins
Reviewed-by: Attila Bakos <bakos.attilakaroly@nisz.hu>
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
I found it while creating a unittest for tdf#121887.
IMHO, loadDoc should fail if there is a warning
While at it, remove redundant assertions
Change-Id: Ib2b9572ee1f0f4da9ac23913e231eac1ad57cb49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132638
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
* Update helpcontent2 from branch 'master'
to a6304ba5dd0efe2d5e2a16254aa9e7d2e74f5660
- tdf#127477, tdf#131382 scope of function Minute
Change the headng of the Minute function to indicate BASIC scope
+ refactoring of the Help page
Change-Id: I50286245c2e2f573d0ad4c96e37bcb218efe2954
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/132632
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
While cleaning up "LibreOffice DevGuide: Chapter 1 - First Steps" in
the TDF Wiki, I understood that only 3 examples were compiled via the
Makefile, but there were 4 java files. It turned out that the
FirstUnoContact.java and FirstConnection.java are essentially the
same. I removed the second one, as it was not built, and was not
referenced elsewhere.
Change-Id: I7df5dd9dfc3aae15de4484b4a3dd6272066a8683
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132457
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Hossein <hossein@libreoffice.org>
This patch fixes tdf#148359 which prevented the display of EMF images
embedded in the rtf files or even loading when loading them directly.
Looking into the problem caused by the cleanup commit
3e7dd04dd8, it became visible that
while enums were converted to enum class, there was a cast that
was wrongly ommited:
- sal_uInt16 nStockId = static_cast<sal_uInt8>(nIndex);
+ StockObject nStockId = static_cast<StockObject>(nIndex);
Now, it is re-written as:
StockObject nStockId = static_cast<StockObject>(nIndex & 0xFF);
The symptom was that the StockObject field was mishandled, and thus
the shapes were displayed in white, instead of black.
"Stock Logical Object" is discussed in the MS document for EMF:
* [MS-EMF] v20210625 - pages 44, 45 and 182
A unit test is provided to make sure that the regression does not
happen again. The test can be run by:
make CPPUNIT_TEST_NAME=testStockObject -sr CppunitTest_emfio_wmf
Change-Id: I9a7f1008e92a96d9fb12aeb7bd057af828c1722a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132540
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
The BackgroundShape may have a FillStyle after import, so do
handle that FillStyle accordingly. Also enhance breaking
the Group by keeping that shape in that case and deactivate
Move/Size change lock for it. Also Undo needed.
Change-Id: Iccdb236a2311275efc07162fd4bd2cfc252fd437
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132626
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
* Update helpcontent2 from branch 'master'
to 68c52a06cf89d374fd8d46a5d5f78bd3d4a0cb9a
- tdf#131382 Scope of functions LOG and ASC
Change the heading to indicate BASIC function and not a Calc function
Change-Id: I8dae4b7baf64b42dfa156b6dde8039baa6ac3058
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/132629
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
The Qt code was sharing the menu bar from the top level frame, but
LO expects independent menu bars per SetFrame calls. So instead of
showing the new bar and then hiding the old one, this was always
show and hiding the same menu bar, resulting in a hidden menu bar.
As a result of unsharing, LO now must check that its menu bar
pointer is still valid for usage. The QMainWindows takes ownership
when a QMenuBar is assigned and destroy old ones.
Change-Id: I2c6b12199a1e17a5d9f88686a4b27b1413beda47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132581
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
This patch fixes problems caused by the cleanup commit
3e7dd04dd8 for type and calculation of
FamilyFont and PitchAndFamily enumerations.
FamilyFont enumeration is described in [MS-WMF] v20210625 page 33:
"In a Font Object, when a FamilyFont value is packed into a byte
with a PitchFont Enumeration value, the result is a PitchAndFamily
Object".
Thus, we will use sal_uInt8 as the underlying type for FamilyFont.
The PitchAndFamily is created as shown in [MS-WMF] v20210625 page 96:
[0 1 2 3] 4 5 [6 7]
Family 0 0 Pitch
The values for FamilyFont enumeration are created according to the
[MS-WMF], and the calculations are changed to use '<< 4' and '>> 4'
instead of applying the same shift to the enumeration values.
Change-Id: I4f6df33ed6405589acf89ba2c9223a571cb510b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132614
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
So Michael Weghorn was somehow reminded of an abandoned
commit from me ("Qt5 rework parent handling") archived in
https://gerrit.libreoffice.org/c/core/+/73463.
The bug introducing the new QWidget parenting, tdf#145363, was
resolved in a better way by explicitly setting parents for the
modal dialogs, so LO doesn't break Qt anymore. The actual problem
is, that an additional modal dialog needs to be stacked to the
previous modal dialog; no "parallel" modal dialogs are allowed,
which my original fix tried to enforce by reparenting.
Then there is the problem with Qt::Popup's focus grabbing on show,
which breaks LO's editable ComboBox. So LO's popup / FLOAT windows
are mapped to Qt::ToolTip, which are automatically advertised as
tooltips via accessibility. For X11 / xcb, Qt:Window with the
Qt::BypassWindowManagerHint works well enough as an alternative,
but WASM and Wayland don't seem to implement it correctly, so this
just handles popups as Qt::ToolTip on all platforms.
This reverts commit b00a68a8e1
("tdf#145363 Qt reparent modal dialogs on show").
In addition the popup widgets are switched back to Qt::ToolTip.
Change-Id: If726771b4e9cc3f639f21cf502b3ec5985873643
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132526
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
- introduce SwSelPaintRects::HighlightContentControl() to create the
overlay
- use GetTextAttrAt() to enable this when we're inside a content control
(not only when the cursor is exactly at the dummy char of the content
control, which is at the start)
- tested that this works correctly even if the portions inside the
content control don't have the same height (similar to the selection
overlay)
Change-Id: I1db51cdb1ddc87c45740cd8677de645dc8906697
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132618
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Can use CPPUNIT_TEST_FIXTURE() instead.
See commit a226cec52e
(CppunitTest_sw_rtfimport: convert one testcase to use
CPPUNIT_TEST_FIXTURE(), 2019-11-05) for motivation.
Change-Id: I32bd9a8e6ddf706f87bc2f17b75539d4d4c68f13
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132586
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
This change allows to group parklines together into a sparkline
group, or ungroup them, so they use their own sparkline group.
This also adds the undo and redo for this actions.
Change-Id: I61b604203afaf2fe8c2d47b80082739ded15d6fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132545
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
bt:
0 0x00007f7ba5ef549c in rtl::str::acquire<_rtl_uString>(_rtl_uString*) (pThis=0x0) at sal/rtl/strtmpl.hxx:825
1 0x00007f7ba5ef8d45 in rtl_uString_acquire(rtl_uString*) (pThis=0x0) at sal/rtl/ustring.cxx:1199
2 0x00007f7b485757e3 in rtl::OUString::OUString(_rtl_uString*) (this=0x7ffc345a9f20, str=0x0) at include/rtl/ustring.hxx:252
3 0x00007f7b485fd1da in cui::FontFeaturesDialog::fillGrid(std::__debug::vector<vcl::font::Feature, std::allocator<vcl::font::Feature> > const&) (this=
0x7ffc345aa538, rFontFeatures=std::__debug::vector of length 43, capacity 64 = {...}) at cui/source/dialogs/FontFeaturesDialog.cxx:98
4 0x00007f7b485fcc83 in cui::FontFeaturesDialog::initialize() (this=0x7ffc345aa538) at cui/source/dialogs/FontFeaturesDialog.cxx:66
5 0x00007f7b485fc8b9 in cui::FontFeaturesDialog::FontFeaturesDialog(weld::Window*, rtl::OUString const&) (this=0x7ffc345aa538, pParent=0x6f2f748, rFontName="EB Garamond 12")
at cui/source/dialogs/FontFeaturesDialog.cxx:28
6 0x00007f7b488f3165 in SvxCharNamePage::FontFeatureButtonClicked(weld::Button&) (this=0x6f0a620, rButton=...) at cui/source/tabpages/chardlg.cxx:1157
Revealed with 5afdcad4c0
Pass context and resource string down to boost::locale separately
because this is often on a hot path, and we can avoid the splitting and
joining of strings like this.
Change-Id: I20b18c8f46014feb453f81d66dd7cb490124efa1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132590
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
In this case, SwSendMailDialog::AllMailsSent will keep the dialog open
anyway, to allow to see the resulting report containing errors.
Change-Id: I351a5da01c3ab50677be1d735b261d8e5516cb43
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132588
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
The problem is that SwXTextTableCursor::mergeRange() wants to move some
nodes, and the deleteMarks() deletes a fieldmark creating a SaveBookmark
but it contains the positions relative to the CH_TXT_ATR_FIELD* still in
the text, while deleting the fieldmark of course removes these.
The SaveBookmark would need to adjust the indexes and store the
separator position too and the vector would need to be restored in
reverse order.
But every time the SaveBookmarks are created, they are restored as well,
so it looks simpler to just suppress deleting the CH_TXT_ATR_FIELD* in
this case, and inserting them too (latter is already done when copying
text).
Change-Id: I690c6432a38eab6dec10adff74e638f0e52cca55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132531
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
The method is for internal use by the ScriptForge core only.
The only argument is an object with VarType() = V_OBJECT.
The purpose is to inspect thoroughly the argument
and to return a
Type _ObjectDescriptor
iVarType As Integer
sObjectType As String
End Type
The iVarType indicates if the object is either
- a UNO object => sObjectType contains the UNO type ("com.sun.star. ...")
- a ScriptForge class instance => sObjectType contains the class
- another Basic object
- Nothing (different from Null)
Several existing methods benefit from the new method and are part
of the commit.
No effect on help pages.
No effect on Python code.
Change-Id: I69565d335b3aeb7c08c48cbccfc13d3d82f11ae1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132525
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Regression from commit f86d1482be (sw
clearing breaks: add DOCX import, 2022-03-08), the trouble was that we
considered an anchored object from the header for text wrapping, while
this anchored object was in the background in Word.
Change-Id: I806cc91ce1eb390c02cbff2defa4cb47fde86853
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132578
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
...where ExternalProject_hsqldb failed with
> [java] java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
> [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)
> [java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:891)
> [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:231)
> [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
> [java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
> [java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
> [java] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
> [java] at java.base/java.lang.reflect.Method.invoke(Method.java:577)
> [java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
> [java] at org.apache.tools.ant.Task.perform(Task.java:350)
> [java] at org.apache.tools.ant.Target.execute(Target.java:449)
> [java] at org.apache.tools.ant.Target.performTasks(Target.java:470)
> [java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
> [java] at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
> [java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> [java] at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
> [java] at org.apache.tools.ant.Main.runBuild(Main.java:818)
> [java] at org.apache.tools.ant.Main.startAnt(Main.java:223)
> [java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
> [java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
> [java] Caused by: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
> [java] at java.base/java.lang.System.setSecurityManager(System.java:416)
> [java] at org.apache.tools.ant.types.Permissions.setSecurityManager(Permissions.java:103)
> [java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:216)
> [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:155)
> [java] ... 19 more
while building target switchtojdk17 (but then unfortunately carried on, without
the source modifications that should have been done by that target, leading to
confusing errors like
> [javac] workdir/UnpackedTarball/hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java:426: error: jdbcConnection is not abstract and does not override abstract method createStruct(String,Object[]) in Connection
that should have been under control at least ever since
7dbfc0012c "make hsqldb build with java 1.7".)
Unconditionally passing ANT_OPTS -Djava.security.manager=allow would cause older
JDK versions (like Java 11) to fail with a java.lang.Error "Could not create
SecurityManager" caused by a java.lang.ClassNotFoundException "allow", so
introduce JDK_SECURITYMANAGER_DISALLOWED_FOR_BUILD.
This should allow us to keep building against at least JDK 18, even though later
versions of Java may remove the Security Manager completely, but in which case
hopefully an updated version of Apache Ant will become available.
Change-Id: I9d143d8bcfff67870017bb1c874eec53e0ff9672
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132558
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
The Expert Configuration's approach of classifying configuration properties
based on their dynamic css::uno::Any types is hopelessly naive and broken, but
lets add a little hack to at least allow setting a non-nil value for a nillable
property of non-any type that was nil.
(This change was motivated by the comment at
<https://gerrit.libreoffice.org/c/core/+/132495/1..2/officecfg/registry/schema/org/openoffice/Office/Common.xcs#b2394>
"allow to override the generator/producer string in output documents": "The
default value is needed because otherwise the advanced settings editor in
Tools->Configure->Advanced claims the type is 'void' and doesn't allow editing
it."
Change-Id: Ia8eef454919b05bda23e56639e93c765ba3a8b13
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132575
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
1. Disambiguate "address validity check failed" from "mail delivery error".
2. Change "Cancel" button into "Close" when operation is finished.
3. "%1 of %2 emails sent" changed to "%1 of %2 emails processed", since
the number does not reflect the sent status, and includes failures.
Change-Id: Idb4934618a843133dfb35de10b9903875094366a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132565
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>