This fixes a five year old (non-)easyhack with 3 duplicates.
Note the nice-to-have dependencies in the bug report(s).
When the document has a unique background (area) image,
it is now added to the list of available images
IF/WHEN the user looks in the area tab.
This allows the user to switch back after changing,
or re-use it in other places in the document.
Most of this patch ended up being plumbing to ensure that
this added image is ONLY available to the current document,
because it MUST NOT be saved to the user profile.
This change affects all apps and all types of areas: NICE
-tested Writer pages, paragraphs, headers, textbox, sidebar(page)
-tested Calc page style
-tested Draw page, sidebar(page), textbox
Caveats:
-the bitmap list is NOT updated at the time of document import,
only when area property inspected.
(The bug requesting inclusion at the time of import is tdf#100832).
make -srj1 UITest_writer_tests8 \
UITEST_TEST_NAME=tdf125969.tdf125969.test_tdf125969 \
SAL_USE_VCLPLUGIN=gen
Change-Id: Ic9fea9b199602c4df1376e781d5df019526473d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176253
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
This fixes a 7.6 regression
from commit e66ddcd4b6.
At import, the base filter was treating too many documents
as if they were limited to Word 2007 format,
and thus reducing their compatibilityMode to 12 on export.
This import case is matched in a LOT of unit tests.
However, it doesn't manifest itself in
saveAndReload(mpFilter) (or DECLARE_OOXMLEXPORT_TEST)
because the mpFilter string set in the Test class with
SwModelTestBase(..."ooxmlexport/data/", "Office Open XML Text"),
forces saving in ISOIEC_29500_2008 mode
and thus unit tests basically NEVER round-trip as "MS Word 2007 XML".
However, the general user was almost always round-tripping
these as MS Word 2007 XML / compat12 since LO 7.6.
make CppunitTest_sw_ooxmlexport20 CPPUNIT_TEST_NAME=testTdf158855
Change-Id: If635866cc816e7b4734443f87b30410ac3bba951
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178048
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
* Update helpcontent2 from branch 'master'
to 635f1dc3de1c1af8b6a99205d2237c0650084bea
- tdf#155193 No indexing when indexer="excluded" in <topic>
Use omindex property of HTML indexing. See
https://xapian.org/docs/omega/overview.html
Change-Id: I9737d0111860da875e09f27814adf7b14104919b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178156
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
* Update helpcontent2 from branch 'master'
to f723cce6039b88b82380fbc8ebe9a2e18eaf3fd4
- tdf#162504 Create help page for Alignment Sidebar panel
Create new file source/text/scalc/01/sidebar_alignment.xhp to explain
the features of the Alignment panel of the Properties sidebar.
In AllLangHelp_scalc.mk
- Add new file source/text/scalc/01/sidebar_alignment.xhp to the make
file
- Change the file path for
source/text/scalc/01/sidebar_number_format.xhp to show amended file
location.
In source/text/shared/01/05020700.xhp
- Add variable tag so that the file can easily be linked from other help
pages.
In source/text/shared/01/05100100.xhp
- Add section tags so that content can be easily embedded in other
pages.
In source/text/shared/01/05340300.xhp
- Add section and variable tags so that content can be easily embedded
in other pages.
- Reformat the "reference_edge" section so that each option has its own
heading. This improves readability and consistency and allows the same
content to be re-used in the help page for the Alignment Sidebar panel.
In source/text/shared/01/LeftToRight.xhp
- Add section tags so that content can be easily embedded in other
pages.
In source/text/shared/01/RightToLeft.xhp
- Add section tags so that content can be easily embedded in other
pages.
In source/text/scalc/sidebar_number_format.xhp
- Moved file to source/text/scalc/01/sidebar_number_format.xhp
In source/text/shared/01/sidebar_properties.xhp
- Embed description of Alignment sidebar panel
- Update file path for source/text/scalc/01/sidebar_number_format.xhp
- Add loc_false tags for embedded variables
Change-Id: Id9c232c18bab1cfab99eec83e796f8db25681898
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177707
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Tested-by: Jenkins
... was matched at all, even for a-b-c with MDY a<=12 or DMY a<=31.
Change-Id: Ie2d62c73c91794a96114b787d6ad2357c7affb2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178171
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
Quoting WCAG 2.2 "Success Criterion 1.4.3 Contrast (Minimum)" [1]:
> The visual presentation of text and images of text has a contrast
> ratio of at least 4.5:1, except for the following:
>
> Large Text
>
> Large-scale text and images of large-scale text have a contrast
> ratio of at least 3:1;
Regarding large text, the corresponding "Understanding SC 1.4.3" [2]
clarifies:
> Text that is larger and has wider character strokes is easier to read at
> lower contrast. The contrast requirement for larger text is therefore
> lower. This allows authors to use a wider range of color choices for
> large text, which is helpful for design of pages, particularly titles.
> 18 point text or 14 point bold text is judged to be large enough to
> require a lower contrast ratio.
Therefore, lower the text contrast requirement in
Writer's accessibility check from 4.5 to 3.0 for
text that is considered large according to that
specification.
Add a unit test with 2 test documents:
* one that adheres to the requirements and would have triggered false
positives without this change in place
(sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt)
* one that doesn't adhere to the requirements and still fails the
check, as it should
(sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt)
[1] https://www.w3.org/TR/WCAG22/#contrast-minimum
[2] https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html
Change-Id: I398f72aa5bdcd77c42834632575d6465a5ecd586
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178127
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
ucrts are no longer added to the installation sets and the corresponding
configure switch has been removed as well.
Change-Id: I484c65c6109572ddd31738e91fcc798575508a7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178076
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
Now that support for Windows versions earlier than Windows 10
was dropped in
commit b664c08a6d
Date: Sat Dec 7 14:46:24 2024 +0500
Drop support for Windows versions prior to Windows 10
, also drop handling for earlier versions from
`getOSVersionString`.
All still supported Windows versions (10, 11,
corresponding server versions) report a major/minor
version of 10.0 (see [1]), so rely on the build
version only and drop previous logic to retrieve
the major and minor version.
[1] https://learn.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version
Change-Id: I91e0e8238350f680594a516b5e0c042244a49683
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178135
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Added a tooltip that says "Click here to select all cells" to calc
select all rows corner. The report shows a tooltip
will suffice instead of an added icon
Change-Id: I33f9bcb48f9185267be760219f58b196e4d5874d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178092
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
* Update dictionaries from branch 'master'
to 31bc2a1104a1cd175f900902f994c76dea35c763
- Add new word "Ratenvereinbarung"
And put "Rattenvereinbarung" on the blacklist
Change-Id: Ie4d7b8fd93c5758316b5a60539c2a42152725537
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/178143
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
The notes text content was not resized when we changed the paper size
in the print dialog.
Change-Id: I2f610579e2ac84c298c4105a5c1235fbe62ad627
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178146
Tested-by: Jenkins
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
paragraph spacing, add this values to the notes text size.
Change-Id: I277ecad30244a418d5038e2a8668cf28302f10ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177856
Tested-by: Jenkins
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
Even if current fill is not "use background" we should reset useBgFill
explicitly, since this value could be set from master slide and was
nested in current shape.
It is somewhat confusing to have fillStyle as none and using slide
background at the same time. So better to clean it explicitly.
Change-Id: I0d817dc295785be7a6cb8f884d5023d316cd2ebf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165994
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
...so it can be used with std::sort in impSolve() (further down in
basegfx/source/polygon/b2dpolypolygoncutter.cxx). At least on macOS with a
LLVM 20 trunk libc++ in hardened mode, JunitTest_sfx2_complex failed with
> ~/llvm/inst/bin/../include/c++/v1/__debug_utils/strict_weak_ordering_check.h:59: assertion __comp(*(__first + __a), *(__first + __b)) failed: Your comparator is not a valid strict-weak ordering
To simplify the new implementation of struct SN operator <, add a B2DPoint
operator <=> (but whose implementation would cause
> In file included from /home/tdf/lode/jenkins/workspace/android_arm/basegfx/source/curve/b2dbeziertools.cxx:21:
> In file included from /home/tdf/lode/jenkins/workspace/android_arm/include/basegfx/curve/b2dcubicbezier.hxx:22:
> /home/tdf/lode/jenkins/workspace/android_arm/include/basegfx/point/b2dpoint.hxx:129:41: error: invalid operands to binary expression ('tuple<const double &, const double &>' and 'tuple<const double &, const double &>')
> { return std::tie(a.mnX, a.mnY) <=> std::tie(b.mnX, b.mnY); }
> ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~
etc. on Android with NDK 23.2, see
<https://ci.libreoffice.org/job/gerrit_android_arm/43174/>, so work around that
in the implementation for now).
Change-Id: I9f46d39dc9e9024fe9ac59413c44e49642282c8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175622
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
For a style that isn't inserted yet, the m_sParentStyleName is converted
to UIName by setParentStyle() but isn't converted back to ProgName in
getParentStyle().
This caused all of the writerfilter test failures in commit
c166d112381f195a171425d1f9c1d38ce579319a.
Change-Id: Ib5495785996807a8f3d9339ed2740f286b04d716
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177998
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
we probably shouldn't do that anyway, but the assumption at this
import check appears to be for >= 0
Change-Id: Ibf98b1b0802a15bc283b3d1e3db7e4e8163837dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178132
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
to match the underlying field and avoid confusion.
The "IsOn" prefix normally means "is the current thread running on",
which is not what this method means
Change-Id: I3399a707582c9b0c681cd4aa03bc9f94860fc7fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177960
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
which are more likely to hide an underlying bug than they are to help
Change-Id: I118b592677df05246912d7fa3d7ab8ca2fe99377
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177999
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
which are more likely to hide an underlying bug than they are to help
Change-Id: I5087827665bd6213142ee90450bf58d8d819c93f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178005
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
which are more likely to hide an underlying bug than they are to help
Change-Id: Ifba3c38e9dc6c3d47c9c62bebf5b5e68f11d9ee7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178004
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
which are more likely to hide an underlying bug than they are to help
Change-Id: I3bcac401d62f9baf27e72bacb6bb0a2315d1c081
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178000
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
I added some asserts here, and discovered that sometimes
m_aPages and the pages in the underlying TabControl get out
of sync. So rather than relying on indexing into a vector,
just store a map indexed on the page identifier, which
means everything uses the same scheme now.
Change-Id: I1b8228e9b124521bda0e79c98e4961bedc71d641
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178003
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
* Update helpcontent2 from branch 'master'
to f45820f45e2cf351d3f08238952d25de0f68337d
- tdf#161502 Update label Structure to Content in Function Wizard help
Change-Id: I62322b720b0ec54c54268d9cb6a0f2d36b7c8d94
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178125
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Add clear method to clear the variables that we usually want to
be cleared. Also rename Encrypt to canEncrypt - which is more
clear what it means. Cleanup initializers.
Change-Id: I96735eb6f73a699fb0759496fc8781bcff3854de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176455
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177874
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
This is needed because we have to separate the init. for both
encryption methods and we have to init both when the password is
entered. Currently we only prepared this, to make this possible
when we introduce the other encryption method.
Change-Id: Id6556ddc6a6218164a93bb689f03d6ec6dbad8b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176454
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177873
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
so a new window of the same type will open with the same settings
Change-Id: I7ee4b476d207d1dbd538ce6c054d83f7281f0309
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178119
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
and
cid#1635777 Dereference after null check
pass ScDocument& around when we know it can't be null,
drop mpDoc and redundant null checks
Change-Id: Ia7efe71c561ff084fbb2dc3cbabd02852a656099
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178046
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Now that we discontinued support of Windows 7, PathCchCanonicalizeEx is
definitely available.
Change-Id: I38b0ff5b6810dfbd6ee6fe84693f71b8392a1808
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178086
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Use fractional lines scrolled to calculate distance to scroll view,
instead of jumping forward or backward a full page every call based on
sign. Also fixes existing bugs: horizontal pane can scroll too far to
right; and snapping pane from vertical to horizontal can break scrolling
if view partially scrolled.
Change-Id: I0ead4710a296aac26f1cf1a0fc48e6ea403271a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177836
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
This gets used in the "Tools" -> "XML Filter Settings" dialog
in Writer when selecting multiple rows in the tree view,
then clicking the "Save as Package" button.
The result with SAL_VCL_QT_USE_WELDED_WIDGETS=1 and the
qt6 VCL plugin in XMLFilterSettingsDialog::onSave looks
as expected with this change in place (variables `aFilters`
and `nFilters` contain the selected filters and total
count of these when observed with a breakpoint after the call to
`m_xFilterListBox->selected_foreach`).
The method still triggers an assert later in a WIP
branch where support for that dialog is declared,
because `QtInstanceWindow::GetXWindow` is called,
but not implemented yet.
Change-Id: Iab47f391106132b5a6ee03fd2ad1902d493c0999
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178070
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Add a new QtInstanceTreeIter struct as the weld::TreeIter
implementaton for QtInstanceTreeView.
It uses the QModelIndex of the item it points to.
Add QtInstanceTreeView::modelIndex helper methods
to convert both, an int row index and a QtInstanceTreeIter
to a QModelIndex.
This can be used to deduplicate code when (re)implementing
the methods that have two variants that either take an
int row index or a TreeIter input param.
For QtInstanceTreeView::get_id, add a new variant that
takes a QModelIndex and move the existing logic from
the implementation for the int param there and reuse
it to implemetnat the variant taking a TreeIter param
as well.
Implement a few more methods taking or returning
a weld::TreeIter.
Change-Id: I0508ad14a43214faccc6a3cba208400031bb231c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178069
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Side note: In Writer's "Tool" > "XML Filter Settings" dialog,
trying to always delete the first entry works 3 times
(when using a fresh profile), but doing it again after then
doesn't remove the entry from the treeview, but the entry is
still gone when closing and reopening the dialog.
That's the same with gtk3 however, weld::TreeView::remove
doesn't get called. So it's not a problem in the weld::TreeView
implementations, but probably in XMLFilterSettingsDialog
or some other underlying logic.
Change-Id: Ic91b3d1d62b66574b9e0710b17b2d9606d27a0fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178068
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Now that support for multiple columns has been implemented
in QtInstanceTreeView, iterating over all selected model
indices and appending their row index to the vector
results in the row being appended once fore each column
of the selected row. (Index seen twice in `aRows` in
XMLFilterSettingsDialog::updateStates while debugging
another issue in the "Tools" > "XML Filter Settings" dialog
with the qt6 VCL plugin and SAL_VCL_QT_USE_WELDED_WIDGETS=1).
Use QItemSelectionModel::selectedRows (with the default column
index of 0) instead of QItemSelectionModel::selectedIndexes
to prevent that.
Change-Id: Ic8caa299549d954ed844c39c4b2ba957edf2b404
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178067
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Set orientation to vertical if that's specified
in the .ui file instead of using the default of
horizontal.
This is used by the button box on the right hand side
of the "Tools" -> "XML Filter Settings" dialog.
Change-Id: I64460037649dcd24897c7a5d7148430836702edc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178064
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Make the `extractTitle` helper function used by
VclBuilder a static method in the BuilderBase
base class for reuse by QtBuilder.
In QtBuilder::makeObject, when encountering a "GtkTreeViewColumn"
object, add a new column to the QTreeView and set the
column title in the underlying model using
QStandardItemModel::setHeaderData.
Return the parent (tree view).
(Returning no object would cause WidgetBuilder::handleObject
to call WidgetBuilder::insertObject again, and thus result
in every column being processed twice, i.e. the double
amount of columns would be inserted).
Adjust QtInstanceTreeView::clear to no longer
call QStandardItemModel::clear [1], as that would
not only remove the "actual" items, but also the
header items, i.e. the column titles would get lost
as well. Remove all rows instead.
With this in place, the tree view in Writer's
"Tool" -> "XML Filter Settings" dialog has the
correct data + title set on open in a WIP branch
where support for that dialog is declared in
QtInstanceBuilder. (Other aspects in the dialog
still need to be addressed however.)
[1] https://doc.qt.io/qt-6/qstandarditemmodel.html#clear
Change-Id: I59956c007ed73cddb299ad2374afd88199ddc94d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178063
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
For now, require that the actual column index is passed.
The weld::TreeView::set_text doc mentions
// col index -1 sets the first text column
, but that is not supported yet, so assert a different
index is passed for now.
Revisit when implementing support for a dialog that actually
makes use of this.
Change-Id: I8ba6e965ba22542bf3151548200b92c8c6b085d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178061
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
...that were added in 59891cd398 "look at
'embedded' protocols for protocols that support them"
Change-Id: I42836d6fd27cd99e39ab07e626053f002a2651f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178047
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
There is no simple "Windows is 10 or newer" check in MSI, with the
Microsoft policy of "you don't need to know real Windows version".
See also https://developercommunity.visualstudio.com/t/detect-a-windows-version-from-msi/412198
The values that MSI sees (e.g. on my Win11) are:
Property(C): VersionNT = 603
Property(C): VersionNT64 = 603
Property(C): WindowsBuild = 9600
So those can't be used for the check. I use the WINMAJORVER that is
read from registry (Software\Microsoft\Windows NT\CurrentVersion).
There is no more need to check and install UCRT; it was dropped.
Change-Id: Ic02d6aeb965e9684bafd4357f969980f77000e73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178049
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This is a follow up to commit
55e86edcb3 to fix a crash that occurs
when importing a Basic library.
The change made to functions arguments passed to ImportLib in PS28
requires they be checked for nullptr before use. For further
understanding please see change to moduldl2.cxx at https://
gerrit.libreoffice.org/c/core/+/176254/27..28
Change-Id: I3f7ccc46134ddd2429c499d6e728e30331b51d7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177924
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
dialog contains percent symbols instead Cyrillic
Additionally use the same approach to make the expected symbols
appear in the description text view.
Change-Id: I89adafde4305dbe9a6e56481ed246376bc1d94a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177925
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
there is intended to be no logic change here, just rearrangement
and acknowledgement that SwOutlineNodesInline::Seek_Entry always
sets nEndPosInline to some value.
Change-Id: I10d694e20c8619ae297a61f612590556c9a9effa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178037
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Now when version 25.8 is in development, and the drop of legacy Windows
versions was announced in release notes.
Change-Id: Iefda63a29cafe40aec78d149067bdd7a3f20cffb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178025
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This is independent of the selection.
(For selection, there is weld::TreeView::select
and weld::TreeView::get_selected_index instead.)
Change-Id: I3698a080cebaf4411740b0e7a95c54743e84d881
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178024
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Rename weld::TreeView member + methods to clarify
that these are about selection changes:
* m_aChangeHdl to m_aSelectionChangedHdl,
* signal_changed to signal_selection_changed
* connect_changed to connect_selection_changed
In GtkInstanceTreeview, also rename the
related methods calling signal_selection_changed
accordingly for consistency.
Change-Id: I299d7930484677395a0bdd0ff105df18688f2e04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178023
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
... to avoid own mutexes in own name container implementation.
Change-Id: I29ff6ef987154359c35d0628d529b0606ef08c5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177637
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
When a frame is hidden, don't consider it when evaluating keep-with-next
attributes - this was the case for content in hidden sections before
commit 0c96119895
~SwFrameNotify() invalidating position of hidden frame with keep
attribute causes layout loops.
Also skip hidden frames in SwFlowFrame::IsKeepFwdMoveAllowed(),
SwFlowFrame::CheckKeep(), SwFlowFrame::IsPrevObjMove(),
SwFlowFrame::MoveBwd(), CalcContent().
Change-Id: I68556ba0a8e016d962399f3ce199e5eda0378867
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177975
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Open the bugdoc, go to the page after the section break, there is a top
margin for the first paragraph there in Word, but not in Writer.
This went wrong in commit abd90828cf
(tdf#160952 sw: ignore top margin of para on non-first pages with newer
DOCX, 2024-05-14), where it seemed that all implicit and explicit page
breaks want to ignore that top margin for the first paragraph.
Turns out this is more complex: implicit breaks and page breaks should
be followed by an ignore, but not paragraphs after "section break (next
page)". So restore the margins for the RES_PAGEDESC, but continue to
have them for RES_BREAK & implicit breaks.
Change-Id: If1fcf3077b81a705d3587bdae422dcfa16f1c17c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177973
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
When live resizing a window, replacing the CAMetalLayer with each
resize event repaints the window's background which causes a
noticeable flicker. So reuse any existing CAMetalLayer already
assigned to the native view.
Change-Id: I03bda5f0d40b84606b6602961e5f0d3b0dfcc6ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177921
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
The size of the value field is now set to 5 rows.
Change-Id: I808ffbb64d71a0707857cf80d1c0b73419ac7b90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177893
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Commit c83d241eff "tdf#154933 Rename "Text
Body" para style to "Body Text"" introduced a regression when importing
certain ODF documents, but the problem is actually pre-existing.
What happens is that first the built-in "Text body" style is created,
and then a non-built-in style with the same translated name as "Text
body" is imported, and instead of creating a new style, the built-in one
is found and used, and so its properties are overwritten.
The root cause is that SwStyleNameMapper::FillProgName() and in
particular SwStyleNameMapper::FillUIName() are defined poorly, ever
since they were introduced in 2001 in commit
4fbc9dd48b
It becomes obvious relatively quickly that the way style names work is
that at the UNO API level, the "ProgName" (internal, non-localised)
names are used, and at the core document level, the "UIName" (localised)
names are used.
This is in itself questionable - why is the translation from ProgName to
UIName not done in the UI? - but also very expensive to change now.
So then the UNO services are responsible for translating between
ProgName and UIName.
But the 2 functions don't do that properly; both need to check if the
given name is a known ProgName *or* a known UIName, and rename it in
case it collides with a known target name; also the 2 functions need to
cancel each other out, not add " (user)" at the end in both directions.
Fixing this causes numerous tests to fail, due to:
1. the UNO services calling themselves with already converted style
names, which are then translated a second time, which fails now.
(or calling the wrong function like SwXStyleFamily::getByIndex())
2. many tests call the UNO API with UINames instead of ProgNames
3. somehow the writerfilter import is also changed, causing failures in
e.g. testTdf113182 and testTdf104492
4. buggy code elsewhere (lcl_getUsedPageStyles()), problem similar to
1., for PageDescs
5. potentially more buggy code yet to be discovered (definitely table
styles, forgot which test that was)
So limit this fix for now to only paragraph styles, and don't do it in
writerfilter import, now at least sw.check passes.
Change-Id: I5cbdf3e174622e83f9af8787c3671b88c0e37bac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177858
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Tested-by: Jenkins
V1048 The 'eAggFunc' variable was assigned the same value. Will be assigned after the switch.
Change-Id: I21d4cb4b0e7427bea56598476ca176cc0a4f7124
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175902
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
Declare support for the "Insert Breaks"
"File" -> Printer Settings" -> "Properties" dialog.
This means that native Qt widgets are used for that dialog
now when using the qt5 or qt6 VCL plugin and starting LO with
environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set.
Since this dialog contains tab pages, their .ui files
need to be declared as supported as well.
Change-Id: Ia4360eebf3fed6ab5f78510c866a1703b0db8998
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177923
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The current item and the selected item(s) are
not necessarily the same.
Looking into the gtk and VCL implementations,
weld::TreeView::signal_changed is called
when the selection (not the current item) changes, so
connect to the QItemSelectionModel::selectionChanged signal
instead of the QItemSelectionModel::currentChanged one
in the Qt implementation.
At the point in time that the QItemSelectionModel::selectionChanged
signal gets emitted, QItemSelectionModel::selectedIndexes
returns the newly selected indices while that was not
yet the case with QItemSelectionModel::currentChanged.
For the "Device" tab in the "File" -> "Printer Settings" -> "Properties"
dialog (for which support will be added in an upcoming commit),
this resulted in the PPD values (in the tree view
on the right) not being shown for the actually selected PPD
option/key (in the left tree view), but for the
one selected previously.
(See RTSDevicePage::SelectHdl for the logic filling
the tree view with items, which gets triggered when
weld::TreeView::signal_changed gets called.)
Change-Id: I31ec5aaaa47cd3d4704f25086b24645fb708be0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177922
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Similar to the check done in SwEditWin::MouseButtonDown.
Change-Id: I1a1b8966502a6b1557d424f28cfc1c1ecdf4b65e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177930
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Due to formatting, grapheme clusters can possibly be split across
multiple layouts. Layouts containing split grapheme clusters are created
by laying out the complete string, and extracting only the necessary
glyphs based on source codepoint index.
This approach is good enough for most diacritic cases, but it cannot
handle certain substitution cases where glyphs with advances would be
interleaved with other layouts. Sub-layouts must be contiguous.
This change introduces code to disable grapheme cluster splitting in
these cases that cannot be handled correctly.
Change-Id: I122abbf9c3f8a5efa4c72ad47991d0ad9ff8a8c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177927
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Used e.g. in RTSDevicePage::FillValueBox
(i.e. in the "File" -> "Printer Settings" -> "Properties"
dialog).
Change-Id: Ice39b266b366a6fd6b37b6ece28cee529990dc80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177909
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins