summaryrefslogtreecommitdiff
path: root/include/editeng/svxacorr.hxx
AgeCommit message (Collapse)Author
2020-11-18loplugin:stringviewparam: No good reason to exclude operator functionsStephan Bergmann
(at least not in general) Change-Id: I71337b53dc9735e90a37ee532d0a8a08797b518c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106043 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-26tdf#133524 add option to angle quote AutoCorrectLászló Németh
in Localized Options page of AutoCorrect Options dialog window: [x] Replace << and >> with angle quotes Note: this is optional part of Double Quotes replacement. Change-Id: Ib0c7e8837a89c3772c5db76720811d440e62183a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97094 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2020-06-02tdf#133589 AutoCorrect: transliterate to Old HungarianLászló Németh
In right-to-left paragraph mode, transliterate Hungarian text word by word during typing, also add the associated checkbox to Localized Options page of AutoCorrect dialog window. Old Hungarian (ISO 15924: Hung) is a historical and renewed script which is still in use to transliterate Hungarian writing. As a localized AutoCorrect feature, the patch supports the followings: – word-by-word transliteration of Hungarian texts only in right-to-left paragraph mode. – consonant disambiguation of digraphs and trigraphs based on hyphenation (now pattern-based Huhyphn dictionary of libhyphen, planned dictionary based Hunspell later) – transliteration by extended hu-Hung module of Numbertext library. Note: transliteration of the selected text using AutoCorrect Apply function has't been implemented, yet. Change-Id: Iee0f18e2485c974c35acf0a3abc3a49c2cf80196 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95303 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2020-05-31tdf#128860 AutoCorrect: fix apostrophe in Czech, German,László Németh
Icelandic, Slovak and Slovene at "Single quotes" replacement outside of second level quotations. For example: ‚quote' -> ‚quote‘ but now apostrophe' -> apostrophe’ instead of the bad apostrophe' -> apostrophe‘ Change-Id: Ie6d367639cb80ec9f11e4d824b87f537e5285182 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95213 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-05-31tdf#133524 AutoCorrect: support double angle quotesLászló Németh
Add two methods to support double angle quotes, as part of "Double quotes" replacement: 1. Correct ">>" and "<<" to » and « in several languages, where double angle quotes are default or alternative primary or second level quotation marks, but actual LibreOffice locale settings don't contain double angle quotes. 2. Correct " to double angle quotes, if the cursor is there in a primary level quotation (i.e. there is a preceding primary level opening quote, but not other quotes). For example, it's possible to type Hungarian or Romanian quotation marks in „... »quote« ...” pressing only Shift + 2 (") for them. (These languages, where "Single quotes" replacement is used for apostrophe and third level quotes instead of the standard second level quotation marks.) Change-Id: Icd1584a5a2b81422de693217d2d1f7f3058a74b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95212 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-05-31AutoCorrect: clean-up InsertQuoteLászló Németh
Change-Id: I577115805e5bcc29f6eb4d853aaa523495f30126 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95211 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-02-21Drop o3tl::optional wrapperStephan Bergmann
...now that macOS builds are guaranteed to have std::optional since 358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to Xcode 11.3 and macOS 10.14.4". The change is done mostly mechanically with > for i in $(git grep -Fl optional); do > sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \ > -e 's/\<o3tl::optional\>/std::optional/g' \ > -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i" > done > for i in $(git grep -Flw o3tl::nullopt); do > sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i" > done (though that causes some of the resulting #include <optional> to appear at different places relative to other includes than if they had been added manually), plus a few manual modifications: * adapt bin/find-unneeded-includes * adapt desktop/IwyuFilter_desktop.yaml * remove include/o3tl/optional.hxx * quote resulting "<"/">" as "&lt;"/"&gt;" in officecfg/registry/cppheader.xsl * and then solenv/clang-format/reformat-formatted-files Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89165 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-19sal_Char->char in editeng..eventattacherNoel Grandin
Change-Id: Ia9c736042a07a17377db6d88c5bcd2b468e98777 Reviewed-on: https://gerrit.libreoffice.org/85471 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann
...with a boost::optional fallback for Xcode < 10 (as std::optional is only available starting with Xcode 10 according to <https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS and macOS is still Xcode 9.3 according to README.md). And mechanically rewrite all code to use o3tl::optional instead of boost::optional. One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus -Werror=maybe-uninitialized" should no longer be necessary (and whose check happened to no longer trigger for GCC 10 trunk, even though that compiler would still emit bogus -Wmaybe-uninitialized for uses of boost::optional under --enable-optimized, which made me ponder whether this switch from boost::optional to std::optional would be a useful thing to do; I keep that configure.ac check for now, though, and will only remove it in a follow up commit). Another longer-term benefit is that the code is now already in good shape for an eventual switch to std::optional (a switch we would have done anyway once we no longer need to support Xcode < 10). Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses boost::property_tree::ptree::get_child_optional returning boost::optional, so let it keep using boost::optional for now. After a number of preceding commits have paved the way for this change, this commit is completely mechanical, done with > git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g' (before committing include/o3tl/optional.hxx, and relying on some GNU features). It excludes some files where mention of boost::optional et al should apparently not be changed (and the sub-repo directory stubs). It turned out that all uses of boost::none across the code base were in combination with boost::optional, so had all to be rewritten as o3tl::nullopt. Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b Reviewed-on: https://gerrit.libreoffice.org/84128 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-08tdf#128009: Allow spaces in AutoText suggestionsMike Kaganski
Currently autotext entries with long names starting with spaces, or containing spaces after first or second character, would never be suggested when SvxAutoCorrCfg::IsAutoTextTip() gives true (set in Tools -> AutoCorrect -> [x] Display remainder of name as suggestion while typing), because only a single word no less than 3 chars long left to cursor is considered a candidate for the name matching. This change allows to consider multiple chunks of text left to the cursor as the candidates for name matching. The chunks are 3-9 characters long, may start only between words, and have spaces, including leading. Thus, AutoText entries with long names like " Dr Foo" will now be suggested for an entry like "lorem dr f". Change-Id: If91c957341a4f4b281acb0e4ada558706ea2f8c1 Reviewed-on: https://gerrit.libreoffice.org/80392 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-10-07InsertQuote can be constMike Kaganski
Change-Id: I57b50e72b68b71406d1745304d24b52d75b3d082 Reviewed-on: https://gerrit.libreoffice.org/80342 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-10-04SvxAutoCorrect::GetPrevAutoCorrWord should not be constMike Kaganski
Change-Id: Icc5f8eae4347e097f7ff22212dd94467d0702353 Reviewed-on: https://gerrit.libreoffice.org/80198 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-09-29constmethod for accessor-type methodsNoel Grandin
Apply the constmethod plugin, but only to accessor-type methods, e.g. IsFoo(), GetBar(), etc, where we can be sure of that constifying is a reasonable thing to do. Change-Id: Ibc97f5f359a0992dd1ce2d66f0189f8a0a43d98a Reviewed-on: https://gerrit.libreoffice.org/74269 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-20tdf#109158 improve sorting when loading large autocorrect fileNoel Grandin
reduces time from 2.0s to 1.7s reduce work by (*) reserving some arrays (*) pre-sorting with a cheaper comparator (*) don't copy when returning result, just return a const& (*) flattening the data-structures to reduce pointer-chasing Change-Id: I972bd7ffdbf2121c2d38c24aca9618ca708e920c Reviewed-on: https://gerrit.libreoffice.org/79119 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-23tdf#42949 Fix IWYU warnings in include/editeng/[f-x]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ic14d2e66434817bcb7bd1e2b707f81d720d596b6 Reviewed-on: https://gerrit.libreoffice.org/71007 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-04-02tdf#108423 autocorrect English word i' -> I’László Németh
Now correction of the ASCII quotation mark to the typographical one (’) capitalizes the preceding single lowercase i, too, as in MSO, if the language of the text is English. Change-Id: Ic7586f07aa13f441e25494ff4cc11c672ac4a67a Reviewed-on: https://gerrit.libreoffice.org/70088 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2018-12-07tdf#121779: extend TWo CApitals list to also ignore sMALL iNITIALSMike Kaganski
Now this list is used also in rules for capitalizing first letter of every sentence, and for correcting accidental use of Caps Lock key. Change-Id: I4fbdbccbae32743d5e9a6757344361eefd88e167 Reviewed-on: https://gerrit.libreoffice.org/64759 Tested-by: Jenkins Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com> Reviewed-by: Sophie Gautier <gautier.sophie@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-10-17loplugin:singlevalfieldsNoel Grandin
tighten up the handling of binary operators Change-Id: I262ec57bf7142fa094d240738150a94d83fd15ee Reviewed-on: https://gerrit.libreoffice.org/61777 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-18loplugin:useuniqueptr in SvxAutoCorrectLanguageListsNoel Grandin
Change-Id: Ie433a336f9cd5133aefbe4ef88d214b5f5c63a0a Reviewed-on: https://gerrit.libreoffice.org/54182 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-27convert auto correct flags to scoped enumNoel Grandin
Change-Id: I73356493d97bb4f0d5b7db8b5c742837d7a4c78b Reviewed-on: https://gerrit.libreoffice.org/53505 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-05loplugin:useuniqueptr in SvxAutoCorrectLanguageListsNoel Grandin
and cleanup horrendous weirdity in the interaction between LoadXXX and SetXXX methods Change-Id: I1253579a27e835f6f79c39acf72eac85278275d6 Reviewed-on: https://gerrit.libreoffice.org/49184 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-24loplugin:unused-returns in drawinglayer..svxNoel Grandin
Change-Id: I033a78cc7fe7d8e5086f1c855c4aa371cc98dc7c Reviewed-on: https://gerrit.libreoffice.org/48400 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-24Related: tdf#108795 a shared SvxAutoCorrect instance can not be statefulEike Rathke
An SvxAutoCorrect instance is shared via SvxAutoCorrCfg::Get().GetAutoCorrect(). Since commit 284eb106767d094fc5c547efd6c11cc390e3538a and following the SvxAutoCorrect::bRunNext/HasRunNext() introduced a state whether a previously inserted NO-BREAK SPACE should be removed again, depending on the next character input. That does not work, for example, if SvxAutoCorrect::DoAutoCorrect() is called from two different EditEngine instances, like it is the case in the Calc input line and cell which are synchronized; or any other two or more instances for that matter. The caller has to pass and remember a flag that is maintained by SvxAutoCorrect. Change-Id: I79a26d2ba44cc40771979a78b686c89f0c80b412 Reviewed-on: https://gerrit.libreoffice.org/41475 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-07-28loplugin:constparams in editengNoel Grandin
Change-Id: Ice32a16d14d0132a19e8209d311bb799fd7ee0c8 Reviewed-on: https://gerrit.libreoffice.org/40526 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-22loplugin:constparams in editeng,lingucomponentNoel Grandin
Change-Id: I99d9153e3fd1fead34c856ac68a120bb06a003d3 Reviewed-on: https://gerrit.libreoffice.org/40296 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-01tdf#108622: use correct type for last check timestamp during autocorrectAron Budea
It's only supposed to check the files once every 2-mins, with mismatching type that happens each time. Change-Id: Ie9243cf928d952e28989dd981508de86cb7dbddb Reviewed-on: https://gerrit.libreoffice.org/39428 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-02loplugin:checkunusedparams in editengNoel Grandin
Change-Id: I2b770d40ac2339cd2b04a765a6d970675d2ea1c1 Reviewed-on: https://gerrit.libreoffice.org/37133 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-04-10loplugin:inlinefields in SvxAutoCorrectNoel Grandin
Change-Id: I09aa52551dd1ed96bc9a72baec6afe5a4a05c1dd Reviewed-on: https://gerrit.libreoffice.org/36346 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-03Remove redundant 'inline' keywordStephan Bergmann
...from function definitions occurring within class definitions. Done with a rewriting Clang plugin (to be pushed later). Change-Id: I9c6f2818a57ccdb361548895a7743107cbacdff8 Reviewed-on: https://gerrit.libreoffice.org/34874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-12Get rid of "unicodes" in lower-case, tooTor Lillqvist
Instead, use "code points" (if you mean full 21-bit Unicode code points), or "code units" (if you mean the 16-bit units that make up UTF-16). Hopefully I got it right which one was meant in each case here. Change-Id: I8ee7a98996f1cebcfb95cd7d18a56570e48fa390
2016-12-05loplugin:countusersofdefaultparams in include/drawinglayer..i18nlangtagNoel Grandin
Change-Id: I081ed66a88fc11648f5c63919c3de2a71f1afd59 Reviewed-on: https://gerrit.libreoffice.org/31556 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-08-25new loplugin: countusersofdefaultparamsNoel Grandin
Change-Id: I79e2c690f3e664c14af12cf763dd5a8ac20d6b04 Reviewed-on: https://gerrit.libreoffice.org/28353 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-06Avoid reserved identifiersStephan Bergmann
Change-Id: I2c83911433a8f89e7366d9f7711ca4879e44bae9
2016-03-18loplugin:constantfunction in editengNoel Grandin
Change-Id: I8f8414b4867d3248e6d836ed8037de4da41b97f1 Reviewed-on: https://gerrit.libreoffice.org/23331 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-03loplugin:unuseddefaultparams in editengNoel Grandin
Change-Id: I1dc0ba262c06bd69cf92aae20b344fe23f460f55
2016-01-12loplugin:unusedmethods unused return value in include/editengNoel Grandin
Change-Id: I1314480950b0d3a3e5ed066d71c175604dd41970 Reviewed-on: https://gerrit.libreoffice.org/21361 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-18use unique_ptr for pImpl in editeng/Noel Grandin
Change-Id: I43ae9f706db15594b3a0c5cba41436d009588393
2015-11-115th step to remove tools/rtti.hxxOliver Specht
tools/rtti.hxx removed completed the interface of some Sdr.* Items and removed pseudo items Change-Id: I0cdcd01494be35b97a27d5985aa908affa96048a Reviewed-on: https://gerrit.libreoffice.org/19837 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I9fe00eef7ddcd4a3c87e497a8d62f98e71a0d6d8
2015-10-21com::sun::star->css in include/editengNoel Grandin
Change-Id: I2a46f2128ef86ea0d692240b968ea52ab8e09dcc Reviewed-on: https://gerrit.libreoffice.org/19489 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-07-17editeng: replace boost::ptr_map with std::map<std::unique_ptr>Michael Stahl
Change-Id: I343071cc29c2041bc98456954b0aa32fff324d82
2015-07-16loplugin:unusedmethods editengNoel Grandin
Change-Id: I15b2be5a9cd6e72447b674a65eabe9f89cb6ff12 Reviewed-on: https://gerrit.libreoffice.org/17115 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-06-29remove custom RTTI from SvxAutoCorrectNoel Grandin
unused Change-Id: I2f4504fdbe88fa83abe6da8a1f733f9ae1c2742d
2015-05-26Global CptlSttWrd and CptlSttWord -> CapitalStartWordJan Holesovsky
Change-Id: I550456ae319a6a865f2ee951a1ddf70384ce33ef
2015-05-26Global CptlSttSntnc -> CapitalStartSentenceJan Holesovsky
Change-Id: Id428332201f14b172af1590baed6aa2a67e0557a
2015-05-20bin/rename-sw-abbreviations.shlibreoffice-5-0-branch-pointChristian Lohmaier
renames the most annoying abbreviations in Writer (and partially in the shared code too). Change-Id: I9a62759138126c1537cc5c985ba05cf54d6132d9
2015-05-07Remove unnecessary includes of sot/storage.hxx from include/Stephan Bergmann
Change-Id: I242cd126814bbebdb99ea38d9e66513189c313d9
2015-05-07Unwind SotStorageRef typedefStephan Bergmann
Change-Id: I8d5363bb2ad813ef29b4078848914f4b0989b9f1
2015-04-24loplugin:simplifyboolStephan Bergmann
Change-Id: I0d41417b964f7f43b413a7b29fb1cf930f363427