summaryrefslogtreecommitdiff
path: root/extensions
AgeCommit message (Collapse)Author
2018-05-30Fix typos in SAL_WARNs: The class is called CXTypeInfo, not CxTypeInfoTor Lillqvist
Change-Id: Iab17340f57cf8b116d2f058661dabd3a95fb61d2
2018-05-30Handle <codecvt> deprecation issue with VS2017Tor Lillqvist
As VS2017 so eloquently puts it, "Warning STL4017: std::wbuffer_convert, std::wstring_convert, and the <codecvt> header (containing std::codecvt_mode, std::codecvt_utf8, std::codecvt_utf16, and std::codecvt_utf8_utf16) are deprecated in C++17. (The std::codecvt class template is NOT deprecated.) The C++ Standard doesn't provide equivalent non-deprecated fu tml_ nctionality; consider using MultiByteToWideChar() and WideCharToMultiByte() from <Windows.h> instead. You can define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning." So VS2017 actually recommends using platform-specific API instead of standard C++ API that is or will be deprecated but has no standard replacement. Insane. Note that it is not enough to define that _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING just right where you are including <codecvt> because "for all of the warning suppression macros, you must define them before any C++ Standard Library header has been included (both <vector> etc. and <cstdlib> etc.)" as mentioned on https://blogs.msdn.microsoft.com/vcblog/2017/12/08/c17-feature-removals-and-deprecations/ So define it in the single file that includes windowsdebugoutput.hxx for now. Change-Id: Iecd9702502ce3b33013d6799c618d6b98d803c3e
2018-05-30We might need to handle form controls as properties for OLE clients after allTor Lillqvist
Start a bit of work on that. Change-Id: I7775f9598a81d64e9716996027b01f7f8e29745b Reviewed-on: https://gerrit.libreoffice.org/55043 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-30Hack to make properties work better from Automation clientsTor Lillqvist
There were a couple of problems apparent at this stage when using the ooovbaapi things from a test Automation client (written in VBScript, to be precise). Accessing for instance the ActiveDocument property of an ooo::vba::word::XGlobals instance worked fine. But properties of other objects, like instances of ooo::vba::word::XDocument, did not work. When attempting to access any property of an ooo::vba::word::XDocument, the code ended up calling the hasProperty() of SwVbaDocuemnt. That function is for checking a totally different kind of "properties", namely named form controls. Why form controls are con-fused with oovbaapi properties I don't know. Maybe it is intentional and as expected when using the oovbaapi from the built-in Basic interpreter in LibreOffice. Or then just an accident in history. Still, surely it can't be changed, that would break Basic scripts embedded in existing ODF documents. Anyway, from an OLE Automation client, for instance when asking for the Content property of an ooo::vba::word::XDocument object, we definitely don't want any form control that happens to have the name "Content". We want an object with two integer properties, Start and End. Make this work by always creating an invocation factory instead of using the object itself. Pass the invocation factory's createInstanceWithArguments() function an extra argument indicating this is the case of use from OLE Automation. In the Invocation_Impl class in the stoc module, when this extra argument is noticed, set a new mbFromOLE flag. Modify the behaviour slightly when that is true. I am not at all sure that this will work in all cases, but let's see, at least for simple tests so far it had the intended effect. Another issue was that looking up these properties was case sensitive. This is wrong at least from languages like VBScript. Use the mbFromOLE flag also to affect the case sensitivity behaviour. Maybe I should simply make sure that _xDirect is null in the Automation case? _Direct (a reference to an XInvocation) being non-null probably means that we are using the document interface's own implementation of XInvocation, which is probably always wrong in the OLE Automation case. (Just see the SwVbaDocument implementations of hasProperty() and invoke(), for instance.) Change-Id: I2fd174f69f430893aef538cc9bf2a99d1c86b567 Reviewed-on: https://gerrit.libreoffice.org/55023 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-29Provide also an ooo.vba.word.XApplication objectTor Lillqvist
Create the objects on offer to Automation clients lazily It would be silly to create the ooo.vba.word.XApplication in every LibreOffice instance, even if no Writer functionality was going to be used at all in that process. I did not have to do what the old FIXME said, "make Application a proper service", whatever that means. Change-Id: I02a0ceb6290012b4bb6afacadc03871feaf57406 Reviewed-on: https://gerrit.libreoffice.org/55005 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-29Handle DISPID_NEWENUMTor Lillqvist
We get that when an Automation client wants to enumerate an object that is a collection. We need to create an IEnumVARIANT object and return it (as an IUnknown). I wasted days on trying to implement this IEnumVARIANT object using the same twisty maze of helpers, wrappers, UNO conversion utilities, etc as used for the other stuff here. The other objects have both UNO and OLE personalities. Could not figure out how to do it. Then I decided to just do it brute force, following some sample code, not bothering with any UNO personality at all for the IEnumVARIANT thing, and it worked right away. Change-Id: I6a175ea80b75d48d2f0b793f143f3a84715522c1 Reviewed-on: https://gerrit.libreoffice.org/54994 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-28loplugin:useuniqueptr in GridWindowNoel Grandin
Change-Id: I9fd6d8ac159994c894739afbb3dccb72576dccfb Reviewed-on: https://gerrit.libreoffice.org/54844 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-28loplugin:useuniqueptr in abp::FinalPageNoel Grandin
Change-Id: I718d5c886f9406a8b86e268993cb298808537cbc Reviewed-on: https://gerrit.libreoffice.org/54843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-25Improve re-throwing of UNO exceptionsNoel Grandin
(*) if we are already throwing a Wrapped*Exception, get the exception using cppu::getCaughtexception. (*) when catching and then immediately throwing UNO exceptions, use cppu::getCaughtException to prevent exception slicing (*) if we are going to catch an exception and then immediately throw a RuntimeException, rather throw a WrappedTargetRuntimeException and preserve the original exception information. Change-Id: Ia7a501a50ae0e6f4d05186333c8517fdcb17d558 Reviewed-on: https://gerrit.libreoffice.org/54692 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-25Add one line of hopefully correctly understood explanationTor Lillqvist
Change-Id: Ib22583a45c03a4b7c3b4ff73e9d28f47ab31bc4f
2018-05-25Bin noise part of commentTor Lillqvist
Our convention is to just have the name of the abstract base class in a comment before the declaration of the concrete overrides of its abstract member functions. No need to say "Abstract struct" there. Change-Id: I2b9bdf0555af5280771370a6df56fd4c8623661a
2018-05-25IClassFactoryWrapper can go away nowTor Lillqvist
Change-Id: I7633648dc0398d2c1b6f04e6db9b18638a7451f5 Reviewed-on: https://gerrit.libreoffice.org/54781 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-05-22Bin dead codeTor Lillqvist
OleServer::provideService() was not called anywhere. That means the ProviderOleWrapper class is unused, too. Which is good, as it seemed to largely be identical to OneInstanceOleWrapper anyway. Change-Id: If8782d56ed1ec1bb173cfc18be585be4c331f335 Reviewed-on: https://gerrit.libreoffice.org/54647 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-21In fact it's simpler to not have m_guid fields in these two classes at allTor Lillqvist
We can just pass the GUID as parameter to the single member function registerClass() that needs it. This perhaps means the same class can be used in more cases, also for objects/classes that aren't going to be registered and don't need any GUID. Change-Id: I28703190c52b14236c6f613dd4acbe359c075f5c Reviewed-on: https://gerrit.libreoffice.org/54622 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-21There is nothing called o2u_anyToVariantTor Lillqvist
Change-Id: I7118843fde87a2d587f0e4ec99d146c379da618e
2018-05-21These fields can be constTor Lillqvist
Change-Id: I103f06b9c7f14ac7eff9911ab5bebc4c98e7d41f Reviewed-on: https://gerrit.libreoffice.org/54614 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-19Fix typosAndrea Gelmini
Change-Id: Ie0c9f168759a625d78668cd57838b208fbc9dc56 Reviewed-on: https://gerrit.libreoffice.org/54458 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins <ci@libreoffice.org>
2018-05-17No need for this #pragma onceTor Lillqvist
Change-Id: I219226060ebf4b8b86c8f0487fc679f22f73812a Reviewed-on: https://gerrit.libreoffice.org/54468 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-05-17We only support MSVC anyway for our Windows-specific codeTor Lillqvist
Change-Id: I68dfd0832747c7c319e40ee28a4461623e95102f Reviewed-on: https://gerrit.libreoffice.org/54482 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-05-17loplugin:unusedfields in editeng..filterNoel Grandin
Change-Id: I42e41ec69667a5560c5f31c85eb05074666a7bab Reviewed-on: https://gerrit.libreoffice.org/54455 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-16Drop _Impl class name suffix where pointlessTor Lillqvist
I.e. where there is no other LibreOffice, or system, or 3rd-party library thing with just the un-suffixed name that they would be a pimpl of, etc. Why bother calling something InterfaceOleWrapper_Impl when there is nothing that would be called InterfaceOleWrapper? It just makes the code seem more complicated and harder to read. An "implementation" of something is what everything that is not fully abstract *is*. We don't suffix the name of every non-abstract class with _Impl elsewhere either. Also drop two unused structs. Change-Id: I2755e6da78d8e4ded5291688dc90510b5f8b498b Reviewed-on: https://gerrit.libreoffice.org/54411 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-15loplugin:unnecessaryoverride, loplugin:cstylecast (clang-cl)Stephan Bergmann
Change-Id: I316965219f70a87b59b731e4d5e6b67d2010c2b9 Reviewed-on: https://gerrit.libreoffice.org/54350 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-05-14loplugin:useuniqueptr in SaneDlgNoel Grandin
Change-Id: I712b733c9c24db2e2fcdc4b6ce16e38eaf0b27f0 Reviewed-on: https://gerrit.libreoffice.org/54167 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-14tdf#117282 Do not set property 'Name' at ControlShapeArmin Le Grand
Formally property 'Name' was set at com.sun.star.drawing.ControlShape, but this Shape does not (and never did) support that Property. It should have thrown an UnknownPropertyException in the past, but did not do that by error. It was just ignored in SvxShape::_setPropertyValue and lost. Solution is to just not set it anymore. This loses nothing (was never set, see above), but avoids the (now correctly thrown) exception. Change-Id: Id6bdc545862f91692213afe6fb706b98d3fce211 Reviewed-on: https://gerrit.libreoffice.org/54145 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2018-05-13Translate German commentsJohnny_M
Change-Id: I6a03e921b28da5ac26235f32f547f36e00a47e46 Reviewed-on: https://gerrit.libreoffice.org/54079 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2018-05-11coverity#705646 Resource leakCaolán McNamara
Change-Id: I709b16f720cf97c05207cfb22d0c0ea15622367a Reviewed-on: https://gerrit.libreoffice.org/54139 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-05-09Don't throw in LdapUserProfileBe ctor on LDAP misconfigurationMike Kaganski
Otherwise LO crashes e.g. at opening Expert Configuration dialog. Instead, log the event, create an empty backend, and return empty values. Change-Id: I433fc89c003e7886dfc5242a4ef8defa46d643d3 Reviewed-on: https://gerrit.libreoffice.org/53958 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-05-07loplugin:useuniqueptr in SaneNoel Grandin
Change-Id: I06e9423e667ee87d767bbc17e62798ae0586e975 Reviewed-on: https://gerrit.libreoffice.org/53877 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-02WinUserInfoBe: a new config backend for user data provided by WindowsMike Kaganski
This backend provides Active Directory details for current user. If the system is not part of Active Directory domain, GetUserNameEx is used instead, so at least user (given) name is configured. Unlike ldap backend, this one doesn't need connection configuration, as the used API works with current user security context. Change-Id: I74bcc79591a658dc5121df1f09caa15d272fbe12 Reviewed-on: https://gerrit.libreoffice.org/53590 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-04-22Iceweasel and Icedove are dead…Adolfo Jayme Barrientos
… since 2016 and 2017, respectively. Change-Id: Ic4e501ceee198d9a802e7a5e7732fda3b899a8cb
2018-04-22Don’t use frames to group only one set of controlsAdolfo Jayme Barrientos
Just add a simple label to them. Change-Id: I5382d521ac744a6760c572599489589f49b303d6
2018-04-21Get rid of GraphicObject URL in extensions - PropertyControllerTomaž Vajngerl
Instead of that, use "Graphic" property and set an XGraphic. Change-Id: Ib3084d22b422b82b69be3d410560caac303e780d Reviewed-on: https://gerrit.libreoffice.org/53240 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-04-17loplugin:constparamsNoel Grandin
Change-Id: I3d1b88dbd0ff73fddc08d52f50e0efb42daab89b Reviewed-on: https://gerrit.libreoffice.org/52756 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-16Fix typosAndrea Gelmini
Change-Id: Ife28cd9399cfcb375bad764dac7424eda50d430d Reviewed-on: https://gerrit.libreoffice.org/52198 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-04-15remove some unused comphelper includesJochen Nitschke
and fix the fallout Change-Id: I5d0c2040f57a3ac354a7e277592da31d09a5f359 Reviewed-on: https://gerrit.libreoffice.org/52894 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-04-14look for check buttons without underlinesCaolán McNamara
Change-Id: Ia9963190cf3dccbfa82951a3f2c0e29e00171429 Reviewed-on: https://gerrit.libreoffice.org/52847 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-14look for radio buttons without underlinesCaolán McNamara
Change-Id: I0ed97515a03a5633628a492ec7797fc3ade8a3d8 Reviewed-on: https://gerrit.libreoffice.org/52846 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-11new loplugin:unusedvariablemoreNoel Grandin
collection of heuristics to look for local variables that are never read from i.e. do not contribute to the surrounding logic This is an expensive plugin, since it walks up the parent tree, so it is off by default. Change-Id: Ib8ba292241bd16adf299e8bba4502cb473513a06 Reviewed-on: https://gerrit.libreoffice.org/52450 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-06weld linkeditdialogCaolán McNamara
which enables changing FileDialogHelper over to welded Change-Id: I988342a6574cb7ed09b2724929e8c7117474a56c Reviewed-on: https://gerrit.libreoffice.org/52388 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-03new loplugin:dbgunhandledexceptionNoel Grandin
enforce that DBG_UNHANDLED_EXCEPTION is called first in a catch block, otherwise it cannot do it's job properly Change-Id: I906436c6861212c44f8f21552ccbceb54f15c6e1 Reviewed-on: https://gerrit.libreoffice.org/52303 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-03pass area param to DBG_UNHANDLED_EXCEPTIONNoel Grandin
and update sallogareas plugin to enforce this Change-Id: Id0782c8a1f619372e10d931aec3c6a4743a4c86a Reviewed-on: https://gerrit.libreoffice.org/52249 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-02use https links for api.libreoffice.org and opengrokdennisroczek
Change-Id: I74dd0142562cb8698f19b2715fa1d514f82bd749 Reviewed-on: https://gerrit.libreoffice.org/52262 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2018-04-02drop the spurious invisible_char[_set] propertiesCaolán McNamara
Change-Id: I8264a4f6035fd19c7a892902c41127615eaf6dd3 Reviewed-on: https://gerrit.libreoffice.org/52265 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-01remove unused processfactory.hxx includesJochen Nitschke
and fix fallout Change-Id: Id06bf31f2075111e426ba40c84c885ae70697bee Reviewed-on: https://gerrit.libreoffice.org/52206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-03-31Added includes that are only used in DEBUG buildshimajin100000
Change-Id: I80f835ce31d44c1df32955fdc48f0accfb062747 Reviewed-on: https://gerrit.libreoffice.org/52162 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-21support both vcl and weld in genericunodialog for interimCaolán McNamara
Change-Id: Ife85dd7a4bd27260514b390ca3928152db0d688f Reviewed-on: https://gerrit.libreoffice.org/51699 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-20drop msgbox includeCaolán McNamara
Change-Id: Ic7872adf8a7e8e4a8e1503dd21e22ec69509efaf Reviewed-on: https://gerrit.libreoffice.org/51652 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-20drop unnecessary includesCaolán McNamara
Change-Id: I1a817d5575bbd57ecaa874a27158b9218e4210cc Reviewed-on: https://gerrit.libreoffice.org/51603 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-18unify the message dialogs with extra widgets casesCaolán McNamara
Change-Id: I9ad3573b15d24c3d1737b9f450792952ae20a31b Reviewed-on: https://gerrit.libreoffice.org/51476 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-15filedialog: use isGraphicObjectUniqueIdURL instead of constantTomaž Vajngerl
Change-Id: I54f5a1dae10219b3d6f06640488eded7f6840767 Reviewed-on: https://gerrit.libreoffice.org/51327 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>