summaryrefslogtreecommitdiff
path: root/svx/source/fmcomp
AgeCommit message (Collapse)Author
2020-10-05use more TOOLS_WARN_EXCEPTIONMike Kaganski
Change-Id: I3e8bfdf717dd8896ab16e396f671651ca4f7f01c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103932 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-09-30loplugin:reducevarscope in svxNoel
Change-Id: I88fdaa74c4944f9ffc81db6df08a29283362375a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103647 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-16Turn OUStringLiteral into a consteval'ed, static-refcound rtl_uStringStephan Bergmann
...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>
2020-09-03Make ImpSvNumberformatScan::GetColor constMike Kaganski
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
2020-08-30Fix typo in codeAndrea Gelmini
Change-Id: Ib7f77b2c84c375158d88114e827754f47ee246bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101651 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-29loplugin:unusedmethodsNoel Grandin
Change-Id: I2be47d2faf883b519f693e2d5ad58a5ab111849f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101629 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-28Change OUStringLiteral from char[] to char16_t[]Stephan Bergmann
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>
2020-08-21Fix typosAndrea Gelmini
Change-Id: I8dc0cdcfe6bd90efc596df28e6c6d968b92618b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101098 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2020-08-20loplugin:unusedmethodsNoel Grandin
Change-Id: Ic3690d7f2a075d47ffed3db03ee6895ebdab441e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101070 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-18weld OAppDetailPageHelperCaolán McNamara
Change-Id: I0fa9f21c30bba8f781178b0811f3f7d755af1bb3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100627 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-16tdf#135550 make XComboBox Item status changed event work againCaolán McNamara
Change-Id: I323a114d3b71a74267ee7a89c5fb29821611e57e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100751 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-14loplugin:simplifybool moreNoel Grandin
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>
2020-08-14tdf#135550 FmXListBoxCell does need to implement XListBox after allCaolán McNamara
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>
2020-08-14tdf#135550 make XListBox Item status changed event work againCaolán McNamara
Change-Id: I9a5fe6a097c5d06e3ac3ab6c4c77cbe082d1a17d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100745 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-12use InterimDBTreeListBoxCaolán McNamara
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>
2020-08-06loplugin:flatten in svxNoel Grandin
Change-Id: I31f33a5f693d5fdb8282181c5bd7f31971efe784 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100236 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-29update DbFilterField to use the new replacement controlsCaolán McNamara
Change-Id: I5b138a776ebbad9e5f7a50f3f44ab56fa283cba9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99719 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-29center the filter checkbox like the normal oneCaolán McNamara
Change-Id: I7954430640fe9788c650f5fe7b103426731204cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99716 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-29use 0 as the limit-less caseCaolán McNamara
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>
2020-07-29move SetReadOnly into ControlBase as SetEditableReadOnlyCaolán McNamara
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>
2020-07-29dynamic_cast followed by static_castCaolán McNamara
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>
2020-07-29use a EditControl nowCaolán McNamara
Change-Id: I011770676c91ea7cc83dc215ae92fa37c816e200 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99705 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-29Fix typoAndrea Gelmini
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>
2020-07-27weld NavigationBarCaolán McNamara
Change-Id: I5d31d603a9e5f91723a310900aeee875df1599c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99445 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-27Setting the Button repeat is ignored in practiceCaolán McNamara
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>
2020-07-25move getUIRootDir to AllSettingsCaolán McNamara
Change-Id: I3b7774a043a2c99531e1c76b531df4358699bba7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99440 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-23weld AbsolutePosCaolán McNamara
Change-Id: I273d01bb5d8bf1a1d2dc9066b0c9f099bf115e32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99311 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-22weld PatternControlCaolán McNamara
Change-Id: Ie84778c2f127a6b393edbfa08e61b135ec3bcbc0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99174 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-21can now change base class to use FormattedFieldCellControllerCaolán McNamara
Change-Id: I1ea6a7fd88cfac21e7d6d2a1533db5363ea558c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99106 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-21weld DateControlCaolán McNamara
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>
2020-07-16loplugin:unusedmethodsNoel Grandin
Change-Id: Ibc1ec64cba8eb083aaff28848a42337cc597ea19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98857 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-15move SVTXDateField to toolkitCaolán McNamara
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>
2020-07-15weld TimeControlCaolán McNamara
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>
2020-07-15rename entry formatter for more consistent namingCaolán McNamara
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>
2020-07-15weld LongCurrencyControlCaolán McNamara
Change-Id: I700329aeee53f8ce91ce22a3b50fe59e3d19c063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98613 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-13don't grab focus if focus is already in a subcontrolCaolán McNamara
Change-Id: I3bc377e9d9ee1ad7b6066b7a1c2d27ddd7bb6b7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98651 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-12clarify what WantMouseEvent is forCaolán McNamara
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>
2020-07-12weld CheckBoxControlCaolán McNamara
Change-Id: Iea057189ab17c1fdaf6663f1c328b9d288d97a18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98532 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-12center check/radio buttonsCaolán McNamara
Change-Id: Icae25573c09861e44a42c54daaeeebfec706bd37 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98595 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-11use an aux modify handler instead of listening for VclEventId::EditModifyCaolán McNamara
Change-Id: Ie35ad08a24b8b0c989806c4739bfe925fd9ab746 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98545 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-10weld MultiLineTextCellCaolán McNamara
Change-Id: Ib230720371552738a8c6152a98a84d31b900d062 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98209 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-06weld DbNumericField itemCaolán McNamara
Change-Id: I96b7945cdf9f00c3d0a4e043ee77666e19c8a072 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97896 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-06clarify that the parent is always a BrowserDataWinCaolán McNamara
Change-Id: I64aac74902c631e41fd54d7e198276885e2c4378 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98171 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-05loosen requirement that createField return something derived from SpinFieldCaolán McNamara
Change-Id: I2f15717d2e96f21c3fcbbcfd9eda6544daf2a0a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97984 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-05clarify this arg is to determine if its a spinbutton or entry variantCaolán McNamara
Change-Id: If102441312bf0c6d27462535268e79242bcde48c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97894 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-05return a reference instead of a pointerCaolán McNamara
Change-Id: Ib8b9133991a9c36e737171ae6dfb6a87cc91e1ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97888 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-03rename FormattedEntry to EntryFormatterCaolán McNamara
Change-Id: I96079720f60b789f0b8d5483973150cb050e87e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97859 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-03change FormattedField so it doesn't inherit from Formatter but provides oneCaolán McNamara
Change-Id: I728380fb4e2ed914c4b96c0915075af097846c55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97825 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-02weld FormattedControlCaolán McNamara
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>
2020-07-02Upcoming improved loplugin:staticanonymous -> redundantstatic: svxStephan Bergmann
Change-Id: I6f4b927f9c869925825cc83cc36f0494d06c8faa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97698 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>