Age | Commit message (Collapse) | Author | Files | Lines |
|
(cherry picked from commit 5ff1e6bdf7f5b9db3b72d62537047fc45b7d104b)
Change-Id: I2fd32bb210f1b5f0a090c29af707cb6ca6e8dd77
|
|
Change-Id: I119633474236faa95ecf5fd26cd89789b313e382
(cherry picked from commit 455069c6ec3e3b08dda1c7cc1104161a935b0364)
|
|
What's new:
1) RectangleAndPart handles "EMPTY" payloads
2) LOK_CALLBACK_INVALIDATE_TILES msg type with "EMPTY" payload are
handled in CallbackFlushHandler::queue
3) gtktiledviewer handles "EMPTY" LOK_CALLBACK_INVALIDATE_TILES msg
even if the part number is included in the payload
Change-Id: I21f4a71ec875d24f4bbd100e4aacf8437d745ae4
Reviewed-on: https://gerrit.libreoffice.org/29822
Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
Tested-by: Marco Cecchetti <mrcekets@gmail.com>
|
|
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
|
|
Change-Id: I33be18779ea680f7a9c20814ca3c3d94d206900b
|
|
These colors are used in the tiles, so it's a good idea if the client
can use matching colors for cursors and selections. But to be able to do
that, we need an API to expose these colors.
Change-Id: Ia688c07e6c300fecdf8dc428d5a3f000d1857387
(cherry picked from commit d7788287456cb633226203f259e212c143b83050)
|
|
If a too large rectangle is parsed, the width or the height may be
larger than std::numeric_limits<int>::max(), in that case just set
width/height to that max value, instead of allowing an overflow.
Change-Id: Ic01319b01a3f9286501c346ea765868be57466a1
(cherry picked from commit 28447258fb6d9b8246f2a96d1a86945ef255d110)
|
|
For now only care about the start of the cursor, which can be only at a
single redline.
Add matching testcase + expose it in the gtktiledviewer status bar for
interactive manual testing.
Change-Id: Ib61757412d6b54bef64361d4a8563795ca0bab6c
(cherry picked from commit 288013f25d2e52a76f7ce5368c505a6ccb3b64a2)
|
|
As this only returns the number of views, not the actual views. Since
it's a rename, it's just an API (but not an ABI) change.
Change-Id: Ib4f0ea56a90e5ae9c80ee1781aa2f29aff4259e7
(cherry picked from commit dc00592b4e48a111efc6ff78bdbf7af998e58e22)
|
|
Previously .uno:NextTrackedChange always worked by cursor position, but
redlines are stored in the redline table, so they have a unique index.
Allow specifying that index when invoking the command, and in that case
ignore the cursor position.
(cherry picked from commit 84e91157c674b0b78b792fc1d4f841fe50b1dd9b)
Change-Id: I7dbe8044feca8fcc48635482a22317b024f40ffa
|
|
Change-Id: I2b4ad4dbf281458d0994eff176a2f62e20fb603b
|
|
This reverts commit 404feac7e9212c57124a1e6219b6d6125c2bbd14.
Change-Id: I3d546d31111a119ce008f99fa77b087e32cbe7af
Reviewed-on: https://gerrit.libreoffice.org/28810
Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
Tested-by: Marco Cecchetti <mrcekets@gmail.com>
|
|
- lok::Document::setCallbackLatch: used by a child session for
set/unset the latch
- lok::Document::registerCallback has a new boolean parameter used for
setting the latch state just before the callback is actually
registered for a (new) view
- now cell cursors of other views are correctly notified to the new
view
Change-Id: I80ae5556f61b1a41e703688491cca1faa8621a43
Reviewed-on: https://gerrit.libreoffice.org/28789
Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
Tested-by: Marco Cecchetti <mrcekets@gmail.com>
|
|
Calc omits the document size in the payload in several cases, and
online.git handles that, so handle it in lokdocview as well for now,
instead of fixing up all the sc code to always emit the doc size in the
payload.
Change-Id: Ib2cca1770d2a160e32540e3a3158eb00bf13207b
(cherry picked from commit 127a34ef2cf9fe0ac13a273c12c6d45ef57eaf49)
|
|
As it's currently implemented only for Writer.
Change-Id: I8c281b2294564472f2c2c5b7de5dd3f86a11a94a
(cherry picked from commit 30b84816eb5c6cd44bdee459cac1bb9f90859aec)
|
|
This avoids some code duplication, and also means that the redline
author set by SwDocShell::SetView() affects the inserted Writer comments
as well, while those were 'Unknown Author' in the LOK case.
Change-Id: Ib51183302ee6904fdf69fb16f27ecfe6df39e6cb
(cherry picked from commit e2c240627c8a1a9cea1f9eedfb064214c8e93a39)
|
|
Work in progress, not all modifications to a redline record cause
notifications yet.
(cherry picked from commit 8f96ab602a9e7cad1215abb693f33824a7b37679)
Conflicts:
sw/source/core/doc/docredln.cxx
Change-Id: I01614cd6ede9576e9cc329889fef86342567325f
|
|
A redline can have a manual comment and also an autogenerated
description, like "Insert 'abc'". Expose this later property as well, as
it provides useful additional information, especially when the comment
property is empty.
Change-Id: Id0f0ff62aef58d96b9b6071706c6f5b4a0d74800
(cherry picked from commit 9e310a4705ce956551059040696166aefb2388cb)
|
|
An alternative would be to follow the Manage Changes dialog approach and
subscribe to the SFX_HINT_DOCCHANGED notification in SwDocShell, cache
the old redline table and find out the differences to the current one,
but that way sound much more complex without benefits.
(cherry picked from commit 0bc553f3ef3c188a96ea4875f4722ad4d40da4a3)
Conflicts:
sw/source/core/doc/docredln.cxx
Change-Id: I20a45285b88255ccea9d6646c0b5288ac1c91879
|
|
So update the bindings of all views after changing it.
Reviewed-on: https://gerrit.libreoffice.org/28233
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit d890ec2f130188af9d998abf5968f06e7218b7a4)
Conflicts:
desktop/qa/desktop_lib/test_desktop_lib.cxx
Change-Id: I5355f40ba27be521dcdf343b08305f3736979bbb
|
|
Open two views, and type into both of them when a Writer doc with
redlining enabled is open: the manage changes dialog now shows how the
correct author is used when creating the redline items.
Change-Id: I48fb90301bfcc04b06d5be5544324ca76fe7b3d7
(cherry picked from commit f2afe318ce800c1b301f7e1aef769194aa676b12)
|
|
Previously .uno:AcceptTrackedChange / .uno:RejectTrackedChange always
worked by cursor position, but redlines are stored in the redline table,
so they have a unique index. Allow specifying that index when invoking
the command, and in that case ignore the cursor position.
The index is not stable after an insertion / deletion.
Reviewed-on: https://gerrit.libreoffice.org/28192
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 087b71f423cf6c047137fb1316527132bb47fc05)
Conflicts:
sw/qa/extras/uiwriter/uiwriter.cxx
Change-Id: I493a22e84800ded224fb6b9c61261744dc0fb64f
|
|
Index is added as a property for each item, so that later changes can be
identified by the index when they are accepted/rejected.
Change-Id: I9362d208fdbed1f46d64558d44498d2b19150c81
(cherry picked from commit 69fb6a307172e244497bc618a102afccdd7c93b7)
|
|
Undo/redo is limited to undo actions created by the same view in the LOK
case, this argument removes this limit. This can be used by a client for
"document repair" purposes, where undo/redo of others' changes is
intentional.
The sfx command dispatch has support for FASTCALL slots (a state
function is not called, the command is always enabled) and also has
support for state functions, but those functions only get the ID of the
slots, not its parameters. What is needed here is a command that's
disabled by default, but in case a Repair argument is used, then it's
unconditionally enabled. So handle that case in the sfx dispatcher
directly for now.
Change-Id: I96c1130bf51abcdd722684b1fa4a8277f92fd555
(cherry picked from commit e9bcd3475131b24b0b8818cfdfa256854ca5a59d)
|
|
Edit state = false disabled undo, then edit state = true enabled the
undo button, even the last LOK callback was '.uno:Undo=disabled'. Fix
this by storing the LOK state in a map, and using it when edit is
enabled.
With this, clicking on the Edit button right after loading a document
results disabled undo/redo buttons as expected.
Change-Id: Id6023f976f135555a43486f71603c823e59d8d60
Reviewed-on: https://gerrit.libreoffice.org/28003
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 5cb52cf97d04859c0c730cf03430254041d6388b)
|
|
This shows the full undo and redo stack, with all the metadata available
via the LOK API.
Also fix SfxUndoManager::GetRedoActionsInfo(), so it's easy to show the
undo/redo stack in linear time; and fix a use-after-free in lokdocview.
Change-Id: I66625ed453efa61b5738d99d7d1ad8f468908240
Reviewed-on: https://gerrit.libreoffice.org/27913
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit a141cba76606c7dcc4965f0a25cc9a4ff2d8879e)
|
|
To allow debugging crash-on-exit problems.
Change-Id: Ie54a8391e721c3ba8034b4618dd30733bac97a27
Reviewed-on: https://gerrit.libreoffice.org/27605
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 538ea31c992acb9d47ffd783543e50e149272aac)
|
|
Hopefully less confusing, the crossed out rectangle is also used inside
the tiles for deleted comments, and the two are independent.
Change-Id: Id06fbf6ec1b21dfbab1c126c3c432f91cf51430c
Reviewed-on: https://gerrit.libreoffice.org/27503
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 57c8915376dbb580760486071cac6533e05427bf)
|
|
When we're after SdrBeginTextEdit(), but before SdrEndTextEdit(), and
have multiple views, then only the active view paints the edited text,
the other views look like the shape has no text at all.
Add a new callback that exposes the position and size of the rectangle
where the shape text will be painted after text edit ended, so clients
can draw some kind of locking indicator there. This way the rendered
result can differ in the "shape has no text" and the "shape text is
edited in an other view" cases.
Reviewed-on: https://gerrit.libreoffice.org/27441
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 897189cfc6b3f6f3a9a0148b060ea25e5f8d9eaa)
Conflicts:
libreofficekit/source/gtk/lokdocview.cxx
Change-Id: I6096479a8a05c2547d15222e6d997b848af02945
|
|
Otherwise when zooming out enough that not all available space is used,
the default horizontal/vertical centering happens, and the row/column
headers and the tiles become out of sync.
Also revert to the previous default window size, I'm not sure why that
was necessary. Currently checking the mentioned situation (empty Writer
document with comments only) does not require this larger size, and
testing two views is easier with the smaller size.
Change-Id: Ia92a591387f62655a671e2d09f5053827fde5045
Reviewed-on: https://gerrit.libreoffice.org/27427
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 672b7411637f92acd30622ec2aaee840cbbbd0a9)
|
|
Writer pages are exposed as parts, but it still makes sense showing
selections/cursors from other parts in that case.
Change-Id: Ic76d93291bde2d959c149cf2ef5eba7ed33a45e8
Reviewed-on: https://gerrit.libreoffice.org/27321
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 3c425926d48e513937ad727a56ab7744ca379e63)
|
|
This way we show view selections/cursors from other views only in case
the part number matches. Anything else looks buggy in Calc/Impress.
Change-Id: If3ecbfc4b05350606730319b1a570afc15fd9d0a
Reviewed-on: https://gerrit.libreoffice.org/27315
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 1ba00c2173938ed2ea2f25074e866ea51370d727)
|
|
Callbacks are processed on idle on the main thread, so by the time we
parse them, possibly the widget is already gone, avoid that problem.
Change-Id: Ie8e16423d1ffe087e0dd21425026f7a5d644c27b
(cherry picked from commit 8090b53e0e16e9aef95f2f5557985f7c2e7c69f3)
|
|
By calling it when we're not the last window.
Change-Id: I6fd4763243fc088ccfe015b6c03b6b3f25146fac
(cherry picked from commit 99f05d9947db2dd0676fafa66106d17e4d8eea6d)
|
|
So that e.g. it's possible to see which invalidation affects which view.
Change-Id: I6b6db2fa07eaecd1315ce8160c3b3b86e9e5a348
Reviewed-on: https://gerrit.libreoffice.org/27138
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 29089b562ea6d0137cf054d9710b7238e327aa4f)
|
|
With this, in case a text cursor is turned into a graphic selection in
view#0, then view#1 can also hide the text cursor of view#0.
Change-Id: I7de89b8537ef8b0985336793b719d93733604bff
Reviewed-on: https://gerrit.libreoffice.org/27044
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit af8419fa1d3cea57481e0e53518237eea2d9cdad)
|
|
So a view can be aware where the graphic selections of other views are.
Change-Id: I0cc420cfe4bf3824fbfa1a58da889cac5e9a7b60
Reviewed-on: https://gerrit.libreoffice.org/26863
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 3ebfc5b95559a9bcb2fc0508b51fd00e8eb20260)
|
|
If we draw a black graphic handle manually, then it's possible to color
it later, this isn't easy if a bitmap is painted.
Reviewed-on: https://gerrit.libreoffice.org/26860
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit cca44fe22978c6c1c5f3ec500e5ac07becf53745)
Conflicts:
scp2/source/ooo/module_libreofficekit.scp
Change-Id: Ib4456fd5155862d52e3ffa79ee49c7bfd16fb742
|
|
So a view can be aware where the cell cursors of other views are.
Change-Id: Ifcf06c0019c6af8b859e2e92222e4f3fd18da74f
Reviewed-on: https://gerrit.libreoffice.org/26844
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 68c5c0bb7eed007bbfbb2e51107fc0196825e85a)
|
|
This fixes the following use-case:
1) Start gtktiledviewer, click New View
2) Click Edit in the first view
3) Click somewhere in the document in the first view -> nothing happens
Change-Id: I79d63538607f03b78851a639adf158d918745276
Reviewed-on: https://gerrit.libreoffice.org/26789
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit bfd4234fd863ee75f4f07d9bded061063bbde3d4)
|
|
Commit 45c2410041c48c22bd860efb42d4daadad7869b0 (LOK: change type of
view ids to uintptr_t, 2016-06-17) fixed the problem of view IDs being
reused for the price of random IDs, which makes debugging harder.
Implement a simple shellToView() function that makes sure view IDs are
not reused, and stop exposing view shell pointer addresses, which allows
reverting the LOK API change.
Change-Id: I63089e6de08ee7e1c7706757d43a11f6cf4d6e06
Reviewed-on: https://gerrit.libreoffice.org/26773
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 615c37503cffa92a663245d7cb140f316ace0506)
|
|
Otherwise it's possible that a keystroke is sent in for a different view,
when that other view reacts to an invalidation (invoking paintTile())
caused by a previous keystroke.
I.e. open two views, place the cursor at different positions, type fast,
and some of the characters appeared at the incorrect view.
Change-Id: Ie5e471f1b9c2d69adaa87111fba74d4abe184ef8
Reviewed-on: https://gerrit.libreoffice.org/26562
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 380a646b957052f96b3f9440d20dc63fc72e1d46)
|
|
Fails with 9f66db9c474f71f43d7a3667230241fd4fa4183f (sw lok: add
LOK_CALLBACK_TEXT_VIEW_SELECTION, 2016-06-21) reverted.
Change-Id: Ide21167ce2dc4287b1860b5f03a6975dc9edd4c6
Reviewed-on: https://gerrit.libreoffice.org/26550
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 45182f36ef263d6fd94cc79bb242fbfb5a471c22)
|
|
It's similar to the normal selection, but it's colored and has no
handles.
Change-Id: Ibd9594b4834ff4f9b1cfd85912ed5cee3c8b8c71
Reviewed-on: https://gerrit.libreoffice.org/26543
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 6b9053d371fc8b8543faf7add5fb6d61aab26605)
|
|
So a view can be aware where selections of other views are.
Change-Id: I5026b1ff2b99a4eedfd0bde32a05ceb8e2f424bc
Reviewed-on: https://gerrit.libreoffice.org/26542
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 9f66db9c474f71f43d7a3667230241fd4fa4183f)
|
|
It's similar to the normal cursor, but it's colored and does not blink.
Change-Id: I6a869a98f46979946f320905426e016fe011cbc6
Reviewed-on: https://gerrit.libreoffice.org/26522
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit ada901d2c412f8a1b1ae668e883114ccb9c69277)
|
|
So a view can be aware where cursors of other views are.
Reviewed-on: https://gerrit.libreoffice.org/26513
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit c544a8b674dd7ac9dd466a84a440ede030942438)
Change-Id: I6133fb55aa2869843c0284b7d76264bab3b3d5da
|
|
This fixes the following problem:
- createView() = 1
- createView() = 2
- destroyView(1)
and then view #2 was renumbered to 1.
Instead expose the pointer address of the SfxViewShell as the ID, which
is not changing in such a situation.
Note that the SfxViewShell <-> ID mapping is an implementation detail of
SfxLokHelper, and only pointers are converted to IDs, user-supplied IDs
are never converted back to pointers.
Reviewed-on: https://gerrit.libreoffice.org/26423
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 45c2410041c48c22bd860efb42d4daadad7869b0)
Change-Id: If79ef8b99ba391011b5d82b219ad13447d44cd5a
|
|
Its purpose was to allow incrementally migrate all callers of
SdrModel::libreOfficeKitCallback() to use
SfxViewShell::libreOfficeKitViewCallback() (which allows notifying only
the currently active or all views) instead. That is done by now, so it
can go.
Change-Id: I521bbbe5c638dfd844ebf025153459a37362d3c3
Reviewed-on: https://gerrit.libreoffice.org/26413
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 5b5706f41f97998785e1e7ad356580772da80c42)
|
|
This requires porting the sw/sd/sc_tiledrendering test code to the new
internal API, as only the public LOK API is unchanged.
Reviewed-on: https://gerrit.libreoffice.org/26379
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit 5bf3ae663a2189e37959235cda8c6a4051e10a1a)
Change-Id: Ic6a2f96421da4a16bdee7d0cbb3f6e35bc6ddff9
|