summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2018-10-03loplugin:unusedmethodsNoel Grandin
Change-Id: I9e583df920657ab401162db79decb192c4f69f90 Reviewed-on: https://gerrit.libreoffice.org/61283 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-02tdf#120234 ignore all proxy windowsJan-Marek Glogowski
I thought just border windows can act as proxies, but this bug proves me wrong; also floating windows set mpClientWindow and may have an additional nested proxy border window. Interestingly proxies can have multiple children, which I tested with a temporary assertion I added!? So just ignore all proxy windows until we find a real one, And drop the assertion as it doesn't make sense any more. I'm just wondering why I always read Child instead of Client... Change-Id: I83a1a5743b434399aae361cb14058993ba60c83c Reviewed-on: https://gerrit.libreoffice.org/61196 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-02weld SvxNumOptionsTabPageCaolán McNamara
Change-Id: Ie2ae18b1722e91996887162b4a8ff02d2d812341 Reviewed-on: https://gerrit.libreoffice.org/61228 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-02Unify sal plugin loadersJan-Marek Glogowski
Change-Id: Ic099761eaff80349e985ccf62e3f4aa6b2e98022 Reviewed-on: https://gerrit.libreoffice.org/61103 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-02Implement MacOSX VCL backend as pluginJan-Marek Glogowski
Change-Id: Ie90af62eff146064c3b066a8f7ca1c3a69f44c39 Reviewed-on: https://gerrit.libreoffice.org/61102 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-02Implement Windows VCL backend as pluginJan-Marek Glogowski
Change-Id: If9c7c67f48311ac68ecc9f8e3a07f9bb7c73d962 Reviewed-on: https://gerrit.libreoffice.org/61101 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-02weld SvxLineTabDialogCaolán McNamara
Change-Id: Icb13a6eb2e8c6f6dbd3cf477051bc0bd682e2e7a Reviewed-on: https://gerrit.libreoffice.org/61193 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-01weld SvxLineTabPageCaolán McNamara
Change-Id: I91d7ec8a51ce935db40c57feeeed7b160cf4dad8 Reviewed-on: https://gerrit.libreoffice.org/61172 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-01pass menuitem ident around directly, instead of deriving from itemidCaolán McNamara
sidestepping the while duplicate itemids in separate submenus problem Change-Id: Icb57ac805f3c8c4fc3a68341e318375c6492cbb1 Reviewed-on: https://gerrit.libreoffice.org/61189 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-30weld SvxLineEndDefTabPageCaolán McNamara
Change-Id: I3e947511bbffae4cd48388b17a8fb9a13d453bab Reviewed-on: https://gerrit.libreoffice.org/61139 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-30weld SwTestAccountSettingsDialogCaolán McNamara
Change-Id: Idead8d63dc472403e15eb9adf3cb82467e4d6721 Reviewed-on: https://gerrit.libreoffice.org/61106 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-29tdf#120169 handle [combo|list]box can-focus speciallyCaolán McNamara
Change-Id: I93fec026079ac37993e48fac48d937a0a20e5b0f Reviewed-on: https://gerrit.libreoffice.org/61081 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-29Handle initial TabControl and border windowJan-Marek Glogowski
ImplGetSubChildWindow has special code to handle a TabControl and its pages. If the function finds a TabControl as a child it'll return its window and then recurse into the current page. This currently breaks in the case where the initial parent is a TabControl. where the function will walk all of the tab pages. The function also ignores border windows, but not if the initial parent is a border window. This patch correctly handles both cases and as a bonus drops all the special page handling during child iteration. Change-Id: Ie8699dae8d08628b66b33e0704237b9e219874bc Reviewed-on: https://gerrit.libreoffice.org/61037 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-09-28weld SvxNumberFormatTabPageCaolán McNamara
Change-Id: Ia6e6497d5c9b6c47e34e5cb5b3913d25e73c3a69 Reviewed-on: https://gerrit.libreoffice.org/60944 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-28gla11y: check element visibilityJan-Marek Glogowski
Add warnings for different visibility settings in the "label-for" and "labelled-by" elements. Sine LO doesn't support multiple annotations per accessibility element, we have to switch them manually, if we change the visibility of one element of a pair. Change-Id: I9b3d941248b804b8435591536277677e99b77340 Reviewed-on: https://gerrit.libreoffice.org/61050 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-09-28Move TabPage lookup into extra functionJan-Marek Glogowski
This way it's easier to read the follow up patch. Change-Id: I42e8f78b69b4ed2cb28bf0f36496eb751e8cb433 Reviewed-on: https://gerrit.libreoffice.org/61036 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-09-28Constify vcl::Window child lookupJan-Marek Glogowski
Also removes the function comments before the implementations, as these are just the same as already in the header. Change-Id: I11425dc4aa372423fcf469ab1374159ce8b180e2 Reviewed-on: https://gerrit.libreoffice.org/61035 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-09-28Guard against invalid statesSamuel Mehrbrodt
Happened while trying the qt5 a11y stuff that mpWindowImpl was invalid. Change-Id: Ibe238bdcce6410689b1e65f7f45f7b9deea06de7 Reviewed-on: https://gerrit.libreoffice.org/61032 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-09-27Do build cppunit for iOS, tooTor Lillqvist
I am writing a separate unit test app that will include selected existing unit tests that make sense and are important to run on iOS. Change-Id: I4722f1ed872ba21e181eeba5ed3b58e82d8fed72 Reviewed-on: https://gerrit.libreoffice.org/61049 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-09-27Fix typosAndrea Gelmini
Change-Id: Icfe120db02a70d43e4120d1f4cbb2704640d3990 Reviewed-on: https://gerrit.libreoffice.org/59470 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-09-27loplugin:methodcycles more graph theory for the winNoel Grandin
implemeent a reduction approach, which is good at finding virtual methods that only themselves or their virtual partners. The accessibility GetVisArea stuff is dead since commit 891e41fac81fbd8d5cdb277b26639abfd25a7143 Date: Wed Apr 4 11:23:22 2018 +0200 dead code in AccessibleTextHelper_Impl::UpdateVisibleChildren Change-Id: I78d9d8bca585ecec8394f2c3fe2baa93db0e58f5 Reviewed-on: https://gerrit.libreoffice.org/60912 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-26uitest: checking whether we have focus needs to be recursiveMarkus Mohrhard
Change-Id: Id18a56cdf5b23433178882a953fd85954c0ccc1c Reviewed-on: https://gerrit.libreoffice.org/61008 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins
2018-09-24Scheduler: add per-priority Task listsJan-Marek Glogowski
This way we don't have to search the whole list for a higher priority event, if an immediate Task is found. This probably helps bugs like tdf#119724 and tdf#119428. Change-Id: Ic5685193d1bedb6996cf46f0ee2cba42190ff7cc Reviewed-on: https://gerrit.libreoffice.org/60572 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-09-23loplugin:unusedmethodsNoel Grandin
Change-Id: I9dac9260af9955dc4a66b34c33265c6e36094322 Reviewed-on: https://gerrit.libreoffice.org/60911 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-21Support buffering SystemDependent GraphicDataArmin Le Grand
Started to make the buffering more flexible by adding virtual methods virtual sal_uInt32 getHoldCyclesInSeconds() const; virtual sal_Int64 estimateUsageInBytes() const; to class SystemDependentData. This will allow to add more sensitive buffering/caching. Also fine-tuned Linux-derived classes actively used for buffering to be more sensitive when and where to reuse the buffered data Change-Id: Ifc69c318ade0209aff071d76001869d9f4eeb10d Reviewed-on: https://gerrit.libreoffice.org/60881 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2018-09-21new loplugin:methodcyclesNoel Grandin
look for closed cycles of methods i.e. unused code that would not otherwise be found by the unusedmethods loplugin Change-Id: I3fb052132d97aabca573bb8e9fc424201b1e2042 Reviewed-on: https://gerrit.libreoffice.org/60875 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-21Change slightly mysterious comment into a SAL_WARN()Tor Lillqvist
No memory any more in what circumstances we might end up at this early return spot in this function. Is it an error or can it be intentional that the function is called like this, no idea. But now at least we use a SAL_WARN(). Change-Id: Iaa9c27b4104135d4d3d6787125c9c26004b861cb
2018-09-20Use slug instead of name to store PersonasMuhammet Kara
Persona names aren't necessarily unique, but the slug is a unique id (also called pretty name) for personas. It can also be directly used to retrieve/reach the original url of an installed persona. Change-Id: Ieb81671a0fd654a727063d00a4f78a3b5cb29cbd Reviewed-on: https://gerrit.libreoffice.org/60821 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@pardus.org.tr>
2018-09-20weld SwWrapTabPageCaolán McNamara
Change-Id: I76e4a8e557ae6c92ad16dc9b6cf88a6c6ca59e4e Reviewed-on: https://gerrit.libreoffice.org/60812 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-20tdf#119843 Use transformed polygon data when neededArmin Le Grand
Change-Id: I33cd8da925b9bf3d5b50a1c6ac43babedbe31d0a Reviewed-on: https://gerrit.libreoffice.org/60769 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-09-20weld SvxHyphenWordDialogCaolán McNamara
Change-Id: If92d57c5c807a7fc04fe66a748aa385c558be664 Reviewed-on: https://gerrit.libreoffice.org/60774 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-20use can-focus for TB_TABSTOP|WB_NOTABSTOP, not editableCaolán McNamara
Change-Id: I56e60b98151c5dfcf8148ddafb6224bed734d039 Reviewed-on: https://gerrit.libreoffice.org/60773 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-20weld BreakPointDialogCaolán McNamara
Change-Id: Icecef8b0b939c5d87bdf1bb781731df8fc4419b5 Reviewed-on: https://gerrit.libreoffice.org/60756 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-19weld TPGalleryThemeGeneralCaolán McNamara
Change-Id: Id5ec1b1282c039f30c40fc781be0f6d72a8bfb47 Reviewed-on: https://gerrit.libreoffice.org/60718 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-19loplugin:useuniqueptr in GetTTSimpleGlyphMetricsNoel Grandin
and only return the advance, we don't use the other field Change-Id: I956033dac97763caea2b27404fe9f099da809899 Reviewed-on: https://gerrit.libreoffice.org/60703 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-19use std::vector in PDFWriterImpl for encryption bufferNoel Grandin
instead of manual allocation and size field Change-Id: I969e1c23308b03a42585b3074b55ee848ca9c667 Reviewed-on: https://gerrit.libreoffice.org/60702 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-19loplugin:useuniqueptr in PDFWriterImpl::writeG4StreamNoel Grandin
Change-Id: I1a596162180f4aef40b88ee7eccc7b2af9ece608 Reviewed-on: https://gerrit.libreoffice.org/60701 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-18weld SvxTabulatorTabPageCaolán McNamara
Change-Id: Ife45f59e63309046e532fcb4377e66a887d11f34 Reviewed-on: https://gerrit.libreoffice.org/60504 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-18loplugin:unusedmethodsNoel Grandin
Change-Id: I5f63ac44654ed3fc658e72e0d1148a5a22decc47 Reviewed-on: https://gerrit.libreoffice.org/60662 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-18loplugin:unusedfields improve search for unused collection fieldsNoel Grandin
look for collection-like fields that are never added to, and are therefore effectively unused Change-Id: Id52c5500ea5e3d2436fb5915aebb86278bf2d925 Reviewed-on: https://gerrit.libreoffice.org/60661 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-18emboss filter brokenCaolán McNamara
since... commit 4b183ae94821ed6d08708b43e4d719ffb4540843 Author: Chris Sherlock <chris.sherlock79@gmail.com> Date: Fri Apr 20 21:00:46 2018 +1000 vcl: ImplEmbossGrey() -> BitmapEmbossGreyFilter Change-Id: I6e541e9ca9cf61dfa8df9638a4ba4b8bd1d3ad71 Reviewed-on: https://gerrit.libreoffice.org/53204 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Change-Id: If1a96d2165a3c003b9f3cb5a922d08c12156fd29 Reviewed-on: https://gerrit.libreoffice.org/60669 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-18Drop NSApplicationMain usageJan-Marek Glogowski
Allows to drop all the special SVMain handling introduced for MacOSX. This way LO can also be build via SSH, because gengal won't abort / fail because of the missing window system. Currently this just implements the global menu. I don't know what else is missing. Eventually we want to reimplement the Cocoa debug option forwarding (NSAccessibilityDebugLogLevel). Change-Id: I359c46fd03e2436a8a37fd211e59e4e305f8aba0 Reviewed-on: https://gerrit.libreoffice.org/60571 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-09-18Move yield mutex handling into SalInstanceJan-Marek Glogowski
After the refectoring in commit 4c93de2c921b ("merge GenericSolarMutex and SolarMutex"), there is no more need to prevent instantiation of comphelper::SolarMutex objects. Since every VCL backend implements the yield mutex management in the same way, we can move the general implementation into the SalInstance. While at it use std::unique_ptr for the yield mutex on Mac and Windows platforms. Change-Id: Ibe0610bd92b4623152ee14e7a35b52465d403720 Reviewed-on: https://gerrit.libreoffice.org/60570 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-09-17rename to weld::ComboBox are they are not text only nowCaolán McNamara
Change-Id: Ice26d1fd2ad97a6959c6916fef428777efea9c2d Reviewed-on: https://gerrit.libreoffice.org/60500 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-17loplugin:staticconstfield improvementsNoel Grandin
Change-Id: Ia0a19736dfd4500bb17b04c072710f8ee8744031 Reviewed-on: https://gerrit.libreoffice.org/60526 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-17add image support to weld::ComboBoxTextCaolán McNamara
Change-Id: Ie7f00ed4aef5318a525a526d0377bb7952bdd5a0 Reviewed-on: https://gerrit.libreoffice.org/60499 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
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-15add model support to ComboBox like ListBoxCaolán McNamara
Change-Id: I325650a8e95ea7eb426714f6ab8313dcec162e46 Reviewed-on: https://gerrit.libreoffice.org/60527 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-15Re-think cppu::throwException() and the C++/UNO bridge on iOSTor Lillqvist
It seems that on iOS, where we don't have any Java, Python, BASIC, or other scripting, the only thing that would use the C++/UNO bridge functionality that invokes codeSnippet() was cppu::throwException(). codeSnippet() is part of what corresponds to the code that uses run-time-generated machine code on other platforms. We can't generate code at run-time on iOS, that has been known forever. Instead we have used some manually written assembler to handle it instead. We used to have a Perl script to generate a set of code snippets for different cases, different numbers of parameters of the called function and whatnot, but that went away at some stage some year ago. (It is unclear whether that broke the C++/UNO bridge on iOS, or whether the stuff continued to work even after that.) Anyway, this handwritten assembly, or the manual construction of internal data structures for exceptions, or something else, seemed to have bit-rotten. Exceptions thrown with cppu::throwException() were not catchable properly any longer. Instead of digging in and trying to understand what is wrong, I chose another solution. It turns out that the number of types of exception objects thrown by cppu::throwException() is fairly small. During startup of the LibreOffice code, and loading of an .odt document, only one kind of exception is thrown this way... (The lovely css::ucb:InteractiveAugmentedIOException.) So we can simply have code that checks what the type of object being thrown is, and explicitgly throws such an object then with a normal C++ throw statement. Seems to work. Sadly the cppu::getCaughtException() API still needs some inline assembly in the C++/UNO brige. That seems to work though, knock on wood. This commit also adds a small "unit test" for iOS, copied from cppuhelperm to ImplSVMain(). Ideally we should not copy code around of course, but have a separate unit test app for iOS that would somehow include relevant unit tests from source files all over the place. Later. Change-Id: Ib6d9d5b6fb8cc684ec15c97a312ca2f720e87069 Reviewed-on: https://gerrit.libreoffice.org/60506 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-09-14weld SvxCharNamePageCaolán McNamara
Change-Id: Ia54a5ac4fe4a11b7c03508c336193bb52c616e7f