Age | Commit message (Collapse) | Author |
|
Change-Id: I3e8bfdf717dd8896ab16e396f671651ca4f7f01c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103932
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I88fdaa74c4944f9ffc81db6df08a29283362375a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103647
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...from which an OUString can cheaply be instantiated. This is the OUString
equivalent of 4b9e440c51be3e40326bc90c33ae69885bfb51e4 "Turn OStringLiteral into
a consteval'ed, static-refcound rtl_String". Most remarks about that commit
apply here too (this commit is just substantially bigger and a bit more
complicated because there were so much more uses of OUStringLiteral than of
OStringLiteral):
The one downside is that OUStringLiteral now needs to be a template abstracting
over the string length. But any uses for which that is a problem (e.g., as the
element type of a container that would no longer be homogeneous, or in the
signature of a function that shall not be turned into a template for one reason
or another) can be replaced with std::u16string_view, without loss of efficiency
compared to the original OUStringLiteral, and without loss of expressivity.
The new OUStringLiteral ctor code would probably not be very efficient if it
were ever executed at runtime, but it is intended to be only executed at compile
time. Where available, C++20 "consteval" is used to statically ensure that.
The intended use of the new OUStringLiteral is in all cases where an
object that shall itself not be an OUString (e.g., because it shall be a
global static variable for which the OUString ctor/dtor would be detrimental at
library load/unload) must be converted to an OUString instance in at least one
place. Other string literal abstractions could use std::u16string_view (or just
plain char16_t const[N]), but interestingly OUStringLiteral might be more
efficient than constexpr std::u16string_view even for such cases, as it should
not need any relocations at library load time. For now, no existing uses of
OUStringLiteral have been changed to some other abstraction (unless technically
necessary as discussed above), and no additional places that would benefit from
OUStringLiteral have been changed to use it.
Global constexpr OUStringLiteral variables defined in an included file would be
somewhat suboptimal, as each translation unit that uses them would create its
own, unshared instance. The envisioned solution is to turn them into static
data members of some class (and there may be a loplugin coming to find and fix
affected places). Another approach that has been taken here in a few cases
where such variables were only used in one .cxx anyway is to move their
definitions from the .hxx into that one .cxx (in turn causing some files to
become empty and get removed completely)---which also silenced some GCC
-Werror=unused-variable if a variable from a .hxx was not used in some .cxx
including it.
To keep individual commits reasonably manageable, some consumers of
OUStringLiteral in rtl/ustrbuf.hxx and rtl/ustring.hxx are left in a somewhat
odd state for now, where they don't take advantage of OUStringLiteral's
equivalence to rtl_uString, but just keep extracting its contents and copy it
elsewhere. In follow-up commits, those consumers should be changed
appropriately, making them treat OUStringLiteral like an rtl_uString or
dropping the OUStringLiteral overload in favor of an existing (and cheap to use
now) OUString overload, etc.
In a similar vein, comparison operators between OUString and std::u16string_view
have been added to the existing plethora of comparison operator overloads. It
would be nice to eventually consolidate them, esp. with the overloads taking
OUStringLiteral and/or char16_t const[N] string literals, but that appears
tricky to get right without introducing new ambiguities. Also, a handful of
places across the code base use comparisons between OUString and OUStringNumber,
which are now ambiguous (converting the OUStringNumber to either OUString or
std::u16string_view). For simplicity, those few places have manually been fixed
for now by adding explicit conversion to std::u16string_view.
Also some compilerplugins code needed to be adapted, and some of the
compilerplugins/test cases have become irrelevant (and have been removed), as
the tested code would no longer compile in the first place.
sal/qa/rtl/strings/test_oustring_concat.cxx documents a workaround for GCC bug
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96878> "Failed class template
argument deduction in unevaluated, parenthesized context". That place, as well
as uses of OUStringLiteral in extensions/source/abpilot/fieldmappingimpl.cxx and
i18npool/source/localedata/localedata.cxx, which have been replaced with
OUString::Concat (and which is arguably a better choice, anyway), also caused
failures with at least Clang 5.0.2 (but would not have caused failures with at
least recent Clang 12 trunk, so appear to be bugs in Clang that have meanwhile
been fixed).
Change-Id: I34174462a28f2000cfeb2d219ffd533a767920b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102222
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Idbcce18029944ab884cdde03e21190cbb574a00f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102005
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ib7f77b2c84c375158d88114e827754f47ee246bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101651
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I2be47d2faf883b519f693e2d5ad58a5ab111849f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101629
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is a prerequisite for making conversion from OUStringLiteral to OUString
more efficient at least for C++20 (by replacing its internals with a constexpr-
generated sal_uString-compatible layout with a SAL_STRING_STATIC_FLAG refCount,
conditionally for C++20 for now).
For a configure-wise bare-bones build on Linux, size reported by `du -bs
instdir` grew by 118792 bytes from 1155636636 to 1155755428.
In most places just a u"..." string literal prefix had to be added. In some
places
char const a[] = "...";
variables have been changed to char16_t, and a few places required even further
changes to code (which prompted the addition of include/o3tl/string_view.hxx
helper function o3tl::equalsIgnoreAsciiCase and the additional
OUString::createFromAscii overload).
For all uses of macros expanding to string literals, the relevant uses have been
rewritten as
u"" MACRO
instead of changing the macro definitions. It should be possible to change at
least some of those macro definitions (and drop the u"" from their call sites)
in follow-up commits.
Change-Id: Iec4ef1a057d412d22443312d40c6a8a290dc6144
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101483
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I8dc0cdcfe6bd90efc596df28e6c6d968b92618b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101098
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Change-Id: Ic3690d7f2a075d47ffed3db03ee6895ebdab441e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101070
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I0fa9f21c30bba8f781178b0811f3f7d755af1bb3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100627
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I323a114d3b71a74267ee7a89c5fb29821611e57e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100751
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
look for expressions like
!(a && !b)
which can be expanded out
Change-Id: I72515a9638762b050f9a258c08da39ebfa2ef8e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100579
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
regression since...
commit 0677d46bcc56c1f6c27b9331662990b38fd452d6
Author: Caolán McNamara <caolanm@redhat.com>
Date: Wed May 20 15:22:56 2020 +0100
FmXListBoxCell doesn't need to implement css::awt::XListBox
It seems just addItemListener/removeItemListener are needed, stub
the rest to make sense just for single-selection mode and avoid
the return of the apparently unused multi-selection complexity
Change-Id: I46a32bdd23d44273da37cc21cfa45de907674f31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100746
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I9a5fe6a097c5d06e3ac3ab6c4c77cbe082d1a17d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100745
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I2f345f1a4fd6c7a4dc7be831f85a9f728ee477ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100496
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I31f33a5f693d5fdb8282181c5bd7f31971efe784
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100236
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5b138a776ebbad9e5f7a50f3f44ab56fa283cba9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99719
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I7954430640fe9788c650f5fe7b103426731204cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99716
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
since...
commit 9ebe58f0437bbb5714e629bd22e004ac895086d6
Change-Id: I001567bb7beb0a51d55c75fe36761f4c964348e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99711
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
and cast to that instead of "Edit" and override the Editable controls impls to
do something suitable when called
Change-Id: I24cc02b603e9551df4e3eb39f6cb4839883db777
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99709
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I63cb568b21f0f645849b39685966d28d16760594
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99706
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I011770676c91ea7cc83dc215ae92fa37c816e200
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99705
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ia723bc6d16a9102f24e17176edce440fbc646bd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99638
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I5d31d603a9e5f91723a310900aeee875df1599c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99445
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
The timeout used is still the original 90ms, not the attempt to use 22ms so
this doesn't achieve anything. Making 22ms stick is way too fast, so leave
this at the value that is currently actually used.
Change-Id: I7207dd9adebf4e0f7f4e486a71f388bc6760d939
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99470
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I3b7774a043a2c99531e1c76b531df4358699bba7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99440
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I273d01bb5d8bf1a1d2dc9066b0c9f099bf115e32
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99311
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ie84778c2f127a6b393edbfa08e61b135ec3bcbc0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99174
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I1ea6a7fd88cfac21e7d6d2a1533db5363ea558c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99106
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
replace SpinButton when WB_SPINBUTTON is set on a date field
to always use a popover with a calendar in it to make it
possible to integrate this with native widgets
Change-Id: I36a26599a154bddf9aec9b50b6570e13477a1f63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98858
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ibc1ec64cba8eb083aaff28848a42337cc597ea19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98857
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and svtools CalendarField to vcl
Change-Id: I6f3e9a71f21ac7ca70f8172d4f8be4804f3b1c7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98818
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Idb19639eb39bc83fb8bdc7c2181bf63e9c522d18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98670
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I0a138015b1db6d00413e4b381f0da0757d56e25c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98667
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I700329aeee53f8ce91ce22a3b50fe59e3d19c063
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98613
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I3bc377e9d9ee1ad7b6066b7a1c2d27ddd7bb6b7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98651
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
and add tristate machine support that we also need
WantMouseEvent is if the first click in a browse cell that activates it should
be passed to the control that appears on click as if it was itself clicked on
primarily for the the CheckBoxController to toggle it immediately.
Rework to explicitly toggle the checkbox in that implementation rather than
rely on passing fake mouse click/release/tracking events.
seeing as the main dbaccess table design view doesn't auto-launch its listboxes
on clicking in a cell, but the sub create index dialog does, drop the auto-launch
in the index dialog to match the main table design rathern than add a feature
to weld::ComboBox to auto-launch the popup for that one solitary case
Change-Id: Ie3d3f2ecf55d3d5b0b02b85ca09a6ca64bb800e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98603
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Iea057189ab17c1fdaf6663f1c328b9d288d97a18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98532
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Icae25573c09861e44a42c54daaeeebfec706bd37
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98595
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ie35ad08a24b8b0c989806c4739bfe925fd9ab746
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98545
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ib230720371552738a8c6152a98a84d31b900d062
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98209
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I96b7945cdf9f00c3d0a4e043ee77666e19c8a072
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97896
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I64aac74902c631e41fd54d7e198276885e2c4378
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98171
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I2f15717d2e96f21c3fcbbcfd9eda6544daf2a0a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97984
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: If102441312bf0c6d27462535268e79242bcde48c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97894
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ib8b9133991a9c36e737171ae6dfb6a87cc91e1ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97888
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I96079720f60b789f0b8d5483973150cb050e87e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97859
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I728380fb4e2ed914c4b96c0915075af097846c55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97825
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
by using the newly split out Formatter to do the number formatting
but input/output to/from a weld::Entry
Change-Id: Ic9e619dc5d1ed2fae87e2d89a40dc51f3881468f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97660
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I6f4b927f9c869925825cc83cc36f0494d06c8faa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97698
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|