summaryrefslogtreecommitdiff
path: root/sdext/source/minimizer
AgeCommit message (Collapse)Author
2020-08-18remove dead codeNoel Grandin
since commit e22c431e24b4a83ddc928f7703b13a9a109c1b8e Date: Fri May 11 13:01:25 2007 +0000 initial version found by loplugin:unusedvarsglobal Change-Id: I7ae07c25fadc4cac4c176c763fe886c0df02a235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100926 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-16tdf#135342: filter list must include extensionsMike Kaganski
Regression after commit a0dcc8f78061d22d925f31ef8d03ca751ad6dc19. The commit had added extensions to the filter names sent to file dialog, but kept internal list of filter names aFilterEntryList without extensions. Then dialog returned the chosen filter's name in the form it was sent there, i.e. with extension; and that name couldn't be found in aFilterEntryList. So let's keep aFilterEntryList synchronized with the UI names in the dialog. Change-Id: Ic21d19d1a8d0b7f64ccfb517a7d0ee8ab36fc6a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100821 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-07-17sdext/minimizer: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I1273af0fa07a4f9d7284110247fce18c51901524 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98920 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-02Upcoming improved loplugin:staticanonymous -> redundantstatic: sdextStephan Bergmann
Change-Id: I767b6ca4bc2bfc3623aa2ba502f075bde1347df7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97657 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-05Upcoming loplugin:elidestringvar: sdextStephan Bergmann
Change-Id: I841062adcfea55e072354830584651a6887bc0fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95546 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-03-12Revert "loplugin:constfields in sdext"Noel Grandin
This reverts commit 565746cf861c407ae222b2284d8525b4e9a62d94. Now that we know that making fields has negative side effects like disabling assignment operator generation. Change-Id: I3c98d9a3049b581fe10113708b13d483c5bd85e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90369 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-29tdf#124176: Use pragma once instead of header guardPelin Kuran
Change-Id: If7c8b03238889a084070d9e96133b5cccecbe807 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87660 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-01-28remove some unused local varsNoel Grandin
found by my new aggressive unused var plugin. these are unused return values from function calls Change-Id: I3359c583f535828f192cb833762dfedc008d82f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87439 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann
...following up on 314f15bff08b76bf96acf99141776ef64d2f1355 "Extend loplugin:external to warn about enums". Cases where free functions were moved into an unnamed namespace along with a class, to not break ADL, are in: filter/source/svg/svgexport.cxx sc/source/filter/excel/xelink.cxx sc/source/filter/excel/xilink.cxx svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx All other free functions mentioning moved classes appear to be harmless and not give rise to (silent, even) ADL breakage. (One remaining TODO in compilerplugins/clang/external.cxx is that derived classes are not covered by computeAffectedTypes, even though they could also be affected by ADL-breakage--- but don't seem to be in any acutal case across the code base.) For friend declarations using elaborate type specifiers, like class C1 {}; class C2 { friend class C1; }; * If C2 (but not C1) is moved into an unnamed namespace, the friend declaration must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither qualified nor a template-id and the declaration is a function or an elaborated-type-specifier, the lookup to determine whether the entity has been previously declared shall not consider any scopes outside the innermost enclosing namespace.") * If C1 (but not C2) is moved into an unnamed namespace, the friend declaration must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882> "elaborated-type-specifier friend not looked up in unnamed namespace". Apart from that, to keep changes simple and mostly mechanical (which should help avoid regressions), out-of-line definitions of class members have been left in the enclosing (named) namespace. But explicit specializations of class templates had to be moved into the unnamed namespace to appease <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598> "explicit specialization of template from unnamed namespace using unqualified-id in enclosing namespace". Also, accompanying declarations (of e.g. typedefs or static variables) that could arguably be moved into the unnamed namespace too have been left alone. And in some cases, mention of affected types in blacklists in other loplugins needed to be adapted. And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is not moved into an unnamed namespace (because it is declared in sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is. GCC warns about such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler doesn’t give this warning for types defined in the main .C file, as those are unlikely to have multiple definitions." (<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html>) The warned-about classes also don't have multiple definitions in the given test, so disable the warning when including the .cxx. Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4 Reviewed-on: https://gerrit.libreoffice.org/83239 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-13tdf#42949 Fix IWYU warnings in sdext/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I73e11bb945df16d2599b5421b552e155dacdf860 Reviewed-on: https://gerrit.libreoffice.org/82411 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-10-31Fix StringAdd::isCompileTimeConstantStephan Bergmann
...to find StringLiteral on the RHS of +=. Which revealed that the VisitCompoundStmt/checkForCompoundAssign logic needed to be fixed, too, so that s += side_effect(); s += "literal"; s += side_effect(); only gets combined to s += side_effect() + "literal"; s += side_effect(); and not all the way to s += side_effect() + "literal" + side_effect(); Change-Id: I432e3458b933a7d0ad6141c747b675cc8b0f0ba4 Reviewed-on: https://gerrit.libreoffice.org/81804 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-15new loplugin:bufferaddNoel Grandin
look for OUStringBuffer append sequences that can be turned into creating an OUString with + operations Change-Id: Ica840dc096000307b4a105fb4d9ec7588a15ade6 Reviewed-on: https://gerrit.libreoffice.org/80809 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-03drop some unnecessary includesCaolán McNamara
Change-Id: I656ed2e29988fe47e4db8fa2ea8edec022bd56c2 Reviewed-on: https://gerrit.libreoffice.org/80098 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-09-28loplugin:constmethod in sdext..starmathNoel Grandin
Change-Id: Ib1b60382c9ec62f35f0f232c3f2c2d5664ea669e Reviewed-on: https://gerrit.libreoffice.org/79779 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-16use more TOOLS_WARN_EXCEPTIONNoel Grandin
Change-Id: Ic21ea11ff106e0732bb8fa600ef39a549d7bda86 Reviewed-on: https://gerrit.libreoffice.org/77569 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-15loplugin:sequenceloop in sdext..sfx2Noel Grandin
Change-Id: If9924566b21e50cad7a12d781ac5d337de0684ab Reviewed-on: https://gerrit.libreoffice.org/77526 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): sdextStephan Bergmann
Change-Id: I3124c3e91c2bbf918113544d5d01b55a3f6b6005 Reviewed-on: https://gerrit.libreoffice.org/76649 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-29Simplify Sequence iterations in sdextArkadiy Illarionov
Use range-based loops and STL algorithms Change-Id: I0ffc0c7481b35cf6a297f8123b567d4331ff1a3f Reviewed-on: https://gerrit.libreoffice.org/76478 Tested-by: Jenkins Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
2019-07-20loplugin:referencecasting in sdextNoel Grandin
Change-Id: I4599375fae2516da20df0bdfc09f391e0189fc46 Reviewed-on: https://gerrit.libreoffice.org/75978 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-18loplugin:passstuffbyrefNoel Grandin
Change-Id: Icb7c22cf4ac95eab54d04e79312fb471ca27bceb Reviewed-on: https://gerrit.libreoffice.org/74246 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-06Refactor a bit of the presentation minimizerJan-Marek Glogowski
This was originally just about getting rid of the resource leak. Turned out to include a little refactoring to hide most of the UnoDialog member variables. * use cppu::component_getFactoryHelper * free leaked createPeer resources in destructor Change-Id: I45449c49e32af4935908b801ed9bd9732af944d3 Reviewed-on: https://gerrit.libreoffice.org/73565 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-05-14Presentation minimizer: Handle also presentation.GraphicObjectShape URLTamás Zolnai
Change-Id: I326b2803bf2d98d440e14d7f3f75ca61c2c9e49a Reviewed-on: https://gerrit.libreoffice.org/72303 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2019-05-13fix wrong SET/QUERY flags passed to uno::ReferenceNoel Grandin
By creating deleted methods for the wrong calls. Avoids the compiler needing to construct a temporary Change-Id: I3b8c648d6bb22d22827bf74f21ea5a2a17fc0f6a Reviewed-on: https://gerrit.libreoffice.org/72103 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-12Use hasElements to check Sequence emptiness in sax..sdextArkadiy Illarionov
Similar to clang-tidy readability-container-size-empty Change-Id: If6a567708d3c59355d54933fad23c85195846624 Reviewed-on: https://gerrit.libreoffice.org/71763 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-09regenerate PCH headers for the 4 new levelsLuboš Luňák
Plus some build fixes triggered by this. Change-Id: I59b21def706598ceffd45ae5b1f0262ec9c1ad50 Reviewed-on: https://gerrit.libreoffice.org/71581 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-03-07log nice exception messages whereever possibleNoel Grandin
Change-Id: Idd125c18bee1a39b9ea8cc4f8c55cddfd37c33e1 Reviewed-on: https://gerrit.libreoffice.org/68579 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-05OptimizerDialog: use local method to reduce OUString operationsMatteo Casalin
Change-Id: I356693ba9992c691c9079b3eaa2f26e57b005e1c Reviewed-on: https://gerrit.libreoffice.org/67640 Tested-by: Jenkins Reviewed-by: Matteo Casalin <matteo.casalin@yahoo.com>
2019-02-13Indexing is not needed for single getToken() callMatteo Casalin
Change-Id: I38b916d217af05359754925f2ae68351486aa399 Reviewed-on: https://gerrit.libreoffice.org/67639 Tested-by: Jenkins Reviewed-by: Matteo Casalin <matteo.casalin@yahoo.com>
2019-02-13OptimizerDialog: simplify string operations when selecting...Matteo Casalin
... image resolution: introduce local method to: * use indexed getToken * avoid getting all tokens in advance * reduce calls to non-trivial getString method Change-Id: Ib47c2e9bb5788132328fbda1b1dce05e495ad3ed Reviewed-on: https://gerrit.libreoffice.org/67638 Tested-by: Jenkins Reviewed-by: Matteo Casalin <matteo.casalin@yahoo.com>
2019-02-12loplugin:flatten in sdextNoel Grandin
Change-Id: I5a7c2d38ef2e4af54316becd807bffab83d402d0 Reviewed-on: https://gerrit.libreoffice.org/67715 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-11presentation minimizer: warn user about unsaved presentationVasily Melenchuk
If minimizer is used on current presentation without making a copy and it has local modification we should suggest user to save it before, since not all minimization opearions could be reverted later. Change-Id: I12600c9a818698418f3ec957d43b13c6044609d2 Reviewed-on: https://gerrit.libreoffice.org/64261 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-12-05loplugin:unnecessaryparen include more assignmentsNoel Grandin
Change-Id: I9fb8366634b31230b732dd38a98f800075529714 Reviewed-on: https://gerrit.libreoffice.org/64510 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-03presentation minimizer: suggest filename for a new presentationVasily Melenchuk
If presentation was never saved suggested filename was empty. Right now it will show filename like "Untitled 1 (minimized)". Change-Id: I0077e6c9f2e86665f9de6d41fa434fd21167c779 Reviewed-on: https://gerrit.libreoffice.org/63876 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-12-03Simplify containers iterations in sdextArkadiy Illarionov
Use range-based loop or replace with STL functions Change-Id: I760c1aaeae9afc99effee6a2645bb77439260ddf Reviewed-on: https://gerrit.libreoffice.org/64435 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-25tdf#120703 PVS: V560 A part of conditional expression is always true/falseMike Kaganski
Change-Id: I8d98aa7dd77fbd79611b8a4aba77e8c378fd1cae Reviewed-on: https://gerrit.libreoffice.org/63981 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-11-07loplugin:collapseif in sdext..svxNoel Grandin
Change-Id: I188d9e9b53e00acfbae3c7acd54de28f084c4b3f Reviewed-on: https://gerrit.libreoffice.org/62985 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-06presentation minimizer: fixed problem with default filenameVasily Melenchuk
According to code, it is expected that minimized copy of presentation is proposed with ".mini" suffix as default, but this does not works right now. As a solution a new localized prefix "(minimized)" is added to filename. Change-Id: If869c70a5885a9c917fc7254aa8b0d164a6f5a50 Reviewed-on: https://gerrit.libreoffice.org/62781 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-11-05presentation minimizer: use standard error reportingVasily Melenchuk
Insead of custom error dialogs try to use standard LO error reporting & localization Change-Id: I199c7770dd884a6c5d9b22075d22ab9a9f2037a8 Reviewed-on: https://gerrit.libreoffice.org/62779 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-10-19clang-tidy readability-container-size-emptyNoel Grandin
Change-Id: I1df70b7dff5ebb6048f7fc618789faa15ca5d422 Reviewed-on: https://gerrit.libreoffice.org/61967 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-09loplugin:constfields in sdextNoel Grandin
Change-Id: Ief438d98b8117a7759282323e47c8b5283d6762a Reviewed-on: https://gerrit.libreoffice.org/61552 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-17New loplugin:externalStephan Bergmann
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-11loplugin:unusedmethodsNoel Grandin
Change-Id: I34009aabf0befb346470b5c0d96ad8fc476b7c4e Reviewed-on: https://gerrit.libreoffice.org/60300 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-10tdf#42949 Fix IWYU warnings in include/cppuhelper/*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ib420e9216b8313f5ed7634ec375e39ceb741fd45 Reviewed-on: https://gerrit.libreoffice.org/59297 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-08-31presentation minimizer: report possible errorsVasily Melenchuk
In process bunch of different problems can occur, but they are not reported to user. IO errors are now shown with message dialog, other exceptions (if any) are passed to upper level. Change-Id: Idc15cb5b7f97de296e095d71ae1f3b2700fc0fa7 Reviewed-on: https://gerrit.libreoffice.org/58765 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-07-30Add missing sal/log.hxx headersGabor Kelemen
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories scripting, sd, sdext Change-Id: I47889cd889cf1d68353184229bfd4712f1528fbf Reviewed-on: https://gerrit.libreoffice.org/58220 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-06-26tdf#96099 Remove some trivial container iterator typedefsArkadiy Illarionov
Change-Id: Ifec98748d55ff6aca64c425c50c2cf2650f61591 Reviewed-on: https://gerrit.libreoffice.org/56422 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-08look for unnecessary calls to Reference::is() after an UNO_QUERY_THROWNoel Grandin
Since the previous call would throw if there was nothing to be assigned to the value. Idea from tml. Used the following script to find places: git grep -A3 -n UNO_QUERY_THROW | grep -B3 -F 'is()' Change-Id: I36ba7b00bcd014bdf16c0455ab91056f82194969 Reviewed-on: https://gerrit.libreoffice.org/55417 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-05-17loplugin:unusedfields in sdNoel Grandin
Change-Id: I01e6431279b71d0cff8f44614b3cad17f0f89460 Reviewed-on: https://gerrit.libreoffice.org/54452 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-16loplugin:constantparamNoel Grandin
Change-Id: I0110e0c662004456e4bc8f8082e2e2fea59e0148 Reviewed-on: https://gerrit.libreoffice.org/54385 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-13change minimizer extension to not use GraphicUrl and FillBitmapUrlTomaž Vajngerl
Change-Id: I3a0c22d0e9411e5a427efce6adee0679e2c2de68 Reviewed-on: https://gerrit.libreoffice.org/51109 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>