summaryrefslogtreecommitdiff
path: root/include/svl
AgeCommit message (Collapse)Author
2016-09-23perf: eliminate SfxSimpleHint and move to SfxHint, tdf#87101 relatedEike Rathke
There were over 150 places in *::Notify() functions that did some dynamic_cast<SfxSimpleHint*> of which ~98% were unnecessary because the base class SfxHint passed was an SfxSimpleHint anyway. dynamic_cast operations come with quite some cost, so avoid if possible. Specifically for ScFormulaCell::Notify() that created a bottleneck in scenarios where cells were notified that already handled a previous notification. In mass operations doing the dynamic_cast before it could be decided whether having to act on it or not this made 2/3 of all time spent in the Notify() call. To get rid of that rename/move SfxSimpleHint to SfxHint and let classes derive from SfxHint instead of SfxSimpleHint. This comes only with a slight cost that an additional sal_uInt32 is transported in such hints, initialized to 0, but this is neglectable compared to the huge gain. For the rare cases where a Notify() actually expects both, an SfxHint (formerly SfxSimpleHint) and a derived hint, this changed order of the dynamic_cast involved so the simple SfxHint::GetId() is handled last. Modules using such combinations can further optimize by treating the simple SfxHint::GetId() first once verified that none of the other derived hints use an ID not equal to zero respectively none of the ID values the simple hint uses. Change-Id: I9fcf723e3a4487ceb92336189d23a62c344cf0ce Reviewed-on: https://gerrit.libreoffice.org/29205 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-09-22convert SfxItemKind to scoped enumJochen Nitschke
reduced size because it is stored in widely used SfxPoolItem. converted 'if' chains to 'switch case' Change-Id: Id9b5e375b681c88e8c91c561abd1a50610aa4815 Reviewed-on: https://gerrit.libreoffice.org/29186 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-22loplugin:unusedmethods in chart2..svxNoel Grandin
Change-Id: Ifb6045885049733415895f58cdd911256f48323c Reviewed-on: https://gerrit.libreoffice.org/29187 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-22Missing "const"Stephan Bergmann
Change-Id: Ib0cd605cf8e71e94f4442c07300726aff1d9ce03
2016-09-22loplugin:unusedmethods unused returnsNoel Grandin
Change-Id: I4da3374e31d3c7407b401d66275da7f56ae83d30 Reviewed-on: https://gerrit.libreoffice.org/29178 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-22loplugin:unnecessaryvirtualNoel Grandin
Change-Id: I7b1aa65a557f3855939ad8b183bba8ff656946f8 Reviewed-on: https://gerrit.libreoffice.org/29173 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-22Remove NumberFormatCodeWrapperMaarten Bosmans
This class only adds a level of indirection, without any useful functionality. Change-Id: I806e1b9241caf025c62c12c93aad3101daac874a Reviewed-on: https://gerrit.libreoffice.org/29134 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-21convert SfxItemPresentation to scoped enumNoel Grandin
Change-Id: Ibf605706a9f804ab509ac4f92f5f88fcf3daebc1 Reviewed-on: https://gerrit.libreoffice.org/29131 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-21add dumpAsXml() to more pool itemsNoel Grandin
Change-Id: I276109148bab8180ce2442f5ee69722357362453
2016-09-16loplogin:singlevalfields in include/Noel Grandin
Change-Id: I27842162fcf82120ecb811ee8e89e187430931fc Reviewed-on: https://gerrit.libreoffice.org/28931 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-15replace sal_Size with std::size_t (or sal_uInt64 for SvStream pos)Michael Stahl
... except in include/rtl, include/sal, include/uno, where sal_Size is retained for compatibility, and where callers of rtl functions pass in pointers that are incompatible on MSVC. Change-Id: I8344453780689f5120ba0870e44965b6d292450c
2016-09-13loplugin:dllprivateStephan Bergmann
Change-Id: I1fe70a39c50aba8b84c117653185fc37dbbfeab0
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-09-12Indentation fixesMiklos Vajna
Change-Id: I78575ebd6b78b2f5873bcec6c8c46d941a92ceb2
2016-09-09loplugin:constantparam in sot..svlNoel Grandin
Change-Id: I08db2db3b90725c556e3ba062da5d62d98f6e882 Reviewed-on: https://gerrit.libreoffice.org/28769 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-09-05correct copy and paste in debug messageJochen Nitschke
Change-Id: I6898c78d412544f0e2a44d7d48140731b676821a Reviewed-on: https://gerrit.libreoffice.org/28669 Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de> Tested-by: Jenkins <ci@libreoffice.org>
2016-09-01hide SFX_WHICH_MAX defineJochen Nitschke
Change-Id: I90ef9d3712847ce63b2bae206edcf859dbeeecbb Reviewed-on: https://gerrit.libreoffice.org/28566 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-29cid#1371226 Missing move assignment operatorNoel Grandin
Change-Id: I915b24d8f546f156b85ad18ad0418903fa3ce1ba
2016-08-23tdf#79398 Add LCID with DBNum during export to XLLaurent Balland-Poirier
Change-Id: I64a01ef5eb7ada9bc5edbeb873e09fd348d8f6d4 Reviewed-on: https://gerrit.libreoffice.org/28256 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-08-19Resolves: coverity#705366 Mixing enum typesCaolán McNamara
and coverity#705367 Mixing enum types coverity#705371 Mixing enum types coverity#982694 Mixing enum types coverity#1027717 Mixing enum types coverity#1371228 Mixing enum types coverity#1371242 Mixing enum types coverity#1371280 Mixing enum types coverity#1371310 Mixing enum types MapUnit and SfxMapUnit share the same values and are freely cast from one to the other. Now that commit d30a4298bdb5ba53cd1fe659f2b742f218a2e527 Date: Thu Aug 11 15:02:19 2016 +0200 loplugin:unusedenumconstants in package..svtools removed the SfxMapUnit entries that were directly unused, they don't match anymore and casting from one to the other is dangerous. Why there was two of these anyway escapes me, get rid of SfxMapUnit and just use MapUnit universally Change-Id: I4db5dcd04b59be2f85b62b728f96c90afe00c57e Reviewed-on: https://gerrit.libreoffice.org/28234 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-08-15tdf#79398 Export to XL DBNum codesLaurent Balland-Poirier
Change-Id: Ibe24b68b89909eecdf73fe4f7db19de26396194d Update: only if corresponding code exists Reviewed-on: https://gerrit.libreoffice.org/28090 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2016-08-12loplugin:unusedenumconstants in package..svtoolsNoel Grandin
Change-Id: I8136b93b9303ebecafd791159e813c335b1bc172 Reviewed-on: https://gerrit.libreoffice.org/28052 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-08loplugin:unnecessaryvirtualNoel Grandin
Change-Id: If25d9307efda5f57b0f80a0cf5c2c5cab6a752d6 Reviewed-on: https://gerrit.libreoffice.org/27981 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-05desktop: add undo/redo support to lok::Document::getCommandValues()Miklos Vajna
Expose the undo/redo stack and the metadata of each item. Change-Id: I66b81e855a945c97be3d491ed709959f310d4b73 Reviewed-on: https://gerrit.libreoffice.org/27905 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-08-04svl: track creation time of SfxUndoAction instancesMiklos Vajna
It's not yet clear how to expose this on the UI, though. Change-Id: Iee6737922d36e896653b4fae557442747dda1b8b Reviewed-on: https://gerrit.libreoffice.org/27878 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-08-01svl: implement SfxUndoAction::GetViewShellId() interface in SfxListUndoActionMiklos Vajna
Client code in sw, sd, sc and svx is adapted, the rest is just a placeholder for now. With this, e.g. the undo item for Writer's insert comment properly tracks which window was used for the insertion. Change-Id: Idad587e6ca07ba69bf59aa7013b251af8bf95bab Reviewed-on: https://gerrit.libreoffice.org/27781 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-08-01svl: avoid defaulted parameter in SfxUndoManager::EnterListAction()Miklos Vajna
It's a virtual function, and defaulted parameters there are problematic. Change-Id: I3f110c7ac36dfda90811b033620286ad9fce1af1 Reviewed-on: https://gerrit.libreoffice.org/27772 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-29svl: add SfxUndoAction::GetViewShellId()Miklos Vajna
In preparation of a Writer version that overrides this and remembers which view shell introduced which action. Change-Id: I4970f8ce9c56f1b57ab1ae92f3ea8be804ca27bf Reviewed-on: https://gerrit.libreoffice.org/27682 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-27tdf#100834 Extend ODF for integer/fraction delimiterLaurent Balland-Poirier
Any string can be used as delimiter between integer and fraction. It is now saved/loaded to/from ODF, as it was from XLS. Change-Id: Ie6364d1cdefc020ea615c18099118135c619f96b Reviewed-on: https://gerrit.libreoffice.org/27262 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-07-27improve passstuffbyref return analysisNoel Grandin
Change-Id: I4258bcc97273d8bb7a8c4879fac02a427f76e18c Reviewed-on: https://gerrit.libreoffice.org/27317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-08Resolves: tdf#100452 class Date full (BCE,CE) proleptic Gregorian calendarEike Rathke
... implementing signed years with year 0 gap. Date(31,12,-1) last day BCE Date(1,1,1) first day CE New class Date member functions: * AddYears(sal_Int16) to be used instead of aDate.SetYear(aDate.GetYear()+sal_Int16) to handle year 0 gap. * convenience GetNextYear() to be used insted of GetYear()+1 * convenience GetPrevYear() to be used insted of GetYear()-1 * AddMonths(sal_Int32) * operator=(const css::util::Date&) New class DateTime member functions: * operator=(const css::util::DateTime&) Made some conversion ctors explicit, specifically Date(sal_Int32) Adapted hopefully all places that used a sal_uInt16 year to use sal_Int16 where appropriate. Eliminated some quirks in date handling found on the fly. Added era handling to i18npool icu calendar setting interface, which missing was responsible for 0001-01-01 entered in Calc being set as -0001-01-01, hence subtracting one day resulted in -0002-12-31. Change-Id: I77b39fba9599ebd5067d7864f6c9ebe01f6f578f Reviewed-on: https://gerrit.libreoffice.org/27049 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-04tdf#99996 New algorithm for fractionLaurent Balland-Poirier
This new algorithm, based on continued fraction representation: - is smarter (165 lines schrinked in 31) - gives same results for 1 to 3 digits for divider - gives better results for more than 3 digits for divider - is faster: 1.5% for 1 digit, 5% for 2 digits, 20% for 3 digits, 70% for 4 digits See details in bug report In addition - removed uncessary fonctions: ImpGGT and ImpGGTRound - forced denominator do not required anymore calculation of nFrac and nDiv - replace sal_uLong with sal_uInt32 for time - replace sal_uLong with sal_uInt64 for fraction Change-Id: I9bf3a54a5284104718a53406f8784379fd19f6e6 Reviewed-on: https://gerrit.libreoffice.org/26621 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-06-29tdf#100592 Add extra number formats for fractionLaurent Balland-Poirier
Change-Id: Ia3a5fa02029e06e083fcc10748b0deb3048dae79 Reviewed-on: https://gerrit.libreoffice.org/26675 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-06-23Clean up uses of Any::getValue() in svlStephan Bergmann
Change-Id: I2005ce59d6211181ed039eaff60ffd31084e1d40
2016-06-14explicit svl::SharedString(const OUString&) ctorEike Rathke
... to prevent accidental surprises. Not interned shared strings constructed from OUString have mpDataIgnoreCase=nullptr so can't be used for case insensitive comparison. Change-Id: I03323354298a73e93b18d2796ec447c072fdefa5
2016-06-10tdf#89329: use shared_ptr for pImpl in ctloptionsXisco Fauli
Change-Id: I196f2bbff0e7796804c2d74eb68ebf914796993d Reviewed-on: https://gerrit.libreoffice.org/26138 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-10tdf#89329: use shared_ptr for pImpl in cjkoptionsXisco Fauli
Change-Id: I0ad43869d24e210b3591af25f108c68ed8f6160b Reviewed-on: https://gerrit.libreoffice.org/25634 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-08make SvNumberFormatter::IsCompatible() staticEike Rathke
Change-Id: Ic40d0852c8e0a8f0957fc782c85c1084c7fe265f
2016-06-06tdf#89329: use shared_ptr for pImpl in slstitmXisco Fauli
Change-Id: Icb9167f8e7612f40992e7146c0dce539c0b0eac7 Reviewed-on: https://gerrit.libreoffice.org/25632 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-04tdf#96099 Remove sfx std::shared_ptr typedefsMark Page
Removed SfxItemSet_Pointer_t and SfxStyleSheetIteratorPtr Change-Id: Ibfa6a79809fdbbe2648dacc02625e620ceaf9bf0 Reviewed-on: https://gerrit.libreoffice.org/25851 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-03tdf#89329: use unique_ptr for pImpl in imageitmXisco Fauli
Change-Id: I935da01bd03a9812facf30e1d45da1c4949188ed Reviewed-on: https://gerrit.libreoffice.org/25633 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-02add NF_DATETIME_ISO_YYYYMMDD_HHMMSS YYYY-MM-DD HH:MM:SS builtin format codeEike Rathke
Change-Id: I4fe6ef01a4c7fb795e4499e54aa55ebaaa0d433d
2016-06-01tdf#89329: use unique_ptr for pImpl in itempoolXisco Fauli
Change-Id: Ie0a5e5a16cf4b724ff55b0a89ee0ec803df6eb41 Reviewed-on: https://gerrit.libreoffice.org/25635 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-31tdf#89329: use unique_ptr for pImpl in styleXisco Fauli
Change-Id: I206f1a7ee5a4020f712a969d26bde9268d9f2c53 Reviewed-on: https://gerrit.libreoffice.org/25636 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-31loplugin:unusedmethodsNoel Grandin
Change-Id: Ifeb818227a960cab8fd2e8e7352468efbfe1232c Reviewed-on: https://gerrit.libreoffice.org/25668 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-30tdf#99661 Add max-denominator-value attribute to number:fractionLaurent Balland-Poirier
Add max-denominator-value attibute to <number:fraction> to comply with ODF 1.3 See https://issues.oasis-open.org/browse/OFFICE-3695 Specify loext or number according to ODF version This value is only used to stored the number of digits in numerator. No other values than 9, 99, 999,... are expected. Add loext:max-numerator-digits attributes to <number:fraction> to distinguish ??/?? and ##/## or any combination Not saved for ODF strict min-...-digits indicates the number of '?' max-...-digits indicates the total number of '?' and '#' This needs to be saved with both min-...-digits at least one because previous versions cannot have min-...-digits of 0. See tdf#38097 Change-Id: Ibd785579aa75edc315e3bd94935a146d82bbeeef Reviewed-on: https://gerrit.libreoffice.org/24903 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-05-30loplugin:unusedmethods SfxLinkUndoActionNoel Grandin
Change-Id: I1ad7c2452dd9bc80e7404f41484b9667adbcfa7b Reviewed-on: https://gerrit.libreoffice.org/25542 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-27tdf#34465 remove calls to SfxItemSet::Put(const SfxPoolItem&, sal_uInt16)Noel Grandin
and put an assert in SfxPoolItem::SetWhich() so nothing new creeps in. Change-Id: I6497650fa61ffb2b6941ffff2d471c8f117be1df Reviewed-on: https://gerrit.libreoffice.org/24324 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-26loplugin:unusedmethodsNoel Grandin
Change-Id: Ib36bc0e87d00abb638cbfec511cd13b6179eabda Reviewed-on: https://gerrit.libreoffice.org/25431 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-18update unusedmethods plugin to deal with constructorsNoel Grandin
and fix the operator< implementations in some of the other plugins too. Change-Id: Ie5631e0cdc8d2a994ad2af2533cdb558a6cfc035 Reviewed-on: https://gerrit.libreoffice.org/25057 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>