Currently translated at 100.0% (370 of 370 strings)
Translated using Weblate (Croatian)
Currently translated at 70.0% (294 of 420 strings)
Translated using Weblate (Croatian)
Currently translated at 99.7% (369 of 370 strings)
Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/hr/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/hr/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I6cdad8accc1578505c9d54d2fc62f97ef80654b8
Currently translated at 100.0% (420 of 420 strings)
Translated using Weblate (Ukrainian)
Currently translated at 92.6% (389 of 420 strings)
Translated using Weblate (Ukrainian)
Currently translated at 86.6% (364 of 420 strings)
Translated using Weblate (Ukrainian)
Currently translated at 76.4% (321 of 420 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (370 of 370 strings)
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/uk/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/uk/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I27556c55ad2c9e0cce5836f8dfa18cdc1ec41e11
Currently translated at 100.0% (420 of 420 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (370 of 370 strings)
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/tr/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/tr/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Id1dd05d5a7713d67afd10acbd22ac88e3e8e9bd1
Currently translated at 100.0% (370 of 370 strings)
Translated using Weblate (Slovenian)
Currently translated at 100.0% (420 of 420 strings)
Translated using Weblate (Slovenian)
Currently translated at 99.7% (369 of 370 strings)
Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/sl/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/sl/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I1fac7b84b2c95d1851be3aaf3e8db7678977ebd3
Currently translated at 99.0% (416 of 420 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (370 of 370 strings)
Co-authored-by: Joan Montané <joan@montane.cat>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ca/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ca/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5feebf884d7b777893a2fdf0fa16b92c54f9c084
Now, bound sections propagate events to the sections those are beneath
them. StopPropagation feature is also implemented.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I54c886fea0e254d4b97c4d06585db8ed28d40ab9
from nav when in edit mode (keep margins when on readonly mode)
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I83923bbb34e34c20daa81e80c5832778faab8e1b
- Fix#1395
- This was also affecting iPad
- Overflow property doesn't apply to some table elements like table grouping and containers by default.
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I2e12c3cb1e5e2ced16748e79063774502c670946
Currently only the cell-cursor and document selections are part of the
canvas overlay. The others are still part of svg layer.
For now only the bounds of the canvas-overlay items are asserted. The
canvas overlay items update their bounds data as JSON text on cypress
only divs inside the overlay section div every time there is any change.
Unlike cell cursors, the selections need not be always a single
rectangle. To add tests for the more general cases, the json format of
test data is helpful.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I70e6328116c44317f31deb9c8bea62e781d8c421
Now, sections can be anchored to other sections's edges.
One does not need to set approximated initial positions for expandable sections any more.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: Ic012960dedbd937c19c7442cefefdfebdaffafd3
During zoom-animation, the map zoom is still the prezoom level hence the
painting will conflict with zoom-frame painting.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ib0fc5a3e4ab5e1b5dfc8410af0beaca5b90036ab
This resolves a dependency on userName
(a.k.a. UserFriendlyName) that was a source
of issues when missing.
It turns out that when it's missing but
spellOnline is set, an edge-case caused
an exception that failed loading.
The spellOnline value, in its turn, was
incorrectly set to "null" when in fact
it was missing. This resulted in online
spell-checking being active by default.
Perhaps this was intentional, but here
we don't change this behavior at all.
Instead, we avoid sending "null" when
it's missing, and by default we always
enable online spell-checking, unless
it is explicitly set to "false".
This way, the exception is not thrown
and spellOnline doesn't have invalid
values, while preserving the current
behavior.
Change-Id: I4a09ac44ff5d6147c715afa0fb34af9650da4afd
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
... and add a few test-cases for CPointSet.empty()
* The tests are written in TS and compiled to JS before Mocha framework
runs them using 'npm test' via 'make check'.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I16e28404af76754b6bbb67c6743ca7d0f2701233
when partial update creates bigger element than view
it might scroll down the content
Change-Id: I63cdfe9176d224594b4b737f0883ded8bdc6c878
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
TileLayer is not initialized when Macro Security warning
is shown - so move to the socket so it can be handled.
Change-Id: I16493d80386c7814ba11d5acc5fa6944f58accf8
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Standard buttons like help or cancel can be not
wrapped with jsdialog weld wrapper so click action
will be not performed correctly. For standard buttons
we have to send correct response to the dialog.
Change-Id: Ib4d42e53f4789bd12ad83404796f6d7a4ce19ef4
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
+ if jsdialog or tunneled dialog is open
don't steal focus by CellCursor state update
Change-Id: I425ee5e0a96521d8fbdc5dd235defe247f2cf9cb
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
When eg. Statistics -> Sampling dialog was opened
we received empty split position what caused to
setup NaN for split pos and no rendering at all
Change-Id: I4bd37778d23b15a01f1850459924c66f437f1570
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
It now detects and compiles ts files in specified directories.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: Ia8a399650480001193be7177b05b5cbb195a98c7
original problem was when in read only mode document container
is not in focus and that is why keyboard shortcut events were
never triggered
This solution focuses the document for composed keys to trigger
shortcuts
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I084635c5d3e61215a4e88d84271587186605133d
This is needed in cases where the tiles have transparent pixels in them.
For example in Writer's tiles, page borders use transparent pixels. In
this case if the tile section background is not white before we paint
tiles, the page border becomes darker.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Id35cfe2e4b22efab8f1b1fb77c4f35dd46f0d1d2
Please do not remove even if unused. It can be useful in temporary
console.log() etc.
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: I2734efa3cffb8dd5e4a9923672ec179fcae3e12f
if windowId is not set it will use -1 what will
trigger sidebar refresh
Change-Id: I619d05d855a99ccf064d556463f5d8812b7b43c2
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Currently translated at 53.2% (57 of 107 strings)
Translated using Weblate (Japanese)
Currently translated at 53.2% (222 of 417 strings)
Translated using Weblate (Japanese)
Currently translated at 64.2% (234 of 364 strings)
Translated using Weblate (Japanese)
Currently translated at 53.2% (222 of 417 strings)
Translated using Weblate (Japanese)
Currently translated at 50.4% (54 of 107 strings)
Translated using Weblate (Japanese)
Currently translated at 64.0% (233 of 364 strings)
Co-authored-by: 日陰のコスモス <baffclan@yahoo.co.jp>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ja/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ja/
Translation: Collabora Online/Android app
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I73fdd7c96e80288936281ec19aba2acef2036972
send click event for cancel button as there is no
better way to close this docking window...
Change-Id: Id5f30e3d823b154117e9da7dca6bbbdef2422591
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
to avoid any spillage of painting off the freeze panes if any active.
As of now the CPolyUtil.clipPolygon() does not work properly so there
the updatePoly() call will paint outside the specified region. So the
canvas clip helps.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I2b0b9f767bb04cf504323e087cad456fe04eb5b0
Also add CPolyUtil based on L.PolyUtil that contains dependant
algorithms for polygon clipping.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I4d43fd208e47207116bd2253733fe6205fcd6c48
The overlay needs to be painted only for the tile area.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I725a6b656d8261a90e6debbea0478a0581822b40
is updated and not do them every time updatePath() is called.
Also compute both rings and bounds in a single pass over point-set.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I718f33d3ecd97da333fab0dd1fd3312d16ea6aa9
CLineUtil.ts is also introduced from L.LineUtil which has
implementations of dependant line algorithms.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I5ff24c8daf0391553c45db74d6f512ccc80fcc97
.. since the subclasses of CPath need to use it for clipping the
contents to visible area mainly for performance reasons.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I86c7a46e498b69b55990a8b4423cbf1da5efae71
as CPath's subclasses need to access it.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I04b42e9b867d308855a62a7e1b82650dc75c57a1
and use that in CanvasOverlay and CPath.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Id3cf0418396dc72b47aeeadf22e78ce3aa1fff4e
The generated js for CPath.ts is added to the generated CanvasOver.js
for now using
/// <reference path="CPath.ts" />
as there is no support for modules in ES5.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I72bf2ab6f299641925c72b484f63e755ba4e61d4
The overlay section will need access to tile section manager to make it
paint over the regions it wishes to "erase" before painting the updated
paths/objects. When overlay's objects are updated, their paint will not
be via onDraw, so tiles are not painted beforehand.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I9ea142af69675ee6e0da7132ee36f399facb8ead
Row and column group controls' plus & minus signs were not hairline. It is fixed.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I964f0e3916df91b110ba17e819c24d589c6bd3cd
When column groups is used, document was badly aligned.
This commit fixes it.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: If572735a935fae1db2a94b66711b0a9080490a37
coordinates.
Record the last cursor position before any transformation
to (lat,lng) coordinates
Change-Id: I183c55da5cd0f9e3338c411382708afc4b945c01
Signed-off-by: Henry Castro <hcastro@collabora.com>
* on classic
* on notebookbar
* allow it in readonly mode
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I29ed6ed40810ba0e59cdb4d55b9898d016653678
Without this, when joining an editing session of a spreadsheet, you
don't see the cell cursor of another participant until they move the
cell cursor.
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: I87b8ad584d57bce52b39706fa9f0bbf56a59082a
Row and column groups share some of the functions. They are moved into a file.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I268daf2c293f0cac150587a23001f873e23b4dfc
More comments are added.
Early exits are used.
Unused functions are deleted.
Some functions are renamed for better explanation.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: If835fbb9bbae6898c4847b2c428a3e36f042b60a
Remove "spreadsheet-row-column-frame" div. Since row & column headers and groups are drawn onto the same canvas with tiles, that div shouldn't exist.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
This reverts commit 284e8ce308.
We have to disable panning handler to avoid panning when resizing
the selection using handles.
Change-Id: I9994b3e9ba32bc3e43567d43e547eada311c050e
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
We have a dummy spreadsheet document with a column of cells each in a
different font size. The font size of the current cell is displayed in
the sidebar.
In the test we step through the cells first downwards and then back.
Thus the sidebar image that contains the font size will be updated as
we step through the cells. At first nothing will be found in cache,
but when returning, the images should be found in the cache. If the
cache in the JS client is not consistent with that in the server we
will throw an exception.
Change-Id: I439263c7923d985679fafa0125cd2d7f635e0995
Signed-off-by: Tor Lillqvist <tml@collabora.com>
references.html has been replaced by 2 files with content LOLeaflet
and PostMessage setions respectively.
Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: Id095da5f1ab11c96d090bceab921d74b4fe68482
If the client cache seems to be inconsistent with what the server
thinks, send an ERROR message to the server that will be logged.
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: Ic7f9d7fb15b2c34f7a6cd2decbacaa7745ac9389
Signed-off-by: Tor Lillqvist <tml@collabora.com>
it is not necessary fire 'updatemaxbounds',
because the association map <-> document layer
1:1
Change-Id: Ic41ab328f7d3d331624107a13acf9f1fdd4c46df
Signed-off-by: Henry Castro <hcastro@collabora.com>
Taping on the selected slide's preview should open the mobile
wizard with the slide properties. To achive this also with
a selected shape on the slide we reset the selection first
and open the mobile wizard after that.
Signed-off-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Change-Id: Ie60ec9bff01d143e6ca79fe4e32849b2a4fb3bc6
The same cache size is used in server and client. The caches use the
invalidation algorithm. Pass the hash of the pixmap in the
windowpaint: message. The client stores dialog images in its cache.
The server stores hashes of the images. When the server knows that the
client already has an image cached, it sends just its hash and the
client will use the cached image.
Pass the size of the cache to the client so that we don't have to keep
the the cache size synchronised in two places in the code.
Change-Id: Ie6cbfca79a9ede48fcc115e3acc669b925bb624e
Signed-off-by: Tor Lillqvist <tml@collabora.com>
keep full code of each field in one place
iOS button was hardcoded and created in event
keep the previous structure but style at build time
Change-Id: I83bb808997c04206af7678b24ae1f8ed75f7b2a1
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Canvas element's drawings will include part of UI outside of map area. Its size should be larger than tilelayer's and map's sizes.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I89bf79ccfe0240abdb031b937626b0bb81f3ed6f
This helps to keep control in the same place
if node has more siblings
Change-Id: I5922c5a34b85bace169504646e92fe892fbaf3a5
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
+ setup windowId which is received from core
Change-Id: Iefc726a2e547d79adca669768bd3c606cb3151bb
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
if JSON has more tabs - build in dedicated containers
if JSON has only one tab - build old old way
Change-Id: Ic960d6976ccdf60c48ca0057fdaa0ff115fca708
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
we first create it without any content so foce the correct size
to correctly calculate position
Change-Id: I08d6a4c8ec42d5515ddd11cec508cb222d4c6ec8
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If97eb79bd697fe2e2b9cb86cbc1643e5890bf626
Signed-off-by: mert <mert.tumer@collabora.com>
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
We restrict insert/delete/duplicate page (slide) only to
presentations, but they also work the in the same way for
drawings. This changes the restrictions to also take drawings
into account for this actions.
Change-Id: Ia9a3627d2144a6813f341ab8a8287743abad475a
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Currently the presentation and drawing menu entries use the same
definition, but as drawings are different with different terms,
it is best to separate the presentation and drawing entires
instead of handling the exceptions all the time.
Change-Id: I078eb4ebb5014a04614d20363042b3cd75e9a36d
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Separate the toolbar from presentation and remove icons that are
valid for presentation only.
Change-Id: I0dd74f396326b838c9a65352978a771bdb5da13d
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Crash trace:
at NewClass.getViewColor (/src/map/Map.js:702:33)
at NewClass._onUpdateCellViewCursor (/src/layer/tile/TileLayer.js:1466:55)
at NewClass._onCellViewCursorMsg (/src/layer/tile/TileLayer.js:1450:8)
at NewClass._onMessage (/src/layer/tile/TileLayer.js:710:9)
at NewClass._onMessage (/src/layer/tile/CalcTileLayer.js:394:37)
at NewClass._onMessage (/src/core/Socket.js:916:24)
Caught by calc/sheet_operations multi-user test.
Signed-off-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Change-Id: I56b686e8d9f27a407f1fef54808e4f65c99173f0
We are drawing things from different files onto the same canvas.
CanvasSectionContainer is organising them. When they are too many, it is difficult to know about sections' important properties.
CanvasSectionProps keeps sections maintainable.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9e81104c30f30a47c02625ce9d6716a98958317c
Bugs related to ordering of sections are fixed.
addSection and createSection functions are separated.
contextMenu event is added.
Sections' drawing orders are updated for future uses.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I89127c97ad7b7dac4b293c4108c44cb6c4427134
by resetting the isLocated flag for each section.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I0ad41f20219afd8b90050bd43223843ca280587d
Sections which are not yet expanded via locateSections() can interfere
with the hitLeft() and hitTop() for sections of same z-index depending
on order of addition. So lets skip the sections for computing hitLeft()
and hitTop(). This also avoids redoing locateSections() for all sections
everytime a new section is added.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I7595f5b5cfaa61d8fcfe177edd4c605d3fb7b122
when there are no freeze-panes active.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Id5b651d4b1e76cd14b725d125f813d93ed031ff8
The issue is that we passed viewinfo messaged to do _docLayer
in wrong order because of the too simple delaying mechanism.
Wrong scenario steps:
viewinfo-1 arrives: _docLayer is not initialized yet -> 100 ms delay.
viewinfo-2 arrives: _docLayer is initialized now -> pass to _docLayer.
viewinfo-1's timeout: _docLayer is initialized now -> pass to _docLayer
Better to use the more sophisticated delaying method.
See _tryToDelayMessage() and related methods. They keep the order
of the messages.
Signed-off-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Change-Id: I335b350b1553cfdee573f7d2e57c86c4b8f9af84
- iconview fix layout without using hard-coded margins
- fontwork: make sure the elements start at the same left position as the title and that they occupy the dialog evenly
- hide unnecessary label
- space-around when on mobile
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ia92acf1cbf09a3e7c6e996f9a846163835b115af
jsdialog updates require main container for control to have
id equal to the widget id. In case of radiobutton it wasn't true.
Fix it for desktop for now and leave for mobile as is (used
in cypress tests - so needs reworking)
Change-Id: I9220b289185ff6a72ea08360f0fa0570db40f95b
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in a 'blur' event handler?
at NewClass.onRemove (src/layer/marker/Annotation.js:48:24)
at NewClass.removeLayer (src/layer/Layer.js:83:10)
at NewClass.onAnnotationCancel (src/layer/AnnotationManagerImpress.js:107:14)
at NewClass.fire (src/core/Events.js:152:22)
at NewClass._onCancelClick (src/layer/marker/Annotation.js:314:14)
at HTMLInputElement.handler (src/dom/DomEvent.js:51:14)
Change-Id: Ib4a9f60d6b0685b80cdf1271f506692dffe19715
Signed-off-by: Henry Castro <hcastro@collabora.com>