summaryrefslogtreecommitdiff
path: root/sc
AgeCommit message (Collapse)Author
2016-10-10Resolves tdf#100709 Optimize SheetDataBuffer::addColXfStyleMaarten Bosmans
The insertion of RowRanges into the sorted set was done by iterating through the set until the correct insertion point was found. By using set.lower_bound(), the complexity goes from O(N) to (log N) for a single insert. Regarding tdf#100709: the import time for the attached example document reduces by 12x. Change-Id: Ifb03d58a0e46a936ab61a5f0b512e956c87e5e2b Reviewed-on: https://gerrit.libreoffice.org/28510 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 4a63c145dcce8411c5707f6b99877cc87a4f6c5d)
2016-10-10Related: tdf#100709 Fix two bugs in SheetDataBuffer::addColXfStyleMaarten Bosmans
The addColXfStyle method is supposed to add a formatId to all the cells in a specified CellRange where there is no previously set formatId in the maStylesPerColumn member variable. There where two bugs in this function: - If there is overlap between the row ranges already in maStylesPerColumnBB and the given RowRange, it should be updated to only cover non-overlapping cells. - In the case when the given CellRange spans multiple columns, the RowRange should be applied to all these columns. When the row range given to this method is changed because of earlier set RowRanges in maStylesPerColumn[nCol], the RowRange was not reset to the given method argument for a new column. Change-Id: I4244c4303ca983801c5116cbd26971dd641411ab Reviewed-on: https://gerrit.libreoffice.org/28509 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit d16070a30d421098faedd51c4333d1d42163268f)
2016-10-10sc-perf: avoid second call to ScAttrArray::Search(), tdf#87101 relatedEike Rathke
In that scenario, of 36791233 calls only 9217 were necessary as most times nRow2 equals nRow1. Change-Id: I14228d065175addee76b9142c98110efe59701e7 (cherry picked from commit e439058541cd02937cf43f399fef8767bd3d4996)
2016-10-10sc-perf: remove one more unnecessary call to TrackFormulas()Eike Rathke
... when leaving bulk broadcast. (cherry picked from commit b325f332409ec72d8c5906c64d635e9f083ebfdd) Change-Id: I3d456094ecc7759ed3e58af7901d544126c30b27
2016-10-10sc-perf: avoid repeated TrackFormulas() during bulk broadcast, tdf#87101 rel.Eike Rathke
Multiple callers involved. Most significantly ScDocument::Broadcast() calls ScDocument::TrackFormulas() individually. Track/collect pending formula cells at the end of the bulk broadcast instead, which gives an instructions read speedup by factor 6 for the broadcast, and an overall speedup in the scenario for inserting the rows by factor ~2 wall clock time. ScDocument::InsertRows() Before, Ir Incl: 282,227,033,656 After, Ir Incl: 66,307,994,805 With cycle detection: ScDocument::TrackFormulas() Before: Ir Incl Ir Self 66,981,644,959 11,913,444,899 After: Ir Incl Ir Self 10,819,556,073 1,973,232,494 (cherry picked from commit 5c841052abdf082b4cbe06784cfdd76f11fafef2) Change-Id: I85fe8b03ecb52cffaa6fa14354b3cc3467ecc111
2016-10-10sc-perf: tdf#87101 add bulk scope for BroadcastRecalcOnRefMove() callsEike Rathke
Bulk scope prevents repeated broadcast/notify/track cycles of identical areas during mass broadcasts. Brings insertion time of tdf#87101 bugdoc from 3min30 down to 2min30 Change-Id: I360fd52b622a8a327cdede47ed398260b7e8b4f6 (cherry picked from commit 60d0b992ea3a910be79ae4a8e8b0bb32a358b18a)
2016-10-10sc-perf: tdf#79023 do not call SvNumberFormatter also for numbers in OOXMLEike Rathke
Change-Id: Ib565687bff2205da0213f6d523dd2bc42c96ad47 (cherry picked from commit a8a8ff59c5749bbe1f2f58ea8fd42d66e6ae2a81)
2016-10-10sc-perf: tdf#79023 for ODFF do not call SvNumberFormatter to determine numericEike Rathke
Speedup of this particular function and callees by factor 33 ... 1000 calls for =12345.6789 and =123.456 alternating: Before: Ir Irpc Callee 9859177 9859 ScCompiler::IsValue 6246858 6246 SvNumberFormatter::IsNumberFormat 3496261 3496 SvNumberFormatter::GetStandardIndex After: 298000 298 ScCompiler::IsValue 248000 248 rtl_math_uStringToDouble Change-Id: I36eac8c5fe1b1cbf34dfb480c9e7ca6607769364 (cherry picked from commit 73c7e0921d752df53004ed55735f3e8888cc592f)
2016-10-10tdf#100946 Fix width calculation and add customWidth support (.xlsx)Bartosz Kosiorek
On some MS Excel version (OS X), the column "width" is not applied, if "customWidth" key (in "col") is not set to "true". It means that in case of .xlsx files, exported by LibreOffice, all columns have default width. To resolve that "customWidth" key was added during export into .xlsx file format. During development it appears that Default Column Width is wrongly calculated, and it was done not according to MS documentation. This issue was also fixed. After fix default column width is properly set. MS documentation: https://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.column.aspx (cherry picked from commit 40d892a2db4d750aaf0562c63004e693c028273c) Change-Id: I0d1944081a5ea445d1e4284db62e9b4d504bf1c0
2016-10-10tdf#70565 Set correct default values to "0" of xfId attributeBartosz Kosiorek
When xfId is not exist during .xlsx import it must have values set to "0". It is not impacts spreadsheets created with MS Excel, as xfId attribute is always created during export to .xlsx Not setting "0" value is causing wrong .xlsx import by LibreOffice, for spreadsheets created by external applications (ex. SAP BI). Reviewed-on: https://gerrit.libreoffice.org/28069 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit 9b9bcef5ef1858c63c8708bfae2ecea3d398eeb8) Change-Id: Ia4986236d5e902d0ff6f7a7a8da8f142b2c5061f
2016-10-10tdf#93967 - better fix for leak around calc header-footer UNO objectsMarkus Mohrhard
Change-Id: I950479e8e1c634aa9ad13bf3e0e9d24485a1e6b2 (cherry picked from commit 052f98d0b1a6b0607069f0a50d4e03fcd4a1d52a)
2016-10-10support TargetFrame in url field import/export code, tdf#77873Markus Mohrhard
Change-Id: Id09ecbd10b8ee60371f223d62f2dd6fe1c2296ca Reviewed-on: https://gerrit.libreoffice.org/29459 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit b11ad787372c4b833cc58a3738e375af26309b8d) Reviewed-on: https://gerrit.libreoffice.org/29482 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 0d60b0dc1208b01b659fd1af4b33d1a7f6ee737d)
2016-10-10tdf#101910, mark ScRangeList updated when DeleteArea was usedMarkus Mohrhard
Change-Id: I98390b28c5a1bbbd391ff054b2f574951c7c00c4 Reviewed-on: https://gerrit.libreoffice.org/29422 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 5f658dc87794036182aa1f8586d82c5ee997cd8b) Reviewed-on: https://gerrit.libreoffice.org/29425 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit ab80caf6359ac1bcf95b113b6c3b543dee0ed105)
2016-10-10tdf#99386, broadcast that cell content changed after merge cells undo/redoMarkus Mohrhard
Change-Id: Idf41d1b07e26af66d9eefd18e5d5b582edc205e9 Reviewed-on: https://gerrit.libreoffice.org/29370 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit f6f213bed507d1d7547f6098a67b6e460d46bce6) Reviewed-on: https://gerrit.libreoffice.org/29377 Reviewed-by: jan iversen <jani@documentfoundation.org> (cherry picked from commit 47d1aa87cbe8390f9c6190b13733f8c1fd240e30)
2016-10-10Resolves: tdf#101711 revert attempt to drop unused bg imagesCaolán McNamara
for 5-2/5-1 simply revert the effort Revert "Related: rhbz#1353069 don't clear XATTR_FILL* from stylesheet if..." This reverts commit 19c191a0a92b6ae9ca86aa4ee7afb887fd42a209. Revert "Resolves: rhbz#1353069 don't clear XATTR_FILL* from stylesheet if..." This reverts commit fad4d7877ac8d04ab82e8acd21205f315d6eab1f. Revert "rhbz#1326602 avoid exp. bg bitmaps from deleted slides" This reverts commit fd45334b49c09538598f82f5ffa2f61f6bdd9d24. Change-Id: I591083b6b1d7b08316ee24c0788386799d01724b Reviewed-on: https://gerrit.libreoffice.org/29491 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> (cherry picked from commit 8127ac5412b0af8ed7985e07ab11b3241a4e659e)
2016-10-09LOK: Calc: in the numeric content case, the used alignment can be wrongMarco Cecchetti
-description: in the numeric content case, the used horizontal alignment can be wrong when input content goes further than the cell border; - reason: (very odd) bMoveArea and nEditAdjust are global variables in viewdata.cxx instead of being data members of ScViewdata; - solution: now bMoveArea and nEditAdjust are data members of ScViewdata. Change-Id: I58a4ec26ca290fd328ef28a92c3c590462c7231a Reviewed-on: https://gerrit.libreoffice.org/29628 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-10-09LOK: Calc: an edit view may be not displayed when a 2nd one is killedMarco Cecchetti
- description: when in view #1 text editing of a cell is over (edit view killed) a cell still text edited in view #2 can stop to be painted correctly; - reason: when an edit view is killed an ScTabViewShell::UpdateFormulas is broadcasted to all views which in turn ends by invoking ScViewData::SetEditEngine for already existent edit views: if the needed output area size for the actual text content is less then the actual output area size (once grown, output area is never shrunk) leads to this issue; - solution: skip to invoke ScViewData::SetEditEngine when LOK is active and the related view is not the current view. Change-Id: I2a97966c7c04701f0a5443aaaeb74760b622045d Reviewed-on: https://gerrit.libreoffice.org/29627 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-10-09LOK: Calc: if text of 2 cells overlaps, painting occurs in wrong orderMarco Cecchetti
- description: when text content of two near cells (edited in 2 different views) overlaps, the input content showed is the one entered in the other view; - reason: the edit view of other views was painted after the edit view owned by the current view; Change-Id: I7c47f63bc46f7ce43fc494f018167918d44314b6 Reviewed-on: https://gerrit.libreoffice.org/29626 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-10-09LOK: Calc: missing invalidate when ending larger-than-cell edit textMarco Cecchetti
- reason: when text content goes further than the cell border the output area of the edit view is grown (extended to an adjacent cell), on the contrary the output area of edit views used only for invalidating windows of other view shells is never updated, so, in other views, only the tile where the edit cell is placed is invalidated; - solution: instead of adding fake edit views for invalidation porpuse (and having to updated the output area of each of them when required), the new solution provides each new edit view, created on cell editing, with a set of `foreign` windows related to other views, they are added and removed to this collection owned by an edit view still using the ScExtraEditViewManager, which has been in turn simplified; when EdiEngine::UpdateViews is invoked not only the window where the edit view lives is invalidated but also all `foreign` windows in the owned set; - note: ScTiledRenderingTest::testTextEditViewInvalidations unit test has been enhanced in order to test correct invalidation when text content goes out of the starting tile. Change-Id: Id223fb1a032d3b18d2cf70df31f704abd245b3ac Reviewed-on: https://gerrit.libreoffice.org/29625 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-10-09LOK: Calc: parallel cell editing: small code improvementsMarco Cecchetti
- A single instance of ScExtraEditViewManager is created per ScTabView; - On destruction a counter is checked in order to be sure that all created edit views have been destroyed. - BoolLock has been replaced by comphelper::FlagRestorationGuard Change-Id: I6b0293c4d2e9151dff8b13601d0074c4b2567b25 Reviewed-on: https://gerrit.libreoffice.org/29582 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-10-08Reduce the number of calls to underlying flat_segment_tree structure.Kohei Yoshida
By replacing the getValue() call to getRangeData(). Change-Id: Ia563b08dd356d9653e6a6ce16256196b28f56b65 (cherry picked from commit 7345a032bb6758dcbe425c911d557d0b22d7d5ec) Reviewed-on: https://gerrit.libreoffice.org/29604 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-10-08Properly skip the hidden row(s) at the end.Kohei Yoshida
This method is supposed to return the first visible row that occurs below the specified hight. The old code would sometimes return a hidden row. Change-Id: Idf32c625c4f51355cd5d8a9f12ae9bbdddd4e5aa (cherry picked from commit 61b76cd8ca6a4a98a2ffe6fb42c73eba561aa87f) Reviewed-on: https://gerrit.libreoffice.org/29603 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-10-07sc: Allow paste to overwrite existing data in tiled editin mode.Michael Meeks
Change-Id: Ibb7a4697a509d011dd8a6a1793f41d4c73d1f253
2016-10-06sc lok: add .uno:AutoSumHenry Castro
Reviewed-on: https://gerrit.libreoffice.org/29525 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com> Conflicts: sc/source/ui/inc/inputwin.hxx Change-Id: Id2bc0200734308aae1c2e39814c22c6b76664c59
2016-10-06LOK: Calc: page-up/down - cursor moves far more than a pageMarco Cecchetti
Change-Id: I1253044f26553dab08bc2a38c706f634e9377c86 Reviewed-on: https://gerrit.libreoffice.org/29577 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-10-02LOK: Calc: clear cell background in other views on editingMarco Cecchetti
Change-Id: Ia61bcdf7db0994b6681607403c56be707a9f17d9 Reviewed-on: https://gerrit.libreoffice.org/29456 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-10-02Calc LOK: clear cell background when editing in parallelAshod Nakashian
Change-Id: Id8eccf00ec6555d62c49e06130e3aa3a0eaaddea Reviewed-on: https://gerrit.libreoffice.org/29450 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-10-01tdf#101104 this paranoid safety check actually causes a bugMarkus Mohrhard
Change-Id: Id31f98f5f84eabf603045e4d9f7ebd448689eed5 Reviewed-on: https://gerrit.libreoffice.org/29308 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 6d66c353fb7ea7d47af2404e7e66cef0f6a690c3)
2016-09-30Calc: fixed bug in parallel cell editingMarco Cecchetti
The background color by the wrong edit view was used causing a segmentation fault. Change-Id: Ife489989e382d6f4f905f0ca305928e64bbce588
2016-09-30Calc: implemented parallel cell text editingMarco Cecchetti
Change-Id: If8cc7a637cee6ba66813d55b25160fee13a2a219
2016-09-30Calc: edit engine could be accessed after being destroyedMarco Cecchetti
ScTabView <---------------- ScTabViewShell +ScViewData +ScInputHandler +EditView[4] +EditEngine +ImpEditEngine +vector<pointer<EditView>> On tab view shell destruction: ~ScTabViewShell -> ~ScTabView -> ScViewData::KillEditView -> EditEngine::RemoveView but it occurs after the following: ~ScTabViewShell -> ~ScInputHandler -> ~EditEngine since data members are destroyed before ancestor classes. Change-Id: Ida56b8009c0d8a3cd23952259d78318e96ae5124
2016-09-30LOK - when a view is enabled, the existing edit views are killedMarco Cecchetti
A view is notified about killing its own edit view, if any, in 4 cases: - before being deactivated - soon after being activated - when a 'cursor position changed' event occurs in any view - when a 'selection changed' event occurs in any view Now these notifications are skipped when LOK is active. Change-Id: I94020987a35b1450ec41e2fa5fcce8cfa7e92130
2016-09-29LOK: conditionally include part number in invalidation payloadMiklos Vajna
Since desktop/ code queues, compresses and only emits callbacks on idle, it's possible that two invalidations are in the queue, and there was a setPart() call between them. In this case it's impossible to tell what part the invalidation was sent for. Fix this by conditionally including the part number in the invalidation payload. It's off by default, a new feature flag is added to request this behavior. gtktiledviewer enables this feature flag by default, though just to show the part number in the debug output. Android doesn't enable it. (cherry picked from commit d5263c2c564c88e3dafe4c1ab8d3d9c1c48ede73) Conflicts: desktop/qa/desktop_lib/test_desktop_lib.cxx Change-Id: I73e6def848c0eb61d64e71026002c7a0e750aab4
2016-09-27CppunitTest_sc_tiledrendering: std::string::find -> OString::startsWithMiklos Vajna
Change-Id: Ic7185cc0430e7007b1e4f27ba5c43d947405e198 Reviewed-on: https://gerrit.libreoffice.org/29292 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 5bc4bcfde4955e3e48255310500102775ba4af23)
2016-09-24sc lok: avoid full invalidate tilesHenry Castro
Change-Id: Idd49dc61ba8dbd7af42f641bb019cf83814f9e8d Reviewed-on: https://gerrit.libreoffice.org/29240 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com>
2016-09-23cid#1373353 uninitialized membersMiklos Vajna
Change-Id: I88ae046866c616cc7de226e85eaab1a0e76eb59e (cherry picked from commit 52977bdbefefe73fb8032692deb2d57633d5c3f3)
2016-09-21Linux x86 build fixcp-5.1-7Andras Timar
Change-Id: I1464c429dd41feaeab97f2792eed40a9dfbadde3
2016-09-20disable generation of ole previews in ODF format until after loadCaolán McNamara
so the user update links dialog can control their generation SdrEmbedObjectLink becomes exposed to calc so it can detect if the link dialog needs to be used to update ole links. Reviewed-on: https://gerrit.libreoffice.org/28879 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 74844277cc2194c9e43f5bd7a6f78a9603da32f3) detangle gadzillion checks into something readable no logic change intended (cherry picked from commit fad9786b06d188ba6e354620f57176f3d94a6637) + partial merge of commit c09b3e32372537be739182b02ae83a96386d1e1c Author: Noel Grandin <noel@peralex.com> Date: Tue Mar 8 13:13:59 2016 +0200 loplugin:constantparam in sw for bool bUI is always true in UpdateLinks Unmodified default SdrOle2Obj size is 101x101 svx/source/unodraw/unoshape.cxx sets a css::awt::Size maSize to 100, 100 svx/source/unodraw/unopage.cxx increases that by 1, 1 awt::Size aSize = xShape->getSize(); aSize.Width += 1; aSize.Height += 1; to call SdrObjFactory::MakeNewObject with 101, 101 so default size is 101x101 (getWidth() vs GetWidth() confusion ?) Reviewed-on: https://gerrit.libreoffice.org/28895 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 7f0a219c9ad38ae33b51ff69d545f69659691c1e) b6af93afc1f80b7fc36239c96d5e0a71fcbcb789 4d4375dff64d7b8e236d1a24322e749e04ee530f Reviewed-on: https://gerrit.libreoffice.org/28930 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 2ff4c68b63c4842ec85a21287317096b6ca8e66e) Change-Id: Id1dd7ea17342140eab9307d546528747e3a98090
2016-09-20tdf#101541 function WORKDAY.INTL not working properlyWinfried Donkers
When holidays are adjacent to weekend days, wrong results occurred. Change-Id: I9ec86e00f1a62ea941ff70617a1b448601aff9cc Reviewed-on: https://gerrit.libreoffice.org/28771 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 5e9d5eeb8a33fdcc500377d9eace40b5f5a7f750) Reviewed-on: https://gerrit.libreoffice.org/28970 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/28973 (cherry picked from commit 3bf31803959ccc54bb949630f936a768ef47a90b)
2016-09-20tdf#101866: Get rid of two more erroneous upper-casings of stringsTor Lillqvist
Follow-up to f948dce856d51704e1962553198015dbebb6e527. Change-Id: I46c5a96a076fa6eec952e31201bb3563464cf602 Reviewed-on: https://gerrit.libreoffice.org/28626 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 326da3886e6f700ad1fb269df201fae9fa01d5df) Reviewed-on: https://gerrit.libreoffice.org/28629 Tested-by: Jenkins <ci@libreoffice.org> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit f87b678a40ab73402366f409078f20425f258953)
2016-09-20sc draw: emit LOK_CALLBACK_GRAPHIC_VIEW_SELECTION when view is createdHenry Castro
In multiple view environment, when a new view is created ensure to notify other views graphic view selections. Change-Id: If75f9525af6e851e096b6d273957b94882c441cf
2016-09-16LOK: tile rendering regression fixAshod Nakashian
Calc fast rendering requires us to offset the are being rendered and shift all bitmaps accordingly. This however is breaking Impress rendering since the offseting logic is common (in svx and vcl). This adds new API to enable or disable this local rendering (as opposed to rendering a full document as was previously done. The new flag is then set by Calc to enable the offseting logic in isolation without affecting other applications. In one case isolation was achieved by checking the MapModeUnit. Change-Id: Ia0aadfc3f6df7c1a891b97dc731f5897414c9420 Reviewed-on: https://gerrit.libreoffice.org/26367 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 60fdcda65bad242f99895cb453182578250fbdea) Reviewed-on: https://gerrit.libreoffice.org/26378 Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit c337011d2052ec3ddb80e61bcc4b0574b4e898ba)
2016-09-16LOK: fast tile rendering (cell editing)Ashod Nakashian
Cell editing uses editeng which has a different set of requirements. The coordinates are in 100th mm and so we have to convert the ofsets to 100mm. Change-Id: I278457ffc2273eb786101875c85ddfb959d4c5e3 Reviewed-on: https://gerrit.libreoffice.org/26205 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 0dbffca63191712d9f77297061a3d4651b8410aa)
2016-09-16LOK: fast tile rendering (graphics and buttons)Ashod Nakashian
Since embedded graphics and buttons use absolute coordinates, we set the origin to be the top-left corner of the tile. This includes the origin + ScrPos (see previous patch). Then, the coordinates of the graphic is shifted by this amount to make sure it renders in its relative position to the tile. This renders embedded graphics and buttons at their correct position, with some limitations. Tiles large enough to cover a graphic object show the graphic object where it should be. However, rendering a relatively small tile doesn't render the graphic. This seems to be an issue with moving the graphic's coordinate at a later stage than the 2D Processor decides what objects intersect with the 'view area' that is rendered. Another issue is that graphs don't render. What they seem to suffer is incorrect scale and a fix coordinates (they show up as tiny thumbnails at the top-left corner and grow in proportion to the real graph when resized). These shall be addressed in a separate patch. Reviewed-on: https://gerrit.libreoffice.org/26204 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 5f01d80f75dc86b393cc2fdb66b94aece964c674) Change-Id: I4b71bf5f2e357d1114d46022bc00905ceed0c2f9
2016-09-16LOK: fast tile rendering (text only)Ashod Nakashian
For every tile, the bounding columns and rows are found. The origin of the device is set to the top-left corner of the top-most row and left-most column, respectively. Because tiles don't have to align with a column or row, the ScrX and ScrY (Screen Position) coordinates are set to the offset a tile has to its top-most row and left-most column. Rendering of text is super fast as the minimum area is rendered for a given tile. However, it doesn't work for embedded objects. This is addressed in a separate patch. One pending issue with text is when editing. The text doesn't correctly render while editing a cell. This is almost certainly because the edit control is not rendered at the correct offset (in the middle top row it can be seen showing up to the right of where it should be). Reviewed-on: https://gerrit.libreoffice.org/26203 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit ecc33ce663625ae1114a56fe3d1625c5ed274685) Change-Id: I6f1ea0aa2f19a7fda926f596a2009290680c593c
2016-09-01sc lok: implement SfxViewShell::NotifyCursor() APIMiklos Vajna
This way a new Calc view gets the cell cursors of existing views even if they don't move after registering the LOK callback in the new view. Change-Id: I5babc9921d37217ac199d4c19ed33cbb9620d119 Reviewed-on: https://gerrit.libreoffice.org/28581 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit fcf417a77369853195d6727b2db8df290663256e)
2016-08-31sc lok: implement getCommandValues(.uno:AcceptTrackedChanges) APIMiklos Vajna
Unlike in Writer, there doesn't seem to be an existing UNO API that can be reused here. Change-Id: I011a2f34d4d09ad604991637322ceadf6b2eb181 Reviewed-on: https://gerrit.libreoffice.org/28498 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 3ab2b0625bb8ab8447a508d654d6e8c95d50dbd5)
2016-08-23sc lok: fix re-sizing several rows/columns at onceHenry Castro
Reviewed-on: https://gerrit.libreoffice.org/28351 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com> Conflicts: sc/source/ui/view/cellsh3.cxx Change-Id: I7b3760432aa4b3120bfd586a1abc42a46fff0df8
2016-08-23Resolves: tdf#101165 crash on deselecting all filtersCaolán McNamara
(cherry picked from commit b101ff56e874824fa9f0d37a8468b07dbf3d002c) Change-Id: I49162bb73bf6dbef5cff68d35d10da2c47d9f2b5 Reviewed-on: https://gerrit.libreoffice.org/28165 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit ecef794528282fa7e9fba93b6eff1dac097dae99)
2016-08-23Resolves: rhbz#1364406 inherit the actual format index also for date and timeEike Rathke
So summing [HH]:MM cells or calculating with dates uses the same format in the result, not just the default format of a type. This also fixes the apparently broken state stored by 4.4 (and earlier, later?) where no type information was stored with the formula cell, which may be just due to the old behavior of not applying the actual format but determining it on the fly instead. Change-Id: I14d0a7d07185bf5c77e0d7f6989a4a1d1a468d27 (cherry picked from commit f2e3de4dfcf10f9a59f8fc3f051c620fd50ef3c2) Reviewed-on: https://gerrit.libreoffice.org/27917 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 6b63d44fee68a8db94b045c60767ee11a7265446)