summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2018-05-15Resolves: tdf#117413 char doubling appearing under X with gtk3Caolán McNamara2-16/+22
like happened on gtk2, so make the rhbz#1283420 bodge happen for XLIB surfaces, regardless of the backend Change-Id: Ic51679a71523e8cc76832858411b102d915638cf Reviewed-on: https://gerrit.libreoffice.org/53897 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jean-Baptiste Faure <jbfaure@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 17e7bd5e17e3393c44c76b7c69d47ad112e5efa6)
2018-05-15tdf#109143 PDF export: don't reuse compressed bitmaps for cropped imagesMiklos Vajna3-3/+51
PDF wants to loose the pixels masked out by cropping, so the "reuse original compressed image" optimization should not be used in that case. (cherry picked from commit be3ef7b0e5e51c1d97309ce3b6d5cac1fbd025d0) Conflicts: vcl/source/gdi/pdfextoutdevdata.cxx Change-Id: Ifdf2cc4ff6bff0ed456a2159395314817c1cf417 Reviewed-on: https://gerrit.libreoffice.org/53772 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit e0ae55f7cefe74039f8ade1696d1861e90d73c04)
2018-05-15tdf#116365 vcl opengl: respect max texture size when creating texturesMiklos Vajna1-0/+9
I can't reproduce the crash, but the image in the bugdoc is a large one (23100 x 1364 pixels) and it was black for me. It's rendered correctly now. (cherry picked from commit a3cbd06872b2f9ee9253e5879f590ff1b9eaf365) Change-Id: I72c395af12ef88cf1352602492b84e1dcd04ed14 Reviewed-on: https://gerrit.libreoffice.org/53771 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 443b2e6359955b107ba951636b2491b9444d0fee)
2018-05-15Resolves: tdf#116951 rhbz#1569331 start is G_MAXINTCaolán McNamara2-4/+16
and text is nullptr, seeing as an end G_MAXINT translates to str len, assume the same for start Reviewed-on: https://gerrit.libreoffice.org/53376 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 697ebd15d646e41bb69726f7b438ebbfaff141b0) Related: tdf#116951 rhbz#1569331 end should be in terms of unicode chars not bytes Reviewed-on: https://gerrit.libreoffice.org/53175 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit d4a01820ae094ef2d4ec2196334120600b1c9621) Change-Id: I05114019abb6c283586cd5c23ed1d148c9cf71d3 Reviewed-on: https://gerrit.libreoffice.org/53176 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit f7d8a6ffae387a2698b07a8841e09ca3ed0bb000)
2018-05-15tdf#95843: Wait for fire_glxtest_process also in --headless modeStephan Bergmann2-0/+18
Discussed with mmeeks on IRC that fire_glxtest_process is probably called as early as possible so that its reuslt is ready by the time it is needed in the non-headless case. So best fix for headless is probably to just wait for the sub-process at an opportune point, instead of redesigning the whole mess so that fire_glxtest_process would only be called once its result is actually needed. Change-Id: I4ea9c9d54b83c9695a3b72317e68fed0c410da0e Reviewed-on: https://gerrit.libreoffice.org/53154 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 4bacf58f4af44ac8c4632b43289ccfcc07e5820c) Reviewed-on: https://gerrit.libreoffice.org/53170 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 6839b7714b80cf28614dcd793edcdeb70dc6ed5f)
2018-04-23Related: rhbz#1396729 use cairo_surface_create_similarCaolán McNamara7-31/+55
where we can Change-Id: If6fd729a9cbf834faef33586b5bd886aad2fbe1d Reviewed-on: https://gerrit.libreoffice.org/52726 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit b524de950c6eb0bc61d05d41fe69b67ab59b16c6) cairo_surface_create_similar_image is >= cairo 1.12.0 (cherry picked from commit 2ca4b505b25e13c9f422c28252f5b7533b8e3270) Change-Id: I1805e5680beff6c632016686aa661efe25a8c2f8 Reviewed-on: https://gerrit.libreoffice.org/53021 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 28f2941680f850e88228e45699ac612ce036cf16)
2018-04-23vcl: WNT: *really* avoid calling SHAddToRecentDocs() from unit testsMichael Stahl1-0/+3
On Windows 10, Explorer spends ridiculous amounts of CPU with updating its recent documents view while tests are running. (cherry picked from commit 94c264859f621e8e7c793fad2beb6528659433bf) It's much better to check IsHeadlessMode anyway because that is set in more situations, and if you run soffice --headless you probably don't want the corresponding files to show up in Explorer's Recently list. (cherry picked from commit b07e8a7e16ba69e822a309ec280d1987f90021a3) Change-Id: I8ada3659d05c94d072ba30859090e835a595e9ea Reviewed-on: https://gerrit.libreoffice.org/53115 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit c18be7816a253bb03675f74df38b41a999a02952)
2018-04-23tdf#113197 Add MaskPrimitive (clip) to EMF/WMF if neededArmin Le Grand1-5/+27
Added code to quartz vcl implementation that takes care when BitmapPalette.count != (depth^^2)-1 - which may be the case anytime. If then a bitmap value exists that goes beyond that count, a invalid access was executed Change-Id: Iab332c91b8753aab85e9d365323f5c9e531efab2 Reviewed-on: https://gerrit.libreoffice.org/44058 Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/53085 Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> (cherry picked from commit 6e591f06e39c69c270c8c01e9ed138d315720624)
2018-04-23tdf#117033 - Tooltips show the wrong symbol for MOD3 combinationsheiko tietze1-6/+6
Symbol for MOD3 added Change-Id: Idb76199fbff240fe39c96ed837db098a4283d70b Reviewed-on: https://gerrit.libreoffice.org/52957 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit e422efcaff1bf789343a73a16e46b00f303e3032) Reviewed-on: https://gerrit.libreoffice.org/53015 Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com> (cherry picked from commit 54473bec1f419773dd0a44c3ed2754b7f7f7e840)
2018-04-17tdf#116563: floating windows must get input focus at some pointKatarina Behrens1-9/+5
This partially reverts commit bb6a8dce405bd0f and means we need a different solution for tdf#48300 on X11-based Linux frontends. Send _NET_ACTIVE_WINDOW signal only if we want to activate window that has been minimized (ToTopFlags::RestoreWhenMin) or covered by other windows (ToTopFlags::ForegroundTask). Change-Id: I529baf6cc1174728b54bae4c658cf95631da19d6 Reviewed-on: https://gerrit.libreoffice.org/51867 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 0db4e7f60c92313327ae5b1e4307ed4fedfaa6f5) Reviewed-on: https://gerrit.libreoffice.org/52378 Tested-by: Xisco Faulí <xiscofauli@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit a7e8fa20d8c1a529ef3cd7f69d3afa2e06412800)
2018-04-12Avoid crash-reporter crash.Michael Meeks1-5/+10
http://crashreport.libreoffice.org/stats/crash_details/f5086a7d-3c67-46e4-945e-e0882a604eee Change-Id: Ic9ceed2e736a4ad1c155a31d3b2dc453e6a562aa Reviewed-on: https://gerrit.libreoffice.org/52119 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/52516 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit f4082279078b59f0960d6683d0d039756354eccd)
2018-04-12ofz#7165 set a recursion limit for svm in svmCaolán McNamara3-6/+38
Change-Id: Id9089986012588690b6d5e33cd71d094ef2357dd Reviewed-on: https://gerrit.libreoffice.org/51983 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 2e82188ff824f9d9f1cf7161f882ff7f3d227e7f)
2018-04-05If the function is in mergelib, store mergelib moduleMike Kaganski1-19/+29
Regression from commit 707f787cd991f9c59712cd3020d127d09605c792 It didn't ensure that we store mergelib when required, thus still trying to get function from stubs and failing (with mergelibs enabled), leading to SEGFAULT later. Change-Id: Ib15528795f3d65b1ae5c31be2aa5284ce5ff04cf Reviewed-on: https://gerrit.libreoffice.org/52428 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/52453
2018-03-28lok: 14pt font is too large for the context menus.Jan Holesovsky1-0/+3
Change-Id: I8403b2bea81e61c4fa24ed205b8d2c77a235238b Reviewed-on: https://gerrit.libreoffice.org/51438 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 8e98b3150f7ac0b569b686dd67f4699b307b30f8) Reviewed-on: https://gerrit.libreoffice.org/51439 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 2dd2d2fd9924e50c5b68c8942c26bf8a07fa2bf0)
2018-03-28cid#1430098: mbInSyncExecute is uninitializedPranav Kant1-0/+1
Change-Id: Id5288ce8680b121522c1e35edc52ef24be4ead8b (cherry picked from commit 7be3dfa4b4705725be4987beeb79dbe5f6a4edae)
2018-03-27lok: update main threadHenry Castro4-0/+16
In the pre-initialization phase of the tiled rendering case the SvpSalInstance is created in a different process and when a new process is created (fork), the main thread identifier does not match so it is required to update it. Change-Id: I189e53f0b46c60f34a8016222079c9b1e2b3fef8 Reviewed-on: https://gerrit.libreoffice.org/50477 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com>
2018-03-27vcl: fix hangs in SvpSalInstanceMichael Stahl7-80/+260
Since commit cb8bfa9a32799bcde4e960fa56e388d5f7b2a928 the main thread will read from the timer pipe until it is empty. But evidently this introduces the problem that the poll() in another thread will not return, as the file descriptor will no longer be readable; see https://paste.debian.net/1011306/ for a reproducer of that rather under-documented poll behaviour. So other threads can get stuck forever in poll, and then the main thread can block in poll too with no other thread to wake it up. This is the problem that plagues UITest_writerperfect_epubexport. The timer pipe is difficult to fix, since the main thread can block on either the poll or the subsequent AcquireYieldMutex(). So replace the timer pipe with a condition etc. that is mostly copied from the OSX AquaSalInstance/SalYieldMutex implementation. The main thread now does something different than the other threads, and blocks on a condition_variable with a timeout, while other threads still block on acquiring the mutex. Non-main threads can poke the main thread to do a DoYield() on their behalf, and then get the result back with a blocking read from a pipe, all while holding the YieldMutex. This requires some fudging of the YieldMutex so that the main thread can borrow the ownership temporarily. Unfortunately SvpSalInstance, in addition to being directly instantiable for --headless, has a whole bunch of subclasses: * HeadlessSalInstance * AndroidSalInstance * IosSalInstance * GtkInstance (in the gtk3 case) * KDE5SalInstance Of these GtkInstance overrides everything related to the DoYield/SalYieldMutex implementation, but the others will be affected by the change. This commit will probably break IOS due to me not understanding the point of the undocumented random #ifdef IOS in svpinst.cxx. Change-Id: I1bbb143952dda89579e97ac32cd147e5b987573c Reviewed-on: https://gerrit.libreoffice.org/50237 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-03-27lokdialog: Invalidate upon window size changePranav Kant1-0/+6
This problem can be seen with some of the dialogs like chart dialogs where not all of the area which should be invalidated is invalidated. The reason being that their container gets resized but not lok-invalidated. Change-Id: I12eb68e8644ca67b2666badb7b772b92a145c624 Reviewed-on: https://gerrit.libreoffice.org/51264 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit b2428496de5cd579f4cdb0f149e2cebb8b12dd4d)
2018-03-27lokdialog: Tunnel the spell-checking context menu with recommendations.Jan Holesovsky1-1/+8
Change-Id: I1a7952e88a3f89346c97d2516628b4a7a0423de6 Reviewed-on: https://gerrit.libreoffice.org/51062 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/51166 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 8938e8b153f32f3f5926baddb87cb76c8e72755a)
2018-03-27lokdialog: For floating menus, ignore the screen size in the LOK case.Jan Holesovsky1-4/+10
Change-Id: I85f6fcbc865eba7aac48a4c2e7d8c4bb82311581 Reviewed-on: https://gerrit.libreoffice.org/51063 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/51165 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 194fb89ba76837a93ae2af460a5e592bb7b5f21b)
2018-03-27Blind fix for MERGELIBS buildEike Rathke1-3/+3
It's g_aMergedLib instead of g_aMergedLibs, and osl::Module is not a unique_ptr or somesuch.. commit 707f787cd991f9c59712cd3020d127d09605c792 AuthorDate: Sun Feb 11 00:01:44 2018 +0100 CommitDate: Mon Feb 12 22:27:55 2018 +0100 Change-Id: I1f0266d189546dfe3b0d9eb449c878daebbf0da6 (cherry picked from commit adff6293ce22d84e5a380aa649e7d0f0ffdc4d80)
2018-03-26lok: enable pre-loading with Vcl's builderMichael Meeks1-17/+56
Cache vclbuilder's loaded modules globally & simplify logic. Pre-populate that cache on preload for LOK vs. a somewhat inelegant pre-canned list of dialog libraries. Change-Id: I86d936862a41495fd37908f3ee7eb2e0c363d651
2018-03-26tdf#115117: Fix PDF ToUnicode CMAP for ligaturesKhaled Hosny6-38/+277
Move the glyph to character(s) mapping to CommonSalLayout where we have enough information to do this properly. This correctly handles ligatures at end of run that wasn’t handled before, and also fixes a bug in the PDF writer code when there is more than one ligature in the run (it forgot to clear aCodeUnitsPerGlyph vector after each iteration). Also drop the “temporary” fix for rotated glyph from 2009 that does not seem to be needed now (the document from that bug exports correctly after this change). Change-Id: I5b5b1f4470bbd0ef05cbbc86dfa29d2ff51249ea Reviewed-on: https://gerrit.libreoffice.org/51617 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit b94a66ebc8db6c5ca9c7dcfdfbb06b49deae4939) Reviewed-on: https://gerrit.libreoffice.org/51715 (cherry picked from commit 90fb652ebbc4b16ae5001140076f52209e913345)
2018-03-26tdf#115420 fix DC usecount and drop wrong assertsJan-Marek Glogowski4-17/+8
For DC initialization we check the thread ID to assign a normal or cached DC to the corresponding WinSalGraphics variable. The cached DC has a usage count, as there are some limits on cached DCs count (DCX_CACHE). But for the WinSalGraphics DC init and release the variable just matters for the accounting, and generally which thread is doing the calls: the non-main thread always has to relay them to the main application thread. Since we're releasing all WinSalGraphics in ~WinSalFrame and do all release and re-init in ImplSetParentFrame, there is no way to correspond the thread ID to the WinSalGraphics variable. So this drops the wrong assertions based on the WinSalGraphics variables and renames the GETDC message to GETCACHEDDC to make usage of a cached DC (DCX_CACHE) more obvious. As a consequence of the different release DC handling this also fixes the accounting of the cached DCs, wich was broken in the initial fix; commit c15ea73f960bbd3d2a4b0c43b467ac62eeba3505 Change-Id: I11ce52a1b4005f26567f92588437fa37bf227a2e Reviewed-on: https://gerrit.libreoffice.org/51318 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 8939cb9456ee76a848cc8089747f280751092cf8) Reviewed-on: https://gerrit.libreoffice.org/51549 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 8e870ea9b828166b89a5c3f6c4f060bde6082f26)
2018-03-26rhbz#1392145 ensure titlebar close button matches 'outside' directionCaolán McNamara3-2/+34
Change-Id: I20e925c58adb56acd4d1a63720d330c8b6613441 Reviewed-on: https://gerrit.libreoffice.org/51434 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 029ba7ac94d517143af5166df4e2dcb58b350443)
2018-03-26lokdialog: Fix cursor invalidates for some vcl controlsPranav Kant1-3/+1
... like TextEdit, etc. The problem was that the code assumed that there would be a mpData->mpWindow whenever a new cursor position is set. While that's the case with most views, some controls set the position when there's no window set. With this patch, we send the cursor_invalidate just before we make the cursor visible; by that time, we already have a valid mpWindow set in the ImplCursorData. Change-Id: I2cb40ae150e4d7555f17ebbb8e08c04fc05f447b Reviewed-on: https://gerrit.libreoffice.org/50834 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 843f8e43e1e79bbd22cadabb54022c615c7a0d64)
2018-03-25vcl: improve ErrCode std::ostream pretty-printerMiklos Vajna1-1/+1
Let's say you specify a non-existing export filter during conversion. Old output: Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///test.html> failed: 0x81a(Error Area:Io Class:Parameter Code:2074)) New output: Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///test.html> failed: 0x81a(Error Area:Io Class:Parameter Code:26)) The later (at least) allows going to include/vcl/errcode.hxx, searching for Io.*Parameter.*26, and leads to ERRCODE_IO_INVALIDPARAMETER. Change-Id: Iecfcfa4e805147131fde73cc0b89fa38f6ea61d4 Reviewed-on: https://gerrit.libreoffice.org/50421 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 905d9b81c933b46d0502f982aad1c2931fae0426)
2018-03-25lok: mouse pointer events on document windows onlyPranav Kant3-1/+12
Change-Id: Ie21db52b2dd0d4f55289896caba5174380316e65 (cherry picked from commit 54a8c0e115b24d42f4b4ec6b8194f5b62e08201b)
2018-03-25lok sc: Post mouse events to main threadPranav Kant1-0/+17
Reviewed-on: https://gerrit.libreoffice.org/50253 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit f48c0d09990e9fa59d1d5f2d1d6e013feedb92d3) Change-Id: I1311938d7c01d0e3bfd239743e6cb2148da56cdf
2018-03-25sc lok: Make the Validation "Invalid value." message box working.Jan Holesovsky1-0/+1
Change-Id: Ic0131fa6fc397ae440efed834266b8396aa9e619 Reviewed-on: https://gerrit.libreoffice.org/50160 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit b8d5061f54408960177992d0f4be312b7d123167)
2018-03-25tdf#115353 layout fixTamas Bunth1-2/+2
Change-Id: I085b330e6539adb8b924f4d7f4cd10fb593a0da6 Reviewed-on: https://gerrit.libreoffice.org/50257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Bunth <btomi96@gmail.com> (cherry picked from commit 8d42909cd326cb26d8ba1fb383b5578f820c72ed)
2018-03-25lokdialog: Allow Execute()ing first, silently cancels othersPranav Kant1-5/+21
We want to be able to detect which dialogs are important and need to be converted to async while not completely disallowing them. Allow only first instance of such dialogs being Execute()d and warn when another such instance tries to Execute(). Change-Id: I6742784fa95d9e3f9ff87ece294126d390ae9e9e Reviewed-on: https://gerrit.libreoffice.org/50092 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 391660de4125da06775f7d94ef352da3926c115f)
2018-03-25Bin useless codePranav Kant1-2/+0
Change-Id: Id3ffa2333946a9551da9d0f9ecbd2885716b9376 Reviewed-on: https://gerrit.libreoffice.org/50102 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit ddbb78caa78085673b07dbea6f53288ec6237764)
2018-03-25tdf#115892: properly get the box' saved valueMike Kaganski1-45/+32
Previously textual value like "10,5 pt" was converted to int as simply 10 (multiplied by 10, it became 100), which compared as different from unchanged value of 105. This made the fractional values to be treated as always changed. This patch uses the same code to convert saved value as is used for current edit box value. Reviewed-on: https://gerrit.libreoffice.org/50066 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit f00e891f3369f7b8c2532634d9ff4ab19da17c33) Change-Id: I09a84a6bf33b17e0192b79b31af21ef14d7e9c63
2018-03-25lok IME: underline characters which are being composedPranav Kant1-1/+1
Change-Id: Ibfc35f1668228400f37ec9b0b0350583483f484d (cherry picked from commit 05e4ce8643cc4cba6e86779af162caf79c2c7bf3)
2018-03-25lok IME: support dialogs as wellPranav Kant1-1/+7
Change-Id: Ic78da45dadaa5a4e1ca78e20d04974108581121e Reviewed-on: https://gerrit.libreoffice.org/49714 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 712540224d7c5c8cdb4a5214e2d7963a314c1928)
2018-03-25tdf#94341: Set child transparent mode for ToolBoxMike Kaganski2-8/+15
Push buttons don't rely on their parent's child transparent mode since i#38498. This allows buttons to have proper transparency mode, despite toolboxes don't set their children transparency mode at all (even being transparent themselves). However, when other controls are placed to toolboxes, as FixedText, they check parent's child transparent mode, and then use parent's background for them. For transparent toolboxes this makes the background to be NONE, and thus on invalidation of such FixedText, neither parent's area, nor FixedText's is filled to remove previous text before outputting new text. This patch sets ToolBox child transparent mode depending on its own transparency. Also, FixedText now checks if background applied in ApplySettings is empty, and if it is, sets transparency mode despite parent's setting. Change-Id: Id424cbad894bb42a88a4b027f2a964d6e542f115 Reviewed-on: https://gerrit.libreoffice.org/49621 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 179fbaf3687fc40d75a2570639191f797f03ce4e)
2018-03-25tdf#115353 tdf#114743 Use first valid glyphTamas Bunth1-9/+21
in AdjustLayout. Change-Id: Iaa9a0cde2bd35fed5cbc9ebf0690341812679b6f Reviewed-on: https://gerrit.libreoffice.org/49541 Reviewed-by: Tamás Bunth <btomi96@gmail.com> Tested-by: Tamás Bunth <btomi96@gmail.com> (cherry picked from commit e3546db362e9dfed94572d164359a0fc1eae742f)
2018-03-25lokdialog: Render non-pixel based preview windowsTamás Zolnai1-7/+42
PaintToDevice() method was designed for pixel based windows, now I added some scaling to handle different units. Change-Id: Id242c44101c1e842409ba3a9b13291e48bdd44ca Reviewed-on: https://gerrit.libreoffice.org/49543 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit d6a2dc03806c4e7c0be8e4f2aee272f036f4765e)
2018-03-25lokdialog: Handle dialog items' invalidation in generalTamás Zolnai2-19/+7
Change-Id: Ib7b178fe97964bc5fd6ac173a143ba8ba089e237 Reviewed-on: https://gerrit.libreoffice.org/49240 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit b33287cde2d270d83e2658529be768a99dba98f0)
2018-03-25sw lok: IME support + unit testPranav Kant1-1/+19
Change-Id: I557493db23dfa3529606050c86161628dbd722e7 Reviewed-on: https://gerrit.libreoffice.org/49354 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 7f9f58f3a304733f7089719a5a65eef8c68c2b8d)
2018-03-25tdf#114736 no need to call AdjustLayout hereTamas Bunth1-2/+0
Change-Id: Iae8c953155d46e53cffdf3483e3b4b95157719f6 Reviewed-on: https://gerrit.libreoffice.org/48761 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Bunth <btomi96@gmail.com> (cherry picked from commit 9b5730f92967b6a8f4fce349bcd951f388b940df)
2018-03-25lokdialog: Don't leak tooltip text window through tunnelling f/wPranav Kant1-0/+4
Change-Id: I0491c86fdb1511ee4841aa670428c78aba24b8d0 (cherry picked from commit 3dcf50fb383ebd8c38b1b931e41e3985adcc9bed)
2018-03-25lokdialog: Call LOK invalidate explicitly herePranav Kant1-0/+1
In some cases, Window::Update is called directly by the child classes. This is not good for LOK clients because they rely on 'invalidate' callbacks for painting the window. Change-Id: I05402d7597841c96a25b7f5ac4cc60dda6ec5a16 (cherry picked from commit a39cefd99c40f121b60c882dba6000894b6996d9)
2018-03-23lokdialog: Fix incorrect dialog sizes sent to clientPranav Kant1-3/+2
GetSizePixel triggers pending resize handler and gives more correct sizes than GetOptimalSize(). Some of the dialog with inconsistencies in sizes like EditStyle, Manage Changes, etc. are fixed with this patch. Change-Id: I0661b7d2e98233edf0cd2c9c525b271d0724da08 (cherry picked from commit 668deca97d8dd049bb17b6d8b73c4ea73f7b8b9c)
2018-03-22lok dialog: enable MessageDialog tunnelingHenry Castro2-9/+47
Reviewed-on: https://gerrit.libreoffice.org/47772 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 072e3ce1cfea5bb61cc5f3001c288df6deb45613) Change-Id: I05b270a19e29c5ed3a2482fd8163e61e66bfdf74
2018-03-22The CT prefix is used by the CoreText APITor Lillqvist2-9/+8
Surely we should not be using it for our own things in our Quartz code, that is misleading. Also bin a silly typedef. Change-Id: Ie932e8784128246ca449608aad3dc96a575ec9d5 (cherry picked from commit 43836528f445061d622b8edc7773ee40798d3a59)
2018-03-21vcl: No need for a double-linked list of dialogs in Execute().Jan Holesovsky5-64/+45
Instead use a simple vector. Change-Id: I50652468cf06ba681d5caccb74a52b32c6c507a0 Reviewed-on: https://gerrit.libreoffice.org/47910 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 1a156644e27a380daed217707a9cff9319f70a49)
2018-03-21lokdialog: Allow closing the Format Cell dialogs in any order.Jan Holesovsky3-33/+78
Includes also lots of infrastructural changes, making the conversion of the rest of the dialogs much easier. StartExecuteAsync should be used in-place of StartExecuteModal and the latter removed from the code-base incrementally. More common code from Dialog::Execute should be moved to ImplStartExecuteModal in a next step, as this is used more widely. Reviewed-on: https://gerrit.libreoffice.org/47722 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit c40dfabd56ade10fe35690dc9810955c2e99e2c0) Change-Id: Idb2c1ec790e38f582438471a0419a56cdcf1439d
2018-03-21vcl: mask must alwasy be argb32 even when we can use rgb24Ashod Nakashian1-4/+17
Change-Id: I932669fc5ead7de60561d769dd21d2c35c1f957d Reviewed-on: https://gerrit.libreoffice.org/47564 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit acb43c0b8efbfb841e7b40603d75a8432eb21f21)