Age | Commit message (Collapse) | Author |
|
* Update helpcontent2 from branch 'libreoffice-24-8'
to 23bbf450933fc8c59507521165d7e1d23a7bcf86
- tdf#161579 Further rework on Save options Help page
+ refactor
+ removed outdated screenshot from page
+ deleted outdated screenshot from build
+ change paragraph tag to a tip tag for better reading.
Change-Id: I8ec7330ffe501e7b68ee1ccc9591e45dbe35c05b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169116
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
(cherry picked from commit 840359bcb401b17e55a0370a9a0d15890a824abe)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169109
|
|
* Update helpcontent2 from branch 'libreoffice-24-8'
to 52572824af33a77628c57fe7f6d3e2e19c226b32
- tdf161612 Precisions for XMATCH function Help page
Change-Id: Id50a01c9c33284124f022540ac51c1f1651848e7
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169007
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
(cherry picked from commit 9f43bf5caf95051c06f0c08f326f8d864c501d58)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169102
|
|
* Update helpcontent2 from branch 'libreoffice-24-8'
to b80910b523d23afe7d4bb6c59a443eb429003faf
- tdf#154226 Add link to LO books on Help pages
Added a row of icons on the footer of the Help pages.
Change-Id: I40e1e697e5defa21ba3fb6f93198489ac401924b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169033
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
(cherry picked from commit 4c8b04c8d9d3a2367bb3205b852f2d7b75082f90)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169101
|
|
Open the bugdoc, the shape has an 5cm left padding for its text, but
only 4cm of that is visible in Writer.
Checking the shape, part of that is outside the page frame, so the first
1cm of the left padding is not visible, visually resulting in a 4cm left
padding in Writer, but not in Word.
Fix the problem by extending SwFlyFrame::MakePrtArea(), so in case the
shape is partially outside the page frame, then we make sure to increase
the left padding enough that the nominal (5cm) left padding is inside
the page frame.
With this, the text on the title page of the document is visually
centered also in Writer, even if not using an explicit paragraph
alignment.
Change-Id: I5dcbcf407ed7f12f0bc13820fa39621a76e23fe7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169186
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 61692b82ae4ff62662509b5979a7aabc7d380678)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169134
|
|
Now that the logic from `SidebarController::PopulatePopupMenus`
has been moved here in
Change-Id: I8236f2467239e6a2f485d468656e961478eeb09c
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Jun 17 13:35:12 2024 +0200
tdf#159835 sfx2: Move logic to populate sidebar menus to TabBar
as well, simplify `TabBar::OnToolboxClicked`:
No longer use one loop to build a vector of entries
and another to process these, but use a single loop
for that instead.
Drop the now unused `DeckMenuData` class.
Change-Id: I884f3b70bb4d85b9a52421e9de6042cda80cfa0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169006
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169076
|
|
Move the logic to populate the menus from
`SidebarController::PopulatePopupMenus` (called
by `SidebarController::ShowPopupMenu`) to
`TabBar::OnToolboxClicked`. The latter called
`SidebarController::ShowPopupMenu`.
(In a first step, take over the existing implementation
but leave further changes for following commits.)
`TabBar::OnToolboxClicked` already collects all the deck
data relevant for the menus and the menus are members of that
class, so it seems more straighforward to populate
the menus there right away.
The only information needed from `SidebarController`
is whether the sidebar is docked or not, so add a
new method `SidebarController::IsDocked` to retrieve that
information.
Rename `SidebarController::ShowPopupMenu` to
`SidebarController::ConnectMenuActivateHandlers` as
it only connects the signals now, and rename
`PopupMenuProvider` to `PopupMenuSignalConnectFunction`
accordingly.
This commit does some refactoring in preparation of
fixing tdf#159835, no change in behavior intended (yet).
Change-Id: I8236f2467239e6a2f485d468656e961478eeb09c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169005
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169075
|
|
This e.g. makes it clear that this is never null.
Also use an `m` prefix for the class member.
Change-Id: Ia66245f17e7f0ca9e57750e8606c8ccc1387eb97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169004
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169074
|
|
How the file was created:
mkdir data
cd data
wget
https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
cd ..
tar cvjf language-subtag-registry-2024-06-14.tar.bz2 data/language-subtag-registry
Change-Id: Ib85b9072590a97fde37be85b9866bf53f77d1f4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169061
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
(cherry picked from commit 62c99a31de22561e0e38dd10f3b3fd2b6dd9971d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169098
|
|
Regression from commit ca71482237d31703454062b8b2f544a8bacd2831
(tdf#153083 writerfilter: import locale-dependent TOC \t style names, 2,
2023-01-31), open the doc, apply 'Level 2 Heading' on the first para,
then switch back to 'Signature' again using e.g. the sidebar, the
numbering of the first paragraph is gone.
This was initially a wider problem, but since commit
ab1697cb4c17fd7a2fbf8d374ac95fc03b4d00be (tdf#160402
filter,writerfilter: import locale-dependent STYLEREF names,
2024-05-06), the problem only affects built-in styles. There were two
remaining problems: 1) the separator for the TOC field can contain
whitespace, which resulted in a style named ' Signature' and 2) the
style was always cloned, even if the name was not localized.
Fix the problem by first trimming the style name in
DomainMapper_Impl::handleToc() and then only cloning in
DomainMapper_Impl::ConvertTOCStyleName() if we see that the style name
is localized. A localized style name can be observed when opening e.g.
sw/qa/extras/ooxmlexport/data/custom-styles-TOC-semicolon.docx that has
Intensives Zitat vs Intense Quote.
One remaining question is why the numbering is lost when the cloning
happens, that's not addressed here, as the cloning should not happen for
this document in the first place.
Change-Id: Ibc2ea20cc3c9ec6bec9bdcdabce1469a0457317a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168994
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 4e5dd2c0774242e44ac6edf2bd5ada220541b06b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169014
|
|
While opending a slide with a video worked fine for
me with the qt6 VCL plugin and a local Qt development
build on Debian testing (qtbase as of
8915ae3a75c4a356d94962dd9b31e1458f2a506f,
qtwayland as of deae8b9ce9f551b29ef98d0bb827a8543af2797e,
qtmultimedia as of 235ba5f273fbb7dfed8ba3736e4444a85aee5770),
this resulted in a freeze when using Debian's system-provided
Qt packages instead (libqt6multimedia6:amd64 6.4.2-11+b2).
While the self-compiled Qt dev is using `QFFmpegMediaPlayer`
which asynchronously loads media, the system QtMultimedia
is using `QGstreamerMediaPlayer` (s. frame 37 in below backtrace)
that apparently doesn't use multiple threads.
Therefore, using `Qt::BlockingQueuedConnection` is problematic,
as its documentation [1] says:
> Same as Qt::QueuedConnection, except that the signalling thread blocks
> until the slot returns. This connection must not be used if the receiver
> lives in the signalling thread, or else the application will deadlock.
Use `Qt::AutoConnection` (= 0, the default) instead and specify the
`Qt::SingleShotConnection` flag in addition to ensure the slot
gets called only once:
> This is a flag that can be combined with any one of the above connection
> types, using a bitwise OR. When Qt::SingleShotConnection is set, the
> slot is going to be called only once; the connection will be
> automatically broken when the signal is emitted. This flag was
> introduced in Qt 6.0.
Drop the now no longer needed manual disconnect.
This makes the scenario work with both, the custom-compiled
Qt dev using `QFFmpegMediaPlayer` and the system-provided
Qt 6.4.2 using `QGstreamerMediaPlayer`.
Side note: Unrelated to the issue addressed here, using the
system-provided Qt with `QGstreamerMediaPlayer` results
in a crash when started via the soffice shell script wrapper
with a LibreOffice debug build or when using soffice.bin directly
and manually setting `MALLOC_PERTURB_=153`, which indicates
some memory issue. That could be within Qt, though, haven't
analyzed that further.
Backtrace of deadlock:
1 syscall syscall.S 38 0x7f40a83249f9
2 QSemaphore::acquire(int) 0x7f40948714e2
3 ?? 0x7f409477fede
4 QVideoSink::videoFrameChanged(QVideoFrame const&) const 0x7f4095195376
5 ?? 0x7f405c219f5c
6 ?? 0x7f405c21a25b
7 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x7f4093782d62
8 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x7f40947356d8
9 QCoreApplicationPrivate::sendPostedEvents(QObject *, int, QThreadData *) 0x7f40947358b7
10 ?? 0x7f4094925257
11 ?? 0x7f409ab0de3f
12 ?? 0x7f409ab0fec7
13 g_main_context_iteration 0x7f409ab104e0
14 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x7f4094922f60
15 QtInstance::ImplYield QtInstance.cxx 455 0x7f4094e534e0
16 QtInstance::DoYield QtInstance.cxx 464 0x7f4094e568a5
17 ImplYield svapp.cxx 384 0x7f409f3c48cc
18 Scheduler::ProcessEventsToIdle svapp.cxx 419 0x7f409f3c4bc8
19 avmedia::qt::QtFrameGrabber::grabFrame QtFrameGrabber.cxx 106 0x7f405cac5524
20 non-virtual thunk to avmedia::qt::QtFrameGrabber::grabFrame(double) 0x7f405cac564e
21 avmedia::MediaWindow::grabFrame mediawindow.cxx 385 0x7f40a03e41ad
22 SdrMediaObj::getSnapshot() const::$_0::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const svdomedia.cxx 195 0x7f40a249e5b5
23 std::__invoke_impl<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(std::__invoke_other, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 61 0x7f40a249e52d
24 std::__invoke_r<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 111 0x7f40a249e4dd
25 std::_Function_handler<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&), SdrMediaObj::getSnapshot() const::$_0>::_M_invoke(std::_Any_data const&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) std_function.h 290 0x7f40a249e345
26 std::function<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&)>::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const std_function.h 591 0x7f40a03e96cd
27 avmedia::PlayerListener::callPlayerWindowSizeAvailable mediawindow.hxx 76 0x7f40a03e6bf1
28 avmedia::PlayerListener::preferredPlayerWindowSizeAvailable mediawindow.cxx 496 0x7f40a03e5055
29 avmedia::qt::QtPlayer::notifyListeners QtPlayer.cxx 395 0x7f405cacfd53
30 avmedia::qt::QtPlayer::notifyIfReady QtPlayer.cxx 326 0x7f405cacfb42
31 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QMediaPlayer::MediaStatus>, void, void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call qobjectdefs_impl.h 135 0x7f405cad477b
32 QtPrivate::FunctionPointer<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call<QtPrivate::List<QMediaPlayer::MediaStatus>, void> qobjectdefs_impl.h 172 0x7f405cad46cd
33 QtPrivate::QSlotObject<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus), QtPrivate::List<QMediaPlayer::MediaStatus>, void>::impl qobjectdefs_impl.h 383 0x7f405cad4612
34 ?? 0x7f409477fbbe
35 QMediaPlayer::mediaStatusChanged(QMediaPlayer::MediaStatus) 0x7f4095184a05
36 ?? 0x7f405c210740
37 non-virtual thunk to QGstreamerMediaPlayer::processBusMessage(QGstreamerMessage const&) 0x7f405c2009f7
38 ?? 0x7f405c21aa94
39 QObject::event(QEvent *) 0x7f40947723e0
40 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x7f4093782d62
41 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x7f40947356d8
42 QCoreApplicationPrivate::sendPostedEvents(QObject *, int, QThreadData *) 0x7f40947358b7
43 ?? 0x7f4094925257
44 ?? 0x7f409ab0de3f
45 ?? 0x7f409ab0fec7
46 g_main_context_iteration 0x7f409ab104e0
47 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x7f4094922f60
48 QtInstance::ImplYield QtInstance.cxx 455 0x7f4094e534e0
49 QtInstance::DoYield QtInstance.cxx 464 0x7f4094e568a5
50 ImplYield svapp.cxx 384 0x7f409f3c48cc
51 Scheduler::ProcessEventsToIdle svapp.cxx 419 0x7f409f3c4bc8
52 avmedia::qt::QtFrameGrabber::grabFrame QtFrameGrabber.cxx 106 0x7f405cac5524
53 non-virtual thunk to avmedia::qt::QtFrameGrabber::grabFrame(double) 0x7f405cac564e
54 avmedia::MediaWindow::grabFrame mediawindow.cxx 385 0x7f40a03e41ad
55 SdrMediaObj::getSnapshot() const::$_0::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const svdomedia.cxx 195 0x7f40a249e5b5
56 std::__invoke_impl<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(std::__invoke_other, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 61 0x7f40a249e52d
57 std::__invoke_r<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 111 0x7f40a249e4dd
58 std::_Function_handler<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&), SdrMediaObj::getSnapshot() const::$_0>::_M_invoke(std::_Any_data const&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) std_function.h 290 0x7f40a249e345
59 std::function<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&)>::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const std_function.h 591 0x7f40a03e96cd
60 avmedia::PlayerListener::callPlayerWindowSizeAvailable mediawindow.hxx 76 0x7f40a03e6bf1
61 avmedia::PlayerListener::preferredPlayerWindowSizeAvailable mediawindow.cxx 496 0x7f40a03e5055
62 avmedia::qt::QtPlayer::notifyListeners QtPlayer.cxx 395 0x7f405cacfd53
63 avmedia::qt::QtPlayer::notifyIfReady QtPlayer.cxx 326 0x7f405cacfb42
64 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QMediaPlayer::MediaStatus>, void, void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call qobjectdefs_impl.h 135 0x7f405cad477b
65 QtPrivate::FunctionPointer<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call<QtPrivate::List<QMediaPlayer::MediaStatus>, void> qobjectdefs_impl.h 172 0x7f405cad46cd
66 QtPrivate::QSlotObject<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus), QtPrivate::List<QMediaPlayer::MediaStatus>, void>::impl qobjectdefs_impl.h 383 0x7f405cad4612
[1] https://doc.qt.io/qt-6/qt.html#ConnectionType-enum
Change-Id: Ia8bfd19b0c0c4f970a5eb200c2a0b45784ef25fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169036
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit 4df2a30c57c150d30d34e4cd1641a076cf3010f6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169097
|
|
So far, `QtPlayer::createPlayerWindow` was unconditionally
creating a video widget.
However, audio-only media files can be used as well,
therefore handle that case, too and create a widget
holding an audio icon as a placeholder instead if
the media doesn't contain video.
(This is the same icon shown when using qt5 that
doesn't use QtMultimedia).
As described in
commit a99575f04fa9c858bfcd996f037444135810d43f
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Sat Jun 1 07:32:22 2024 +0200
tdf#194504 qt avmedia: Don't wait for video frame if there's none
, `QMediaPlayer::hasVideo()` only returns a useful
result once loading media has finished. Therefore,
if the player is still in that state in
`QtPlayer::createPlayerWindow`, defer
creating the widget to when the media status
changes.
With this commit in place, opening an Impress presentation
that contains an audio file (like attachment 194504
from tdf#145735) and starting presentation mode now shows an
"audio icon" as placeholder as expected when using
the qt6 VCL plugin.
(This commit here makes that work for presentation
mode, while the above-mentioned commit already made
the icon show as expected for non-presentation mode.)
Change-Id: I1ff7e8b8659162a748abc3f97a8d2181375c0e7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169009
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit 12c4b7ee91c6fb1e2a1e4a5c8828372ddfad5a9f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169096
|
|
Change-Id: I2fcec37cd9d22862dd136c97e5b4097e69fd41cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169035
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169050
|
|
Change-Id: I675d59cd7e22c09ea1c673e016d71f8d3ed404a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168890
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169049
|
|
Change-Id: Icc05195a4870d5bb4f8c5ffc9b3bcae89367a89d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168866
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169048
|
|
It should check for the wholesome encryption more directly; PBKDF2 is
unreachable from the UI in this case anyway, this can only be tested
with LO_ARGON2_DISABLE=1 in the environment.
Change-Id: I5e74471300df1c6ef3892dc544f13328e5898abb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168998
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
(cherry picked from commit 0cbfd84b0c57a831b2ff48239aa9926482f49f8b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169012
|
|
Previously, setting stroke width and cap was only done when running
unit tests. But the same drawing contraints are necessary when running
with a Retina display on macOS.
Change-Id: I74f7347d30a410f7d3485388ffec61b32730b948
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168973
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
(cherry picked from commit a4488013ee6c87a97501b620dbbf56622fb70246)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168947
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
* Update translations from branch 'libreoffice-24-8'
to 8be0b107f84d9ea94a5d04146d54426366fe4ee5
- update translations for 24-8/master
and force-fix errors using pocheck
Change-Id: I4a4726ec04a147df4f78d95213a82bf9e0c13a61
(cherry picked from commit b6092afde898f454189047221479af58e31049fa)
|
|
Change-Id: Ieb2c72dbdfec8431bd23da8a5e4844f3c1a5b74e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168958
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit c003f792183b63ca3f282a6fd53ceae0167f2a5e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168942
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
seen on loading forum-mso-en4-604220.xlsx and asserting on export to ods
lets assume that an infinite Y position equates to ALIGN_BOTTOM which is
the case seen in this example, and assume the same for infinite X and
ALIGN_RIGHT if it arises
Change-Id: I009a9cd94b7bd9ed66e18f8dbbb9eb91d37eaa65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168892
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 64da52a94738aa73cbcf2411952914d4e8e0f9ef)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168940
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
a problem since:
commit 164596c00b4361b5b378609f026a1b11ac653970
Date: Tue Nov 14 12:13:21 2023 +0100
resave with newer glade version
Change-Id: I2b69229c59ee07939da43b3013f64041c74f5967
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168930
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
If there is a Name attribute set for a hyperlink, the text is exported
to PDF as tooltip.
note: not every PDF reader displays this text
Change-Id: Ib9f1c13403c1555bfae733d662754c0e052378f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168993
Tested-by: Jenkins
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
(cherry picked from commit a3ac49ebe78b7fc164dbc766492faee084bad254)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168949
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
The problem is that XBufferedThreadedStream does not implement
XSeekable, so the new code in ZipFile::checkValidPassword() throws an
exception, and then joining the UnzippingThread hangs.
Implementing XSeekable doesn't appear to help, as the mutex that
is used by XBufferedThreadedStream and the UnzippingThread is already
locked by checkValidPassword() [fixably] and by getDataStream().
So just disable threading for AEAD streams, these are read immediately
anyway so threading isn't much of a benefit.
(regression from commit 2f512aaa6c39390a5a0eb1d1e37f070127d068a4)
Change-Id: I16027d5b03ba6e102bc143c22383eb7f08590e5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168893
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 31698044cd1fe7a7662740b97ea58f9904b3bb0e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168945
|
|
insert comment, click on it to expand it, click on menubutton and
use "delete all comments by..."
crash on use of invalid iterator as callback trashes the vector
being iterated over
Change-Id: Ia86de87207f706f35a023efa433c5e67b8bb436a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168970
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168935
|
|
This also changes the API used in WriteLibraryToRegistry.
Change-Id: Iba4c20567275a64684be8695c771e4c5535956ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168912
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168992
|
|
The buffer was prepared with a wrong length (one too few spaces); thus,
the resulting registry key path was wrong, and opening it failed.
While at it, use a normal WinAPI to stringify GUIDs, and simplify code.
Change-Id: I9a51a5aa70791106055c615fd15a32e5e07847a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168903
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 7b2c82ff14094aad4cb64a9d2531fd8fe48229b1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168938
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I0bd2a238662e1da0c62cdaec96b9892df82298f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168909
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168991
|
|
Change-Id: I8e0106464260126983a1d55c66c218e78da7f94e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168908
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168990
|
|
1. In isProductVersionUpgraded, if it was upgraded, set FirstRun. This
will run in runGraphicsRenderTests, early enough in Desktop::Main().
2. This will make sure that Desktop::CheckFirstRun() will do its tasks,
including creation of the quickstart shortcut. It is simplified a
bit, to use a better WinAPI.
3. Setting FirstRun to false is moved to m_firstRunTimer's handler, to
make sure that it gets run eventually, even if the first launch was
terminated before the timer fired.
This will not make installer itself create the quickstart shortcut: it
will happen on the program's first run after an upgrade. But users now
won't have to enable the option manually each time.
Change-Id: Ica6cc41f1e56b8970db27d14e2be3c47910293e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168902
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
(cherry picked from commit f1e4a97b03e1eacd679c3ef1dcb7ab4b577dd928)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168939
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I35fed710862ed87c477686e26bc8c82379c5e5a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168854
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
(cherry picked from commit 6fc21353bb30e71e2fc4d47394bf7ec2e704a454)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168941
|
|
so we get the same filled MenuButton in both applications
Change-Id: Iea41a17285287ec2794e4cdce6eaae0906fff291
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168969
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168989
|
|
probably since:
commit 35f59457ff434b7b97cad6ce1dbef6ff07f7bc96
Date: Thu Nov 16 17:03:39 2023 +0100
tdf#158135 - UI: Part 30 - Unify lockdown behavior of Options dialog
for Writer - Compatibility Page.
Change-Id: Icaf1320f4f819294d49f99b3f1728fa025c51e11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168931
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I234af45560db7940d07669be9abd1b1ec50a74cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167880
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
(cherry picked from commit 10ef0f03bb6a9efc0dcabe8710b59bd7b41a2fcf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168783
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
(cherry picked from commit 37422f16fe56ca10cda549af03b165bf28c9e099)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168875
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Running the a11y check when the sidebar gets enable takes some
time, because populating the widgets is quite expensive. Instead
of running the check right away, add a "update" button to the
sidebar, that needs to be clicked first to start running the
accessibility check. This does not check the behavior of the
sidebar in desktop LibreOffice.
Also change the populate call to be async, which helps a bit to
make the UI interaction more fluent, but doesn't fix the issue.
Change-Id: Ia04f4a5fbae952035c1b8d4d7c56211e061d8251
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167855
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 5e6d7927e27551aa63a2b22134b1a9ee6408d39a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168784
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit efd665b931fdc46f226964ac838fb72a73782b98)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168882
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
This change updates Writer to save and restore VCL device state while
laying out text. This fixes issues caused by Writer mutating device
state while recursively laying out text, particularly overlapping RTL
and LTR text when used together along with footnotes.
Change-Id: I077352551ce2072f5c5eab9bff4b98bbcc6e78f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168835
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
(cherry picked from commit e78bb77c3c5930b20113bff3de2dd02065cead85)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168881
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I627487a79f819351ec38e34b3fac432c36670d7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168932
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
While commit 8e886993f32b7db11a99bdecf06451e6de6c3842
fixed tdf#157568, moving the selected cell rapidly creates
a large number of stale ScAccessibleCell instances that
aren't deleted until the Calc document is closed. So reduce
memory usage by adding back the ScAccessibleCell cache that
was in commit f22cb3dfab413a2917cd810b8e1b8f644a016327 now
that a new fix for tdf#157568 has been implemented.
The new fix for tdf#157568 is to do the following:
- Check if the edit engine text has changed. If the input
string is different than the edit engine's existing text,
force update of the edit engine's text. Otherwise, the edit
engine will still to be set to its existing text.
- Before a cell loses focus, check if any accessible text
changes have occurred and fire text and value changed
notifications if needed.
Change-Id: I106ad0138d5d834367be59ca625d41a692696d4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167961
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit ab5ad0c8b5056da8f699cea233dd31eceb3d80a4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168887
|
|
As described in the IAccessible2 spec [1], -1 can be used as a
special text offset:
> Using IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the
> IAccessibleText or IAccessibleEditableText methods is the same
> as specifying the length of the string.
Replace -1 by the text length *before* doing the
check whether end offset is smaller than the start offset.
Otherwise, trying to query the whole text of a Writer paragraph
containing the text "hello" in NVDA's Python console would
incorrectly trigger an error:
>>> focus.IAccessibleTextObject.text(0,-1)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "comtypes\__init__.pyc", line 856, in __call__
File "monkeyPatches\comtypesMonkeyPatches.pyc", line 32, in __call__
_ctypes.COMError: (-2147467259, 'Unspecified error', (None, None, None, 0, None))
With this commit in place, it works as expected:
>>> focus.IAccessibleTextObject.text(0,-1)
'hello'
[1] https://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_general_info.html#_specialOffsets
Change-Id: I489a42270a56178cc8ee0564eec3dc82e15969c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168853
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
(cherry picked from commit 0c7928dc10da2c8c5ce9910fe20cea439573f2ae)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168885
|
|
Change-Id: Iab7f4bb492e24eb2ca6448f3540d219a18c15d79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168869
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 278008f76835a128025b2a37ba8c9a7613284b6d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168883
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
regression from
commit 337a9a454c1bc95214111578d3f9c0622c55c509
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Mon May 18 09:17:04 2020 +0200
use for-range on Sequence in chart2
Change-Id: I94f9460e45e5910af1de905605158f9dc1dbedfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168868
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit 013282b1421c0bba66ef54ccbfe4a649a4b97628)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168879
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Change-Id: If021f2edf8e4029d22118a2ed369b21a3a7215da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168836
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
(cherry picked from commit e7455c7e38e3fe4538faf9bbbe834d01815a7678)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168876
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
When creating a link rectangle for a SwGetRefField, the problem is that
the cursor is positioned on 2 different nodes with 2 different text
frames, neither of which is the node that contains the field; this
happens because that node's text frame has a height of 0, so IsSelOvr()
moves the cursor to a previous node.
Check that SwCursorShell::GotoFormatField() did in fact go to the field.
(regression from commit 9ba8d68c2b2fd06340bbdcb61dc3d57f6e3eb974)
Change-Id: Ib74533f46dce8fb05224fddfff12e49577346b35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168860
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
(cherry picked from commit a9bc3ea1bef2a6b622a729dfa18eb3851ce7101e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168872
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
These settings are available to set the brand when building LibreOffice:
1) Community flavor: yes / no
This is set via --disable-community-flavor, that defines
HAVE_FEATURE_COMMUNITY_FLAVOR, which is used in cui/source/dialogs/about.cxx.
2) Product name: A string (set via --with-product-name='name')
This defines PRODUCTNAME, which is used in many places in the code.
Not every LibreOffice build is a "LibreOffice Community" flavor. This
patch fixes this issue by using community brand only when variable
HAVE_FEATURE_COMMUNITY_FLAVOR is set.
Change-Id: Ib74450f380fed7c24222f88e389ddb5363bda3c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168676
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Jenkins
(cherry picked from commit 0e2409e5e3c73ec25c61aa4ea140d114869ea512)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168804
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Ib17ec39a5b2691190c5eb1291d1977e1b83eba15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168799
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
probably since:
commit 805fd61f8efaaac119bbe28ab51617c07f0d7058
Date: Thu Jun 6 19:47:45 2024 +0200
tdf#160591 PPTX export: fix colormap mapping in slide master
Change-Id: I154f0ff1769fbda361ec62f1dd589ca0d7686bd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168506
Change-Id: I3ec45b2a0b78324e8512acbcc3a7544c196f670d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168805
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Add No Break option to context menu of words hyphenated automatically,
giving as easy access to fix paragraph layout, as context menu of
misspelled words – like DTP software do. Also add this option to context
menu of words with enabled "No Break" to disable it.
To avoid unwanted paragraph layout during further text editing or
formatting, visualize words excluded from hyphenation with a light
gray dotted underline, when Formatting Marks is enabled.
Follow-up to commit b5e275f47a54bd7fee39dad516a433fde5be872d
"tdf#106733 sw: implement CharNoHyphenation" and
commit 73bd04a71e741788a2f2f3b26cc46ddb6a361372
"tdf#106733 xmloff: keep fo:hyphenate in character formatting".
Change-Id: I81bb410abcf999c8d9a3dca28acfc5c21aa0f260
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168827
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 2f0c7d5691acd4010443856788a54b0abc03098b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168806
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
This was changed in commit dd889b290304b73f96a9a8e6e0f144d3aa2ba7e1
(Resolves tdf#159573 and tdf#137931 - WhatsNew or Welcome dialog,
2024-03-27).
This change doesn't require opening a module (and checking if WhatsNew
dialog is needed) to update the configuration - it will be updated
immediately in runGraphicsRenderTests.
Change-Id: I595b6898c46998e7a0805ffbf7a710dbf0d2a5e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168855
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
(cherry picked from commit 00ed1c5c02c20b98dc70ef9e01c9280d9d6b5193)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168874
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
... to better match Word's formatting.
The bugdoc has a special case where a right-aligned tab is positioned at
the right margin exactly, which causes the bFull condition in
SwTabPortion::PreFormat() to be true.
An obvious change to replace rInf.Width() - rInf.X() with
rInf.GetLineWidth() in the condition makes no difference because
m_pLastTab was already reset previously; instead, pass in the last tab
from Format(), which indicates that the right edge position of the
previous text portion was found via that tab.
Additionally, change the condition that checks for TabOverMargin to also
allow equal positions, i.e., exactly at the end of the paragraph.
Change-Id: I5d3b1c13eca0bffa640745d7c5f4113699f79cad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168823
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 69d873e1c46f3cc8c524e18ac5a307a8d32ddd0f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168871
|
|
... to better match Word's formatting; this commit is not based on a
complete diagnosis of Word's compatibility-mode tab-in-margin
formatting disorders.
1. in SwTabPortion::PreFormat() allow a left aligned tab beyond the
width of the paragraph, like already done for TabOverSpacing
2. in SwTextFormatInfo::GetLineWidth() add some extra width to the
paragraph so text can be hidden in the right margin.
(it's very unclear what Word does here exactly, in one case it puts
339 additional "a" characters in the margin but then the 340th "a"
goes onto a new line...)
3. in SwTextFormatter::NewTabPortion() allow manual tab stops to be
positioned beyond the width of the paragraph, like already done
for TabOverSpacing
testTdf118672, testTdf120287b, testTdf120287c fail but the files,
converted to RTF, render in Word 2013 basically the same as in Writer
with this change.
Change-Id: I5f74ced09c704bfd9967df61351c8bac6540e714
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168819
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 10d753b8aadb50ec4309551b97d4cf2163ea3e3d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168870
|
|
don't call SwRDFHelper::getStatements for every single paragraph, we can
call this once and re-use the result
Change-Id: I0277ecbb113b8333839172bddd7978f4b3a7259a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168850
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit 0e33dff4252f3124c7ecc591befa56f0fb0e1895)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168809
Tested-by: Jenkins
|
|
This would assert:
frminf.cxx:139: void AddRange(): Assertion `rRanges.empty() || rRanges.back().second <= nPos' failed.
Change-Id: Ib41f4c6c971fee9307140c108e74d5df7d94c973
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168824
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit f97008c50ff88a7cf0a80a583a743ee1fb041327)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168807
|