...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