Commit graph

14473 commits

Author SHA1 Message Date
Ashod Nakashian
e9cf4681a2 wsd: move TerminatingPoll to Socket.hpp
Makes it accessible to more code.

Change-Id: I73dd1895defe47ae40873b6155203768055206ec
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-13 16:44:09 -05:00
Ashod Nakashian
e34b100c03 wsd: capture and log exceptions during un/initialization
Change-Id: I37959fe6f6f1829eb89a81eaf26fac60bbced905
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-13 16:44:09 -05:00
Gökay Şatır
477e40f065 CanvasSectionContainer: Improve dragging feature.
Allow dragging event even when the mouse is outside the document.

Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I2b871e9a7556b465d55aa0d1b50ac9f489246d17
2021-03-13 19:29:14 +03:00
Dennis Francis
3df4ac53fe avoid branches for manual vs transform()/translate() APIs
In commit 64dc25f70 a new branch of coordinate transformation was
introduced to avoid breaching the coordinate limits supported by
canvasRenderingContext2D.transform(). But this caused additional burden
on testers by forcing them to test all branches and made the code harder
to maintain.

It is straighforward to implement the features of
transform()/translate() that we need and use them always and not rely on
those apis. This is what the patch implements.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: If690a254b44fb4e6ca9a5536785de6f3310413d8
2021-03-12 18:10:48 +05:30
Dennis Francis
a35b137d9d zoomanim: do not draw overlays on headers when...
there are no freezes active and view is anchored on A1.

Description of the fixed issue:
Open a blank sheet in mobile Calc. Make sure the cell A1 is
full visible, place cell cursor on A1 and zoom in a bit. The cursor
rectangle now is drawn incorrectly over the headers for every zoom
animation frame.

Description of the fix:
The root cause is that the clip area in this situation is incorrectly
set since the conditional assumes that the pane is a fixed one as its
top left is (0, 0) which is not correct when there are no active
freeze.So set the clip area to the correct rectangle derived from the
computed transformation like it is done for any free-pane.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I827e7992acaa56e60e1938fc83b566d7adb8a30c
2021-03-12 18:10:48 +05:30
Tamás Zolnai
7d47393845 cypress: this workaround is not needed anymore.
Signed-off-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Change-Id: I0fd44d7a0d5cd484739a7f85cce89266980a5151
2021-03-12 13:31:47 +01:00
Henry Castro
1df271b363 config: add "macro_security_level" item
"Level of Macro security".

Change-Id: I491648f2a89289c7f4455dfad76d73ac8449b965
Signed-off-by: Henry Castro <hcastro@collabora.com>
2021-03-12 08:23:56 -04:00
Henry Castro
50c0fc4492 config: add "enable_macros_execution" item
"Specifies whether the macro execution is enabled in
general. This will disable Basic, Beanshell, Javascript
and Python scripts. If it is set to false, the
macro_security_level is ignored. If it is set to true,
the mentioned entry specified the level of macro security".

Change-Id: I4bc5b690268a93994d17e2b02b7b60b6398646b7
Signed-off-by: Henry Castro <hcastro@collabora.com>
2021-03-12 08:23:56 -04:00
Pranam Lashkari
4bc6e2e900 leaflet: annotation: wizard: added insert comments options
added insert comment option in comment wizard titlebar
added option to add comment from empty wizard state

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I2d30483d586ce798bc3d77b3b47c7ab26eebe684
2021-03-12 12:32:27 +01:00
Pedro Pinto Silva
d7c1c388d2 leaflet: annotation: wizard: no comments: improve layout and style
- Add proper html structure
- Add style to communicate that his is a empty state and thus different
  from the regular mobilewizard view
- Add icon
- Fix alignments and sizes
- Add suggestion as action (insert comment)

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I9815efe1a5b96862dba9d0e4c5863b5975132596
2021-03-12 12:32:27 +01:00
Ashod Nakashian
8dc9c4d8c7 wsd: avoid using invalid DocBroker for clipboard
The clipboard content is handled by the DocBroker,
if it it's available, otherwise, we fallback to the
cached clipboard entries.

When DocBroker has already terminated polling and
is no longer valid, we may end up using it for
the clipboard. In this case, we don't send anything
back, since there is no SocketPoll thread to
process the request or the socket data plumbing.

We avoid this by simply using the fallback (cache)
when we don't have a valid DocBroker.

Change-Id: Idf7f27b453605d173dd8e40d4a5d101f50355468
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-12 09:45:20 +00:00
Ashod Nakashian
494161940b wsd: test: minor fix to Makefile
Change-Id: Iecfe38b598adf4f9ddea97a02fd2a7d64d23cbde
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
96f542a3be wsd: resuable http test helpers
Change-Id: Ib3419ad221bf957fb04d1a8112a2b1dc2ea549bd
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
c215f203dd wsd: test: use unique_ptr
Change-Id: Ia00d90d83ad35de56b2563e80b20b575325b5745
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
30fe875419 wsd: better http::Session::create API
Change-Id: I8d89bfc3ed482b775029ef23527e02f379051796
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
6e7c5b6013 wsd: improved SocketPoll start-thread guard
Change-Id: I92e2bcf4efacd67fc336ab40194d8cc51da7e4f4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
0f9f7629b5 wsd: better logging of socket activity
Especially error reporting is now better.

Change-Id: I032f6e8403660c2ac24be2d80b53b63831ec1066
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
e3d6baf8c6 wsd: cosmetic
Change-Id: I76e4f5c4b57a6735b2db0e398182431dabbef855
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
b46ff5f985 wsd: test: improve unit-integration
Change-Id: I9b5f13012278c8f3e0f4e79a46d462faa76ba78c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
b8c08b3e00 wsd: test: more informative test failure
When we fail to read any data from the WS,
'bytes' is -1 and is unsuitable for creating
a std::string instance from, as it throws.

Make failure in this case more informative
with proper assertion.

Change-Id: I8966b922aa0053502c58b528005602193b0593c1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
86940a2261 wsd: move ServerSocket creation into ServerSocket class
Change-Id: I25bca69943b69798db2e58af62902111c988a29e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Ashod Nakashian
26b7e43ecb wsd: comment typos
Change-Id: I4789899ac58c3c07c66b47d1945b04a5029e7b56
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-11 09:15:40 -05:00
Pedro Pinto Silva
a4ca812257 leaflet: annotation: wizard: style context menu for mobile
- Bigger targets
- Add existent icon or create for better mobile scanning
- Improve layout

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Iccfdfb3d02e3c4ee148fdcfa05ba3c0a320a6c78
2021-03-11 14:33:18 +01:00
Dennis Francis
b51cc9ce62 fixes: ghost pages/tiles in writer
The issue is: On creating a page break on a empty writer file and
hitting backspace, the deleted page or parts of it is still rendered.

We get a 'status' message containing the document size every time it
changes. So avoid the issue do not draw tiles that are not within the
document area.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I88d1715e861f068326d28d2930d01e3b5355be02
2021-03-11 18:16:40 +05:30
Gökay Şatır
38ca7df677 CanvasSectionContainer: Improve mouse wheel handling.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: Idd57b97f75e7f5732617b9d2e96927317498d699
2021-03-11 15:38:42 +03:00
Dennis Francis
8896f06411 avoid incorrect overlay painting due to big document coordinates
canvasRenderingContext2D.translate() and friends only seem to function
with numbers < 2^24, at least on Chrome 89.

So when the pane being drawn where this limit is hit, lets do the
translation ourselves.

But in the case of zoom-animation more complicated transformations are
needed. Till we implement the manual matrix transformations correctly,
lets not animate overlay objects when the view area has hit this limit.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ib48d6029ba1c6f1d7ade35060baf4ebe3e0a5fd3
2021-03-11 15:10:04 +05:30
Pranam Lashkari
fa92410c1d leaflet: annotation: wizard: indicate in wizard if there are no comments
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I312dd93cce463293c1a237c96d0d18c10f6d4a84
2021-03-11 10:05:28 +01:00
Muhammet Kara
0b284eb338
Update CONTRIBUTING.md
Remove broken & unnecessary link, and add new one to report issues
2021-03-11 10:06:20 +03:00
Pranam Lashkari
e3fa8bafcd annotation: fixed error on annotation insertion in impress
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Id12b3e422fcb7970241535345f3e90271ede42eb
2021-03-11 08:45:28 +05:30
Pedro Pinto Silva
a1134c8cd9 Mobile: Comment (annotation) layout improvements with grid
- Position the number of replies near to the chevron to indicate what
that is supposed to do.
- Reply counter gets the same color as its icon

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Idd692f40f5f3420d7577147e8ca7bcf306e59899
2021-03-10 16:44:36 +01:00
Dennis Francis
5e33750de5 clear canvas before painting async non-calc tiles
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I642c0efdbe2c5d0492406b0e180ba5c15578d36f
2021-03-10 17:14:50 +05:30
Dennis Francis
0c8e11b7d3 redefine desktop calc view position on zoom
The view area after zoom is computed by the following rules:

1. If there are not edit cursors or it is out of view, anchor on the
   top left cell.

2. Else, compute the new view area w.r.t top left cell, but if the edit
   cursor is not in that resulting area, translate it such that edit cursor
   is just inside the closest edge of the final view rectangle.

Notes:

As part of the implementation the default behaviour of view scrolling on
cursor msg was disabled while the new view area is being set.

If there was an active edit cursor to start with, ensure it remains the
same way. This is acheived by replaying the last print twips cursor
messages after the new view area is set.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Iaada6ec1f4a06f7ad05dec759e702bd37240dff8
2021-03-10 17:14:50 +05:30
Dennis Francis
78cec95d77 calc: call refreshViewData() on section initiated map scroll
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: If1383f4d845f4b3a77e0a21b8af5f5d8378bfc8e
2021-03-10 17:14:50 +05:30
Dennis Francis
2577342e1b avoid body/tilepane bg implicitly setting the border of toolbar
by setting a top padding of right amount.

Before the patch the top border of toolbar "appear" white on the part that
intersects with row-headers and it was gray where it intersects with the
document content(tiles). These were due to the background of body and
tile-pane div respectively.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ia3b95d41ea150d815469498e3e2044d7e1d36a4d
(cherry picked from commit 66416be43980205dea1a2addefbf5954e013c3cc)
2021-03-10 17:14:50 +05:30
Dennis Francis
51c178d060 overlay: translate mousepos to doc coordinates
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Iae9222a6704a2f8fdb2c1dc2347bc5106d458bff
2021-03-10 17:14:50 +05:30
Dennis Francis
ce70646b61 factor out and generalize latlng->layerpoint computation
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ie983003dfd8cb7e7093fcfe5374bb31ed2f5995b
2021-03-10 17:14:50 +05:30
Dennis Francis
a186f4ea90 include dpiScale for viewcursor and references
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I99b12cd6a1500136dca9c339c4a5cf8624aebe41
2021-03-10 17:14:50 +05:30
Dennis Francis
743ccdd370 set pen position for all path initiated drawings
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Iab1c9defa417b03232a53024eaa6f52232244d87
2021-03-10 17:14:50 +05:30
Gökay Şatır
46aa9ed6cc ScrollSection: Improve scrolling with touchpad.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I831df582ec21aa040f6af2df7b5e6c4f8883c988
2021-03-10 12:27:19 +03:00
Pedro Pinto Silva
36ecadffe7 Add missing image for connectortoolbox
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ib3a7a99ccab6b5ad70234cf56e6573fea1eb56e7
2021-03-09 15:16:20 +01:00
Szymon Kłos
051460559d Don't steal focus from inputs in calc
Change-Id: I03647e328949c30f132a6f88af2e302743ef606f
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-09 14:08:25 +01:00
Szymon Kłos
0a5c8011e9 Don't steal focus from annotation in calc
When CellCursor command result arrives we focused
the document what caused annotation closing.

Change-Id: Idf2eb8c5b3b0049dd0aeb7c82cca80083b304698
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-09 14:08:25 +01:00
merttumer
51705336d7 Added Draw to "Launch one of these" prompt on startup
Signed-off-by: merttumer <mert.tumer@collabora.com>
Change-Id: Idbcd5d1b9063e2ef3b7478906a6a346e236db51d
2021-03-09 12:40:20 +03:00
mert
0a9b93df43 Selection marker should be enough for search test
Now we hide selection handlers while typing due to
not being able to use them, these tests fail to find
rotation marker. When text is found on mobile selection marker
wraps the found text and they become visible. when not found they
become hidden again. Checking the selection marker for this test cases
should be enough.

Change-Id: I6037450bc17438e4819ae3b724849f74f26910d4
Signed-off-by: mert <mert.tumer@collabora.com>
2021-03-09 09:59:20 +03:00
mert
a63a08223f Hide selection handlers when cursor is active
Dragging is impossible when cursor is active so
displaying them only leads to confusion

Change-Id: Ib0586ce6ac38354b84076972e01be136f7ec66f9
Signed-off-by: mert <mert.tumer@collabora.com>
2021-03-09 09:59:20 +03:00
Ashod Nakashian
95bb52d945 wsd: test: better logging
Change-Id: I3d17afb2e76f1d4b2b27182a6419482801342e8c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-08 22:49:53 -05:00
Ashod Nakashian
89a587a695 wsd: always set the Fin bit for WS frames
Change-Id: I60f676fb5022ee1b2740f5cc6974595f3e86d039
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-08 22:49:53 -05:00
Ashod Nakashian
a533627b5a wsd: test: improved logging
Change-Id: Iac80450cd88997572727ffe30e0b26737df96f46
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-08 22:49:53 -05:00
Ashod Nakashian
8178a7be9f wsd: test: log the length in decimal instead of hex
Change-Id: I4abaa903a529e2e6a99af5e0056883c084c1e9ea
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-08 22:49:53 -05:00
Ashod Nakashian
05ec2a68d6 wsd: copy strings only when needed
Change-Id: Ia63d5f9526bbcd295a9a5d18990a4f1ab744a5b2
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-08 22:49:53 -05:00