Compare commits

...

440 Commits

Author SHA1 Message Date
Szymon Kłos 0a9b7b6b82 jsdialog: move About dialog to separate file
- converted to TS
- will be later extended with additional functionality

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I883da61018808d79d616d7346e86dadf9fa7079e
2024-06-01 07:48:48 +02:00
Gökay Şatır f846e66c4b Text selections handles should be active when there is a text selection.
That condition shouldn't be checked before scrolling to selection position.

This fixes "doesn't scroll to searched text" issue.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9f901ba2fa15ade5416ad68f62e356e34163c641
2024-06-01 07:48:25 +02:00
Pedro Pinto Silva 2da77405ad Formula bar: buttons: make grid on equably sized columns and fix btn
- Toolbox: Remove height min-content as it's prone to problems and different
outcomes depending on the context. Plus we don't need it if we enforce
it via grid
- Center all elements
  - Including unotoolbutton

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Iadc55f0d253dd4a06c11ad8cd062c02863b1d12f
2024-05-31 14:30:19 +01:00
Szymon Kłos 2e918f5484 formulabar: fix css for accept / cancel formula
When editing formula buttons were misaligned

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I1208656751d9d3238d5a980503fd07bb868fd374
2024-05-31 14:30:19 +01:00
Pedro Pinto Silva cc8febf7fa Toolitem: Set Clear direct formatting btns with the same css class
Before this commit:
- Impress on tabbed and compact view didn't have the common (and in
used in the other apps) 'unoResetAttributes' css class

Set all with the same CSS class so integrators with customizations
are not force to single out special cases.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I82deb98a628b527470fcd2e54f1374df21380bfa
2024-05-31 11:56:48 +01:00
Szymon Kłos 11682f1fc8 Calc: fix following editor on different sheet
If we follow user who does editing on other part - we need to
switch to it first. Whitout that we failed with error in the
browser console due to missing marker on the screen.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I3d4150f5c8f70240d3a386a8d5a7fdbc4e8d37d9
2024-05-30 19:56:48 +02:00
Szymon Kłos bf32a3f5dc Move following state to the app docstate
- avoid using fields manually, use helper functions
  to keep correct state transitions

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Iad466ab00b256c86eebf9da2609edc68513e988c
2024-05-30 19:56:48 +02:00
Caolán McNamara d96a5a0421 dynamically change slurp timeout
as if the pending one was launched with the new delay priority
initially

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie5553492c52baaedbd84dc1450328ce8c3b623bb
2024-05-30 17:30:48 +02:00
Caolán McNamara 0beeaafb46 don't warn about the self trigger of invaldatetiles: EMPTY
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ia3232aa18605a2b5ba4a957b961b21eb0d13b00d
2024-05-30 17:30:48 +02:00
Caolán McNamara 4d86fede5c fix up a little
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I7cc1bb2c941878420ecffcdb177c0701ba99e244
2024-05-30 17:30:48 +02:00
Michael Meeks 7ae880289d project how many tiles we are waiting for while slurping.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I464843eefaa2422ab5119e07ee4a9cb7418062f2
2024-05-30 17:30:48 +02:00
ArshErgon 79b667a331 formatted and add missing .md
Signed-off-by: ArshErgon <arshergon@gmail.com>
Change-Id: I69e51b19822417a6861ec23d96755622f2cdf01b
2024-05-30 13:50:47 +01:00
Pedro Pinto Silva faa64da0ca Text droplet (Teardrop): hide it when on non-touch desktop
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I6544845526c2e70bee7d6e3b193e9fb4931422c6
2024-05-30 14:18:51 +02:00
Andras Timar 0c74a8190b
Update SECURITY.md (24.04) 2024-05-30 12:42:49 +02:00
Gülşah Köse 8cd1245efa Implement Invert background color button
Button invokes the uno:InvertBackground command than user can
see the inverted document color even app is dark mode.

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: Ie273ec4b3d26ffbc38384dc39943b8656e4364d4
2024-05-30 11:20:26 +01:00
Gülşah Köse 963ed8ce01 Revert "Hide Invert Background button until implementation"
This reverts commit a73991b7f3.

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: Ib4bc64ab71f6a6f57dc1f1c1faf359455e58b529
2024-05-30 11:20:26 +01:00
Hubert Figuière 7b9b62b7a3 draw/impress: Added the convert curve command
It is .uno:ChangeBezier
See https://github.com/CollaboraOnline/online/issues/9174

Requires https://gerrit.libreoffice.org/c/core/+/168170

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I96b8e04ac41a803446e11ae44fb6d19a2b2b0bf1
2024-05-30 05:59:22 -04:00
Bayram Çiçek 6318f53112 Formula Wizard: better alignment of label that under the Structure tab
- the label between Structure tab and TreeView was misaligned. This is corrected with this commit.
- label "Structure:" changed to "Functions in use and their validity:" with https://gerrit.libreoffice.org/c/core/+/168161 (6c15d246afa1774298e1438f2117b593a065bfe4)

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I197fb84154226709395f4f2789fc288367c00f05
2024-05-30 09:59:48 +01:00
Pedro Pinto Silva 689b799498 Update Matrix room name and url
The matrix saga seems to be solved now

- There were 3 rooms. I needed to remove both local and published
address from there (the old matrix.org room)
- Skyler helped by setting the local address of the active room to the
matrix.org
- Then we could set the published and the main address as #cool-dev:matrix.org

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I7e73e0750dd94744eb0706230da40ab51bbad7f7
2024-05-30 08:49:31 +01:00
Sebastiaan Veld 6636199c19 Translated using Weblate (Dutch)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Sebastiaan Veld <sebastiaan.veld@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/nl/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I55e6bcc2f5599c163dde5c5d82cac7908598b829
2024-05-30 07:49:56 +02:00
Henry Castro 2ac4797305 browser: fix removing new comment
1) User1 start resizing row/column
2) User2 create a new annotation
3) User1 finish resizing row/column
4) Server update comment position
5) User2 new annotation is hidden

if comment is new, do not hide when updating new comment data.

Change-Id: I593dff167f75cc3dc451467a7d76a09f94a3a556
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-29 08:55:01 -04:00
Miklos Vajna 2c82f0a712 fuzzer: fix default log level
Recent a failed jenkins job had a lot of output, the tail of the log
starts with: "Skipping 3,970,746 KB".

I guessed that the problem is that the fuzzer figured out what is the
protocol to change log levels, but it isn't there yet.

What seems to happen is that fuzzer/Common.cpp defines the log level to
be "none", but this is not handled at GenericLogger::mapToLevel(), so we
managed to enable trace level for known-broken input where we're not
interested in the errors/warnings.

The fix can be tested by adding assert(false); to Log::log(), previously
the fuzzer failed with an assertion failure for a simple input like "12"
(unknown command) and now it just exits silently.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ib5f4bedca706d7a0310a2eb9f661053a3095822d
2024-05-29 09:10:44 +02:00
Parth Raiyani 7f0c21410e Toolbar: fix hyperlink protocol preservation
Signed-off-by: Parth Raiyani <pmr642001@gmail.com>
Change-Id: I0fdabc20a5f5f0f0db3f47b935968aa46bdcebeb
2024-05-28 20:09:34 +02:00
Parth Raiyani 6186c6d536 Toolbar: Fix broken urls and auto-focus on modal open
Signed-off-by: Parth Raiyani <pmr642001@gmail.com>
Change-Id: Ife153056b3dccb64b66a614c37532c59690bd792
2024-05-28 20:09:34 +02:00
Pranam Lashkari ba7917cd95 jsdailog:css: increase width to fit content in manage changes dialog
increased jsdialog width to fit content when necessary.

removed margin from icon to make it look even spaced in listview (i.e: manage changes, zotero add citation)

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I225b5b5d42d573cb4afcdb428e2eb3b81aa99073
2024-05-28 19:00:27 +03:00
Méven Car b784919bb2 UiManager: default to notebookbar by default
In case of misconfiguration (missing userInterfaceMode), deprecated "classic" or "default" userInterfaceMode, which is the default, use notebookbar.

Users can still use "compact" as documented to use the compact style
(formerly called classic).

Signed-off-by: Méven Car <meven.car@collabora.com>
Change-Id: I00ee65edb21fcf80724bc83f947341dfdc5c8ed6
2024-05-28 15:45:44 +01:00
Skyler Grey e5070e7718 fix(desktop): Prevent zoom view jump
Previously, zooming using the +/- zoom buttons caused your view to jump
such that alternating in/out zooms would move you to the top left of the
document

Additionally, the zoom did not zoom around the correct position, so a
cursor in the frame would not correctly zoom around the cursor

This is now fixed

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I6d468795abbb972174774cf1620cb4a0959142f2
2024-05-28 13:57:41 +00:00
Bayram Çiçek 42c044dbdf add AutoFill contextmenu items
- remove Control.AutoFillOptions.ts & cleanup
- added AutoFill contextmenu items
  - Copy Cells
  - Fill Series
- add 'AutoFill':{spreadsheet:{menu:_('Auto Fill'),},}
- remove LOK_CALLBACK_CELL_ACTIONS

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: Ib64f6078ec50c994da3ed188910cba258adfe3fa
2024-05-28 14:07:09 +02:00
Bayram Çiçek 84802577d3 remove isAutoFillFromOnMouseUp and add LOK callback
- we don't depend on OnMouseUp event of AutoFillMarkerSection.ts anymore
which makes the popup more stable in terms of open and close.
- requires: added LOK_CALLBACK_CELL_ACTIONS with
  https://gerrit.libreoffice.org/c/core/+/168086 - 1cf2a23c7cb0a149562635432b003164059617b5

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I2294f6aa091231c2ddf1a448776f51a3a892b646
2024-05-28 14:07:09 +02:00
Bayram Çiçek 56ae33dd34 make instance.isAutofilter false for autoFillPopup
- create instance.isAutoFillPopup
- change closeAutoFilterDialogsOnTabChange() to closePopupsOnTabChange()

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I32c5d26f8567a156ff0e94bc6ff1ff5bdf7be8b3
2024-05-28 14:07:09 +02:00
Bayram Çiçek 03bee87129 remove undo call and refactoring
- undo uno calls are removed: no need
- unified the popup operations with _handleKeyDownForPopup()
- make popup entries translatable
- add explanation for AutoFill

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I69935150597c90851c3d731b42b1adf072ae29cd
2024-05-28 14:07:09 +02:00
Bayram Çiçek b7da4e5a9d close AutoFill popup on contextmenu operations
- remove unnecessary "this._map.fire('closeautofillpopup')" calls
- refactoring
- close AutoFill popup on some contextmenu entries from sheet tabs
  - insert sheet before/after
  - delete / hide / show sheet

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: Ie5d28addd00985f7b0335a66457da2451250e057
(cherry picked from commit 63827dcd32)
2024-05-28 14:07:09 +02:00
Bayram Çiçek b8c55589b4 add Esc and ArrowDown key support
- Esc key to close AutoFillPopup
- ArrowDown to focus elements inside AutoFillPopup
- ArrowDown/Up to cycle inside the popup

- also remove "this._map.fire('closeautofillpopup')" from
"Ctrl + Alt + PageUp/Down" since we don't need to close
AutoFill popup anymore here as we close the popup immediately
after pressing "Ctrl" key

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: Iac4bbd1104f3140bd47842daaae2eb3bfa87daef
(cherry picked from commit 6ab88d7bf3)
2024-05-28 14:07:09 +02:00
Bayram Çiçek 0d87c761fc make AutoFill work with .uno:AutoFill
requires: https://gerrit.libreoffice.org/c/core/+/167726
5ab9b63e6624947a6076a01f9bab0d7a925e0e40

Copy cells
- this.map.sendUnoCommand('.uno:AutoFill?Copy:bool=true');

Fill series
- this.map.sendUnoCommand('.uno:AutoFill?Copy:bool=false');

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I40551e4323997c8de6997483b0cff239cb8d2ec4
(cherry picked from commit fad20b12a6)
2024-05-28 14:07:09 +02:00
Bayram Çiçek 378c27b998 add functionality for AutoFill Options
Added functionalities for "Copy cells" and "Fill series".

- Copy cells
this.map.sendUnoCommand('.uno:FillSeries?FillStep:string=0')

- Fill series
this.map.sendUnoCommand('.uno:FillSeries?FillStep:string=1')

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I77a3512627e35f2a176b147d3f54f08c7f5f7b08
(cherry picked from commit 77c1764fb3)
2024-05-28 14:07:09 +02:00
Bayram Çiçek 2e4caadd05 close AutoFill popup on tab change
close AutoFill popup when
- sheet tab is clicked
- new sheet is inserted
- sheet tab is switched using Ctrl+Alt+PageUp/PageDown
keyboard shortcuts

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I03711d202b47813d101bd066db1a3e8e106430e3
(cherry picked from commit 8529063378)
2024-05-28 14:07:09 +02:00
Bayram Çiçek 5b7f27f1e4 add auto fill popup UI
AutoFill popup has two options:
- Copy cells
- Fill series

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I08ad88afad1bb6bd2d746a9a8964f1b4446ae7c7
(cherry picked from commit 91f080976f)
2024-05-28 14:07:09 +02:00
Miklos Vajna 454bcc42e5 common: avoid adding too large ints in the Rectangle ctor
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I17b5793c6a0d8a285f41af3846e7aacfc84f3c8c
2024-05-28 13:41:14 +02:00
Darshan-upadhyay1110 74f0979880 Add cypress test to verify input element state after update message
- this test will check input element getting set to it's right state after update on jsDialog
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Ib22dd0c5d6c6ab95650617480c137b306b8a6e80
2024-05-28 13:28:18 +02:00
Darshan-upadhyay1110 3591fba03e Fix state update of input element
- Input elements in jsDialog does not change state after CORE update message
- this is because in previous commits we changed input element structure.
- we should Synchronize the child elements with parent.
- this patch will Synchronize disable state of parent with it's child elements

Change-Id: Ice94de732dc7392f3c79100e6a2d60480294eb0e
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
2024-05-28 13:28:18 +02:00
Darshan-upadhyay1110 bb15a1d05a Close mobile icon should be hidden in desktop
- if we switch to compact mode & server get reconnected some icons are visible in desktop which should be only visible in mobile view.
- in control.toolbar.js we call updateItem method for icon in mobile
    - `toolbar.updateItem({id: 'closemobile', type: 'customtoolitem', w2icon: 'editmode'});`
- after this updateItem call we should also check all condition about that item like
        - item should be visible in mobile or not
        - item should be available in tablet or not etc etc
- this patch will do that checks
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>

Change-Id: I11adc3d94cacd4afe85e177d050ccc73f3112872
2024-05-28 13:19:49 +02:00
Szymon Kłos f8a64d5407 cypress: quick fix for rounding error
unblock CI from:
cy:command ✘  assert	expected **<tspan.TextPosition>** to have attribute **y** with the value **'3286'**, but the value was **'3285'**

error

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0ccb209c12e15a829f99f8323bf7b1ee8ca39aa0
2024-05-28 12:17:42 +02:00
Pedro Pinto Silva 449b35b64c Color pickers: Fix image size and alignment
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ib4391a2dce205928309c94b86ad7c8e759eaffa1
2024-05-27 15:01:10 +01:00
Pedro Pinto Silva 429070a224 Notebookbar: Home: Remove unnecessary CSS and fix fontnamecombobox
- Remove all the rules that are not longer active (better solutions
were implemented)
- Remove also #fontnamecombobox.notebookbar declaration. Not only top
and padding were not applicable but we were setting the width which in
turn was creating a different gap (bigger than the grid gap) and
moving icons out of place

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ibf608f41d25beb3120b5b6d9f032673697f018b8
2024-05-27 15:01:10 +01:00
Pedro Pinto Silva da051e2178 CharBackColor: Remove legacy CSS rule, no need for extra margin
- This has no effect anymore since the id has changed
- Furthermore, the fix is not needed anymore since meanwhile impress
and draw has seen new button additions (shadow, fontwork) that renders
this obsolete.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Id1990e9c6e227cf2f2567b18e7826fee81865a69
2024-05-27 15:01:10 +01:00
Szymon Kłos 0dd2c55adc jsdialog: add queue for snackbars
Snackbars will appear one after other now.
Add forgotten SnackbarController to Makefile.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Iaf5ed98f8384c2688adc9653948137f23fb0ce3e
2024-05-27 13:45:08 +02:00
Poe Mon 97ec41c0f2 Translated using Weblate (Japanese)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Poe Mon <p.poemon.awitd@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ja/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I558b81c08e65f2a58eaf8d8581813f3c237fc81a
2024-05-27 10:04:39 +02:00
Sabri Ünal e2b238aba9 Translated using Weblate (Turkish)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Sabri Ünal <yakushabb@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/tr/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Id4337eac79282f315de7ced849ae686d906a5778
2024-05-27 10:04:39 +02:00
Yaron Shahrabani 7962411b5f Translated using Weblate (Hebrew)
Currently translated at 70.2% (336 of 478 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/he/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/he/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Icc48a9c6f488090a1a03e3704053ff26a41f3cd4
2024-05-27 10:04:39 +02:00
bittin1ddc447d824349b2 f322995c59 Translated using Weblate (Swedish)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/sv/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5a6fa8532f559069b07e7fb4cb4802e21c9220c4
2024-05-27 10:04:39 +02:00
Ali fe1de9cbf7 Translated using Weblate (Arabic)
Currently translated at 100.0% (478 of 478 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (110 of 110 strings)

Co-authored-by: Ali <alimahwer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ar/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ar/
Translation: Collabora Online/Android app
Translation: Collabora Online/Help
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I7a63416359b15bd99dde457b06a1912e6d434b75
2024-05-27 10:04:39 +02:00
Caolán McNamara f8a79af294 cid#318827 COPY_INSTEAD_OF_MOVE
and

cid#318828 COPY_INSTEAD_OF_MOVE
cid#318832 COPY_INSTEAD_OF_MOVE
cid#318861 COPY_INSTEAD_OF_MOVE
cid#318888 COPY_INSTEAD_OF_MOVE
cid#318889 COPY_INSTEAD_OF_MOVE
cid#318898 COPY_INSTEAD_OF_MOVE

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I1022fcb7437ebf7ef4c9d6f49e1c6b9a73ea6837
2024-05-27 08:36:18 +02:00
Caolán McNamara 6638f4a059 cid#368709 Improper use of negative value
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ic13d6cb836deb9612990ab40e0b5ad6b27b5d7a8
2024-05-27 08:36:18 +02:00
Caolán McNamara c2aaf2edd1 cid#368707 Unchecked return value from library
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ifb47d264a91a55d8bd565b1251a95973ddb8f5ec
2024-05-27 08:36:18 +02:00
Michael Meeks a6678b554a Cleanup and shorten tilecombine descriptor lists.
If we have all default values of imgSize, wid, old-wid then we
should simply not serialize these out to save space and improve
readability.

Unfortunately, this means that we need to catch the mutation of
the TileCombined's content in two places; now just one. Building
the queue of rendered tiles to send back is now moved and
wrapped into a TileCombinedBuilder class - this also lets us
stop serialize taking a random vectors of TileDescs. However
the DocumentBroker::handleTileCombinedRequest method needs to
set the force-keyframe oldWid=0 flag on individual tiles and
then update the TileCombined.

Ideally we would have a nice visitor API and drop the non-const
getTiles() method that returns a reference to our internal vector.

Update tests, to not have redundant attributes, and add more tests
to ensure redundant attributes are removed.

Change-Id: Id76d3ae14d459d73bbae8112d840dea27f66588b
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-26 19:28:30 +01:00
Andras Timar 90a72c6baa Update Helm Chart with new release 24.04.3.1
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5cd3cf80874a99dd84f62ae6877ee202d8a43163
2024-05-26 15:48:01 +02:00
Darshan-upadhyay1110 5c7ee9e0c3 Replace ruler height hard coded value with css-variable
- Replacing the height value with the CSS variable will help maintain better consistency.
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I0627778919885c8ee0a989f0b47b976304892585
2024-05-24 21:10:52 +05:30
Szymon Kłos 34850e7bbd jsdialog: create separate controller for snackbar
Reduce size of UIManager and also it will make it possible
to add queue of snackbars to show.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I221049f48f471d85795ede7922a668eef4c7f0df
2024-05-24 16:20:39 +02:00
Szymon Kłos 500997fdd9 jsdialog: move types into single file
To deduplicate definitions

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I3c542e192f31ece69cff08cae5dd61e32b478420
2024-05-24 16:20:39 +02:00
Aron Budea 8846578d38 Move hello-world.odg to hello.odg
So it behaves similar to other hello/hello-world documents.

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I529b5bec81c1bf5085300f8c52311db023c6b09a
2024-05-24 14:26:09 +02:00
Darshan-upadhyay1110 0a9968a074 Handle case for items only available in dark mode
- we have now some uno item present only in dark mode.
- so there is no resone to check image exist or not for light mode.
- we will set dummy url for those image elements.
- this patch will consider those items and will not throw error if icons are not present light mode
- Example: please see `invertbackground` item in view tab after change to dark mode
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>

Change-Id: I6aa2fc9d7bdd356617a808f17d14f77bc8453496
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
2024-05-24 11:48:27 +01:00
Darshan-upadhyay1110 8396afa1af Statusbar: Set image to false for zoom menubutton
- `zoom` menubutton is not a image to represent so we will make `image: false`
- this pathc will fix image not found error for `lc_zoom.svg`
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I39c2d68f4b0afc7b3831c2082be2ae1a315b2d8e
2024-05-24 11:48:27 +01:00
Darshan-upadhyay1110 6dfeffd53a Add missing dark mode icons for 24.04
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Ibf42fc04f953769790e9bc4145d8fe4f6e994298
2024-05-24 11:48:27 +01:00
Pedro Pinto Silva 9c766bb9ee Comment: Add missing icon alias and remove unnecessary duplicates
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ie1ea6e5be762ee5d1650cf8ccb0a408ce6340c08
2024-05-24 11:48:27 +01:00
Rashesh Padia b9ef48310e mobile: add save progress bar on top toolbar
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: I14c8a715e922d00b2cfd8f67afd7fc2df2dd9d38
2024-05-24 09:16:39 +01:00
Pedro Pinto Silva 7fad9a6a44 Formula Wizard: list view: use smaller icons
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I84076a6a3b85fe3d61e849946bd8f9f8e7638985
2024-05-24 08:44:41 +01:00
Pedro Pinto Silva 1340fdcdcb Formula Wizard: Fix search input field width
Before this commit the search field wouldn't fill the available space.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: If079942b1e594a0461835e52ad65827a639c6173
2024-05-24 08:44:41 +01:00
Pedro Pinto Silva 701422de3e Formula Wizard: Tabs: Make tree view transparent
Make those transparent since color would just look odd within tab
background and more importantly because they offer no interactivity.

----

Currently the treeview accepts clicks (not just the expanding and
collapsing) but also children accept clicks but do nothing. Probably
we should fix this.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ifc53d0099a19103b15895dc8b76127034b05f3c1
2024-05-24 08:44:41 +01:00
Pedro Pinto Silva dba0e711b5 Formula Wizard: Tabs content should extend all the available space
- Use all the available space on both tabs' content
- Fix Structure tab's content
  - make the tree view extent the available space (1fr)

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ib1c9e852a3a292f795675365040318c1d5602f35
2024-05-24 08:44:41 +01:00
Pedro Pinto Silva 567f6def33 Formula Wizard: Tabs: make it clear that this is tab group
Before this commit the tabs in this dialog were being rendered as top
level dialog navigational tabs. However, this is not the case. Add
background and border to clear separate one and the other.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I158ee1e1d4d163417f5055459adfeac47b6ab437
2024-05-24 08:44:41 +01:00
Darshan-upadhyay1110 b9bef83487 Change vertical ruler code to typscript
- remove use of Leaflet's
- change working js code to ts
- please check above commit messages for understanding of implementation.
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Iee222bbdb343730014260c1785a90e68c6dedfd1
2024-05-24 08:56:03 +02:00
Darshan-upadhyay1110 c25e8d78cc Reset Top/Bottom values of page margin if view section changes
- we are string previous response values of top/bottom margin
- resone is because we need that values to pass after dragEnd.
- but if we change section foucs from Header to Footer or Text area to Shape then we need to reset that old values with the incoming response
- this patch will do that.
- for `table` we will hide the marker as we do not need that. table already have there marker to resize.

- added some edge cases like if start marker goes beyond end marker
- start and end marker should not cross limit beyond page top/bottom

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>

Change-Id: Iffd3cbf08806666b858d9c3da7ca6362085223dd
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
2024-05-24 08:56:03 +02:00
Darshan-upadhyay1110 c3c7caaf0b Set upper and lower margin after drag in vertical ruler
- Send Upeer and Lower space value for header and footer according to drag
- we need to send both values in core.
- even if we drag either upper or lower we will send values accordingly but both values should be updated

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I4ef3287c5afe6e1eef5aac225d3c06ca9d1fd9e5
2024-05-24 08:56:03 +02:00
Darshan-upadhyay1110 4a13987fdd Add markers to vertical ruler.
- As we do for horizontal ruler we need marker that will change margin of Header and Footer of the document
- current patch will have design where user can see markers in vertical ruler
- you can drag and change potition of marker.

Improvments that still need to do:
- user can drag but it will not change size/margin of header/Footer
- next we will pass info to CORE according to corrdinates we got from drag
- it will update text potition on document

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>

Change-Id: I9663a75d5c84eace784266c76be12abd762434bb
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
2024-05-24 08:56:03 +02:00
Darshan-upadhyay1110 d41d73382d Add pageoffset calculation for vertical ruler
- Before this commit vertical ruler stays only in first page
- if we jum to page 2,3 so and so ruler won't change it's possition
- but i have added some calculation based data we recevice from CORE
- calculation:
    - we need to consider pageoffset for vertical ruler
    - check if cursor moves to other page
    - then add total Height of previous pages.
    - for Ex: if we are at page 3 then ruler.marginInlineStart should additionally have total height ( page1Height + page2Height)
    - this will place ruler to exact possition where we want
- next : add Top and Bottom margin drag
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>

Change-Id: Ie2a2d4e5f0cfd627bcafd81230ad33b7aec280a2
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
2024-05-24 08:56:03 +02:00
Darshan-upadhyay1110 d3d7f48225 Add vertical ruler for writer
- add new LOK callback for vertical & horizontal ruler update

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I3c0e26f22072de4612e128d58ac41b629be82807

Add vertical ruler and implement margin calculation

- Added new vertical ruler file to separate it from horizontal ruler calculation
- For vertical ruler we do not need tab stops so removed it.
- next stpe will be to implement add top and bottom margin by drag

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I8186c874ff59571db7a75ec4c31f81fc655ef301
2024-05-24 08:56:03 +02:00
Michael Meeks 69c6739e47 cool#9145 - KitQueue: re-work _tileQueue to use TileDesc.
This stops a huge amount of parsing, re-parsing and conversion
from strings and back, making our few N^2 loops over the tiles
much more efficient.

Retain queue tests with the same strings via using a helper
to convert back to something expected.

Replace TileDesc::getId() with isPreview().

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: If40fc45f1fb474d37371e4b949da5fdfc594fdc8
2024-05-23 19:50:09 +01:00
Michael Meeks 9eae552049 Split tile requests from the main incoming message stream.
Leave them as strings for now; this should be a pure re-factor.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ibad2bc343afe3fe32ea729623f6b03575c7b0121
2024-05-23 19:50:09 +01:00
Michael Meeks bdc2041797 Remove un-necessary distinction between pop and get.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I2870a646f1e16cc138978dd84251bec1939aba13
2024-05-23 19:50:09 +01:00
Caolán McNamara 8640baba46 "Invalid tilecombine descriptor" seen without explanation
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I0635ce3897866953aec9fbbee35cd04f896e845a
2024-05-23 17:12:26 +02:00
k-dasari e3f488a09c Updating error message for node check while building cool for iOS.
Signed-off-by: k-dasari <150323657+k-dasari@users.noreply.github.com>
Change-Id: I91162f59e6ebab2e0e111904a16eb60d65d9382f
2024-05-23 16:51:29 +02:00
Caolán McNamara cf903242a2 fix resquest -> request in coolwsd.xml comment
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie804baec41b59fe7418bb7057f8110cd04b64b9a
2024-05-23 14:24:37 +01:00
Darshan-upadhyay1110 9bfc60b8fe Improve color contrast in application canvas
- improved color contrast between text area and edge.
- changed --color-canvas for contrast between text and edge area.
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I8dd8296901da6ee5ce59704f7e27d8c37d29e8b1
2024-05-23 14:14:45 +01:00
Andras Timar 9c15cb6931 docker: use 24.04 repos
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If21db1acb5b8bb254b5c2e1360b732bba1194cc4
2024-05-23 14:17:39 +02:00
Michael Meeks 030895c754 cool#9120 - use a simple hash to avoid most tile: comparisons.
Parsing a string to a TileDesc and then comparing is inefficient
enough, without doing that in an N^2 loop for the SenderQueue.

Still N^2 - and of dubious value in the world of deltas; but in
almost all cases a simple string + integer compare.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ibe8230679e27b98cfa95567fea700e2f7d5ac09c
2024-05-22 19:58:28 +01:00
Hubert Figuière 7a2bcddeb9 readme: Added blurb about the SDK
Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I7814643089e83da2e45ff7bc83df73244cf2d1d4
2024-05-22 12:10:05 -04:00
Gökay Şatır b4bc0a71c4 Problem:
* On Calc, when user starts editing a cell and uses zoom, core side sends "cursorvisible: false" message.
* This hides the cursor.
* We also hide the cursor while user is zooming in / out.
* But the core side zoom doesn't set the opacity back.

This commit fixes the input handler's visibility issue.
But the core side will continue sending the cursorvisibility message.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ibf679c132f96dc3504de17d00958133bd45244fb
2024-05-22 11:53:17 +03:00
Gökay Şatır e5256c265d User app.file.textCursor.visible instead of _isCursorVisible.
Duplicate functionality removed.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Id0bc972d20e6974dc2671696830a55dcb35ade7a
2024-05-22 11:53:17 +03:00
Andras Timar 594b605ab7 Bump version to 24.04.3.1
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If310d2fd7b7da7d1e62639344717e0344ee592af
2024-05-21 16:41:02 +02:00
Caolán McNamara b85452b35b multiple "EMPTY" invalidations for different parts dropped as dups
since:

commit 6f49f9398e
Date:   Thu May 9 09:19:44 2024 +0100

    Split outbound callback processing from incoming message queueing.

an out by one adjustment

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie5c2133dd7239aa62c017306c962c26ea6e526bb
2024-05-21 15:18:37 +01:00
Hubert Figuière 2643992f95 Translated using Weblate (French)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Hubert Figuière <hub@figuiere.net>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/fr/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Icc016591763db192e7b4fc9b01700b02593d2426
2024-05-21 16:13:24 +02:00
Pedro Pinto Silva 8eba634231 Translated using Weblate (Portuguese)
Currently translated at 100.0% (588 of 588 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Co-authored-by: Pedro Silva <pedro.silva@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pt/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pt_BR/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I9c45a233e479ea10c9de092265afee238a793b75
2024-05-21 16:13:24 +02:00
Ali e3cb73d1fc Translated using Weblate (Arabic)
Currently translated at 100.0% (110 of 110 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Ali <alimahwer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ar/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ar/
Translation: Collabora Online/Android app
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I8f8cc2a8f27e50d3a60b6a8ba3f8adc9e8dbd6d9
2024-05-21 16:13:24 +02:00
gallegonovato 89cfe8463e Translated using Weblate (Spanish)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/es/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I0ed063594644f5d26c7ad71d7c3c80365adbb690
2024-05-21 16:13:24 +02:00
Matthaiks f458df9463 Translated using Weblate (Polish)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Matthaiks <kitynska@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pl/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I632037308291800d990d37ff689add6d37769f6d
2024-05-21 16:13:24 +02:00
Darshan Upadhyay 3a3518b454 Translated using Weblate (Hindi)
Currently translated at 26.5% (156 of 588 strings)

Translated using Weblate (Hindi)

Currently translated at 20.0% (1 of 5 strings)

Co-authored-by: Darshan Upadhyay <darshan.upadhyay1188@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ios-app/hi/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/hi/
Translation: Collabora Online/UI
Translation: Collabora Online/iOS app
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5cb618bd36c160658d61cf70cb6f6b51d7be628c
2024-05-21 16:13:24 +02:00
Andras Timar c9cca42137 Translated using Weblate (Hungarian)
Currently translated at 100.0% (588 of 588 strings)

Translated using Weblate (German)

Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Andras Timar <andras.timar@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/de/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/hu/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I4a6fe12f0bda8dc1c3aa2c8761f11b8e7adb0d0e
2024-05-21 16:13:24 +02:00
Lily Logua e2dba9956a Translated using Weblate (German)
Currently translated at 100.0% (588 of 588 strings)

Co-authored-by: Lily Logua <lily.logua@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/de/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I2a4d903f72fefdd474f5daa824b14a0e9ec8ee5c
2024-05-21 16:13:24 +02:00
Pedro Pinto Silva 0ad09fda60 Impress: fix slide preview animation and color
Replace svgs introduced in 3efbfaeccd
- Animation and smiley svg: Use gray
- Don't use a smiley face, use instead something more semantic such as
a checkmark

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I38e341ae393c59e785adff9207f8111d68c341ef
2024-05-21 15:06:45 +01:00
Gülşah Köse a73991b7f3 Hide Invert Background button until implementation
Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I061901d748641ffbb40f60e2fa03fcc31df2cd7e
2024-05-21 13:44:25 +01:00
Gökay Şatır 85b93bfb9d Fix coordinate calculation error of cell selection area.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I5f130924455cd29018baf6fbc14c1ceffd29cf46
2024-05-21 14:10:13 +03:00
Gülşah Köse 2acc5a94c9 Introduce new formula auto complete feature
When we start to type a formula in a cell eg: =S
We will see the possible function names in a popup.
If we move with "ArrowDown and ArrowUp" and enter, or direcly select a
function with mouse, function name will be automatically inserted into
cell. Then we will see the usage details of the selected function in
another dialog.

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: Ic06ca0d904770e95bb85ccdf9a73f60b7d5c5eb0
2024-05-21 12:09:20 +01:00
Rashesh Padia a6cf4eb118 zotero: fix: can't select language or store as option in citation style
- problem: in combobox widget we were always passing the
`_defaultCallback` which will send `dialogevent` to server but in
zotero's case the callback is different
- also fixes some `undefined type` errors

Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: I7bd7aff6a1a3a9715123c1335ea83ab13fd7b22a
2024-05-21 16:06:27 +05:30
Rashesh Padia 93e9259aaf css: decrease max-width at which filename is hidden
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: Ibbd2aed0739af6627d982db954487ad98159500e
2024-05-21 12:34:29 +02:00
Caolán McNamara 166f12b545 shutdown AsyncDNS before WebServerPoll shutdown
and start it after WebServerPoll start.

AsyncDNS depends on COOLWSD::getWebServerPoll()
existing.

/lib/x86_64-linux-gnu/libc.so.6
	__GI_abort
		/build/glibc-bkR840/glibc-2.27/stdlib/abort.c:81
/lib/x86_64-linux-gnu/libpthread.so.0
	__restore_rt
		??:?
/lib/x86_64-linux-gnu/libpthread.so.0
	__GI___pthread_mutex_lock
		/build/glibc-bkR840/glibc-2.27/nptl/../nptl/pthread_mutex_lock.c:67
/usr/bin/coolwsd
	ConvertToAddressResolver::dispatchNextLookup()::{lambda(std::string const&, std::string const&)#1}::operator()(std::string const&, std::string const&) const
		??:?
/usr/bin/coolwsd
	net::AsyncDNS::resolveDNS()
		??:?
/lib/x86_64-linux-gnu/libpthread.so.0
	start_thread
		/build/glibc-bkR840/glibc-2.27/nptl/pthread_create.c:463

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I372802b872bc899874404e7317ecd9ecb1d0757a
2024-05-21 12:12:55 +02:00
Gökay Şatır f480e10d75 Fix cursor visibility issue.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I5ba8a44b51592b52ed9bfc378d4461b8fc7dccd6
2024-05-21 12:45:40 +03:00
Ashod Nakashian f1001cddcc wsd: remove unused (Is)ViewWithCommentsFileExtension(s)
Change-Id: I25158862746ce6a3e4ee16ff9d661ec96810ce24
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-21 04:52:12 -04:00
Ashod Nakashian 8acded5b25 wsd: fileserver: better compression failure handling
We now always cache the uncompressed file data even
when compressing fails. If no compressed data exists,
we return the uncompressed version.

Change-Id: I885275dac526f4d47ea74d6badcb609390e7c139
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-21 04:52:12 -04:00
Ashod Nakashian 8a808591ca wsd: simplify file-server caching
This removes explicit file-reading logic
with the existing utility function that
is more robust and avoid the C++ streaming
abstractions altogether.

Change-Id: I170b8497a4f9185f1b29e632da27a3520ca0347a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-21 04:52:12 -04:00
Ashod Nakashian c153d88c65 wsd: generic readFile
Change-Id: I7b4328785399a2601193d71b5d6f5d1c9f933bfb
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-21 04:52:12 -04:00
Ashod Nakashian e292041078 wsd: refactored readFile to take buffer
Change-Id: I31a76e25cff150bcf33d503e6ed9b7fae0e0ed42
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-21 04:52:12 -04:00
Ashod Nakashian e4f30f38e3 wsd: FileServer cleanup
Change-Id: I4ebdbee733922be312a7a5b9b59bcb6c6329a06b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-21 04:52:12 -04:00
Miklos Vajna a161ee30f4 cool#9072 browser: better error handling when navigator.clipboard.write is advertised but fails
In case an integration doesn't allow clipboard interaction via
<https://sdk.collaboraonline.com/docs/advanced_integration.html#allow-the-clipboard-permission-query>,
we end up in a situation where navigator.clipboard.write is not
undefined, but is broken.

By the time navigator.clipboard.write() fails, it's too late to fall
back to the old copy code, as the security context is already gone.

Fix the problem by improving the failure handling: show the popup to try
again copying, remember that navigator.clipboard.write() failed and
prefetch the text selection, so next time a copy is tried (via the
keyboard), the selection doesn't need re-creating. (Normally the
selection change would trigger the prefetch, so select->copy->copy-again
would still fail.)

Note that paste doesn't have a similar problem, since there we always
try the old paste code first, and only use the new paste code if the old
one fails.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I12ea4810395970421000d213744d1838213c7a07
2024-05-21 09:47:54 +01:00
Michael Meeks 216b14ee39 Send Content-Length and Connection: close to help browsers.
Possibly the combination of "gzip" and us being unhelpful about
lengths could lead to browser hangs; who can say.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I632dfc46afde3883544292d687bdff023bccc8ac
2024-05-21 10:28:25 +02:00
Caolán McNamara c3a8683f69 use new startThread
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I4cf56d0b2aae394a3e2c4f40cf64f0de4de9f418
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-21 09:22:43 +01:00
Pedro Pinto Silva 3760e64c6b Toolbar-down: Fix Search input field and other elements alignment
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ib1e1b1247dc42e721921c6bf1b68726cf0c916e5
2024-05-21 08:06:50 +01:00
Pedro Pinto Silva 3a749bf0ff Writer: Accessibility Check: Add missing CSS class
Now that accessibility checker has change its command it's best to add
back in the CSS class that was being added automatically (based on the
uno command) for various reasons:
- Main one: the ".unoSidebarDeck.A11yCheckDeck" is less than ideal
class name (it includes a dot in the middle)
- Integrators might have customizations targeting the previous known
css class

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I7685d000a2110872cdbe83323136b7a6be604ca3
2024-05-21 06:38:57 +01:00
Andras Timar 890e5c6d06 Update l10n files for Weblate
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I95c712ad7c923a4dc941252d58f17771079b7544
2024-05-21 07:28:42 +02:00
Software In Interlingua e94798c02b Translated using Weblate (Interlingua)
Currently translated at 4.5% (1 of 22 strings)

Translated using Weblate (Interlingua)

Currently translated at 15.4% (17 of 110 strings)

Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ia/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-lib/ia/
Translation: Collabora Online/Android app
Translation: Collabora Online/Android lib
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I1a7fd795b02c7e1632d239789ba0569a0ec59e52
2024-05-21 07:27:15 +02:00
bittin1ddc447d824349b2 623a228502 Translated using Weblate (Swedish)
Currently translated at 100.0% (587 of 587 strings)

Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/sv/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I21de4133a990885939ae2a145680159f781ca2f1
2024-05-21 07:27:15 +02:00
Ali a1e5880cd7 Translated using Weblate (Arabic)
Currently translated at 82.8% (396 of 478 strings)

Translated using Weblate (Arabic)

Currently translated at 82.8% (396 of 478 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (587 of 587 strings)

Co-authored-by: Ali <alimahwer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ar/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ar/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I357c4d4b539b0331d074d9d3608f0e63c6269527
2024-05-21 07:27:15 +02:00
Neil Guertin 1b586a5a41 Do not return null character from TraceFileRecord toString
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I0458ca2cb4214cc6d235a1f1322282e7b271e3f1
2024-05-20 21:29:50 +02:00
Caolán McNamara a8a2a95b0e cid#318933 Big parameter passed by value
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I90bb07726656e8066387ea6615045b8dbf813358
2024-05-20 21:28:19 +02:00
Caolán McNamara b4490dcb68 return early on error case for clarity
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I0cf892b5772d12b3ca914186c000b18dba912429
2024-05-20 21:28:19 +02:00
Caolán McNamara 5075b59955 cid#318857 COPY_INSTEAD_OF_MOVE
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Iaa1058edc3e8189af93bdb0dd8c227c1a3640a98
2024-05-20 21:28:19 +02:00
Caolán McNamara 853b257302 cid#368510 COPY_INSTEAD_OF_MOVE
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Iee1524be2f956aa049ad603a7245e022daecbcd4
2024-05-20 21:28:19 +02:00
Caolán McNamara 7e02a1ebd5 cid#368509 COPY_INSTEAD_OF_MOVE
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I3305f8b993a67d22849800ac6cc65f4b64506c35
2024-05-20 21:28:19 +02:00
Caolán McNamara 15f7d56b2d cid#368508 COPY_INSTEAD_OF_MOVE
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Icd74082ef6c32c9c0e266dc876a67675d95e7edf
2024-05-20 21:28:19 +02:00
Pedro Pinto Silva c623afe97e Tablet: Tabbed view: tabs container too wide
Tab buttons and their background (gray) looks odd, extending the full
width even if there is no more tabs to show.

This sub container cannot be allow to extend (flex-grow). Otherwise,
we end up with tabs background extending all the available area.
We can safely turn this off because the parent element
".notebookbar-tabs-container" already sits in place and extends the
whole area.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I6ec3fa6f40d4138420569e9acf60c906a7c43035
2024-05-20 16:38:32 +01:00
Pedro Pinto Silva 716015b9cc Remove erroneous css selector and its rule
It seems when updating CSS we introduced the  "w2ui-toolbar"
with missing dot: 826592458c

But it seems the problem is inherited from long ago with
"#toolbar-up-more,w2ui-toolbar" (comma instead of dot) introduced in
6901ad9251

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ia7023581979f0644b90437a6d65aaae8288360f2
2024-05-20 16:38:23 +01:00
Pedro Pinto Silva f843b77e9c Desktop: compact mode: Fix hidden button with undefined img
1. Load with notebookbar mode
2. Switch to compact mode via UI
3. Inspect -> see the existence of "#closemobile-button"
  - a div (unotoolbutton) with id closemobile that is hidden, has a
  button (unobutton) with id "closemobile-button" that is generated
  with an undefined img "lc_closemobile.svg" -> we don't have that

Add an alias. I don't think we ever use this. It seems to be a
temporary state that never gets to be shown to the user (is also
hidden) and when the UI is updated the HTML structure
changes. Nevertheless best to reference an image that exists

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I500737d0e9a7c321f9f92e55c9348ca7064a6625
2024-05-20 16:38:23 +01:00
Pedro Pinto Silva 9d8c7cca55 Remove unused close icon and its legacy w2ui css rules
Mobile:
- This is not used anymore and the respective element is now being
  targeted as `toolbar-mobile-back`
- closedoc.svg: .editmode-off .mobile-wizard-back .sub-menu-arrow

Desktop:
- close_toolbar.svg is not used anymore. We re-use the same
closedoc svg and it's been targeted as #closebutton

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ia02378811886824c77fa525911a2bf8901887037
2024-05-20 16:38:23 +01:00
Pedro Pinto Silva 6a98d42f9e Dark mode: Add missing invert background icon
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Icd11c0e7138e68cf9f185496ebeacf45f4fcf42f
2024-05-20 16:09:28 +01:00
Rashesh Padia 44551037fd css: fix progress bar overflowing in compact mode
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: I8f60eadf53f173f26d47d3959589a233673703ee
2024-05-20 14:44:46 +01:00
Gülşah Köse 5313acd1f9 Add Invert Background Color buttons
We have the that button for Writer, Calc, Draw, Impress
menubar and notebookbar

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: I745c010749b8c5b88c0d181418f2a47921a94620
2024-05-20 12:38:20 +01:00
Neil Guertin 6bb1054c52 Upgrade to cypress-tags 1.2.2
cypress-tags has fixed their npm publishing
Upgrade to take advantage of dependency updates
Reverts commit 873485f479

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Ib4128dd4224a70777eaace0bf1e4bc14974a5189
2024-05-20 06:44:54 -04:00
Méven Car f6e824d324 UI: slightly make the font size combo larger
So even '88.5 pt' fits in without getting cut.

Signed-off-by: Méven Car <meven.car@collabora.com>
Change-Id: I950b99b2bed7b1e038e1847586b517807f3aa9b0
2024-05-20 12:37:50 +02:00
Michael Meeks 1ff01c484e bgsave: unit test for a Kit crash during save disabling bgsave.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I8702776b73b5af8bb87aafe3551800d268b9f9c4
2024-05-20 10:28:42 +01:00
Pedro Pinto Silva 5ec388e8b0 Toolbar-down (status bar): Don't over style disable status
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Id2907f25f63c05b9b59deca19f1d883e27e9ebeb
2024-05-20 08:42:04 +01:00
Pedro Pinto Silva f2cfd9a8b9 Toolbar-down (status bar): Fix hover status
For all status bar buttons
- Fix missing pointer
- Also, at leat for now, don't add border and don't add different
background. This is a status bar and adding those contributes to the
overall bulkiness. In the future we could perhaps remove the vertical
padding of the status bar and introduce back the background on
over (and remove the border radius). This would make the status bar
slimmer and slicker (so maybe we can turn its visibility on by default)

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I2b01d1d6c35ff2b3f487de0417170398d587a565
2024-05-20 08:42:04 +01:00
Michael Meeks 91863875a7 perf-test: update for latest substitutions in cool.html.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I220d30074c412fe849f746bc7722d5f896544b1c
2024-05-20 09:27:33 +02:00
Aron Budea 7ed490700b Add empty handler for LOK_CALLBACK_VERTICAL_RULER_UPDATE
To silence errors until feature arrives. Occurs after
following core commit:
11b936629dd4ef9308d63b312900b8b7c8ff19b4

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I6d9b01b265e3f07db2bc4ac7da46cbfcd0e17da5
2024-05-19 00:53:35 +02:00
Michael Meeks 24e0196471 bgsave: detect crashed bgsave process, and/or early termination.
Warn, flag save as failed, and disable bgsave in these cases,
perhaps we will not crash  main kit process next time around.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ia4f3d079a5503739efc11e408ed431c3b652860b
2024-05-18 18:57:54 +01:00
Michael Meeks 766b919c55 bsave: attempt to catch and avoid jsdialogs during save.
No known test vector for this, but it may happen and we don't
want to hang saving with non-interactive interactive UI coming
from the bigsave process, that can't get events back.

If this happens - something is very odd, and we should disable
background save; so do that and try to clean-up in time.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ifde2fe9ac8719321e38695725981b1f8b2b554f5
2024-05-18 18:57:54 +01:00
Michael Meeks 81e837cba4 bgsave: disable bgsave if we get an error:
Core patch to simulate:

Change-Id: Ifc221a0600956aea1ca67cb690e45b271142845d

--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -2755,7 +2755,7 @@ bool SfxObjectShell::DoSave_Impl( const SfxItemSet* pArgs )
         pMediumTmp->DisableFileSync(true);

     bool bSaved = false;
-    if( !GetErrorIgnoreWarning() && SaveTo_Impl( *pMediumTmp, pArgs ) )
+    if(false) // !GetErrorIgnoreWarning() && SaveTo_Impl( *pMediumTmp, pArgs ) )
     {
         bSaved = true;

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-18 18:57:54 +01:00
Michael Meeks 00237a3552 bgsave: restore modified status overlay in classic toolbar mode.
Apparently a transient victim of the transition to JSDialog.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I93c55db28d8ab2cc6b43dbce558d60dfa523fa76
2024-05-18 17:45:02 +02:00
Michael Meeks 08af75d52d bgsave: add a 'finalWrite' parameter, to keep various saves sync.
Avoid complexity and wasteful creation of new processes in many cases.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: If7713f80b390a8e0e53b7253244b838b325b745c
2024-05-18 17:45:02 +02:00
Rashesh Padia 35bcf56791 wsd: added config option for background manualsave
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: I76de35fe9b4135b74a96436f0c9a3245f4e00bd9
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-18 17:45:02 +02:00
SC e0bb38bbc6 Translated using Weblate (Portuguese)
Currently translated at 100.0% (587 of 587 strings)

Co-authored-by: SC <lalocas@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pt/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Iee6d0ae39b15b029aef7b653c5f73eedb3590af6
2024-05-18 15:09:32 +02:00
lsy223622 43855e1fdc Translated using Weblate (Chinese (Simplified))
Currently translated at 97.6% (573 of 587 strings)

Co-authored-by: lsy223622 <lsy223622@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/zh_Hans/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Icd388f62c64b09e8e567a211b15986637b1b6495
2024-05-18 15:09:32 +02:00
Oğuz Ersen e4a62cf83b Translated using Weblate (Turkish)
Currently translated at 100.0% (587 of 587 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/tr/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I3d8a97ab687d39d45786c86cb1f44977e73efae6
2024-05-18 15:09:32 +02:00
Ali a44d193712 Translated using Weblate (Arabic)
Currently translated at 74.8% (358 of 478 strings)

Translated using Weblate (Arabic)

Currently translated at 95.7% (562 of 587 strings)

Translated using Weblate (Arabic)

Currently translated at 61.8% (68 of 110 strings)

Co-authored-by: Ali <alimahwer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ar/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ar/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ar/
Translation: Collabora Online/Android app
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I11c192cf79e807554edcfdd03f7a45240569528b
2024-05-18 15:09:32 +02:00
Francisco Gabriel Chardin c7442b7a7b Translated using Weblate (Spanish)
Currently translated at 100.0% (587 of 587 strings)

Co-authored-by: Francisco Gabriel Chardin <fran@camba.coop>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/es/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I46f645bb20e021e4237b0153c4da2e321be9431d
2024-05-18 15:09:32 +02:00
Matthaiks f6799c32c6 Translated using Weblate (Polish)
Currently translated at 100.0% (587 of 587 strings)

Co-authored-by: Matthaiks <kitynska@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pl/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I04718dff5b2d798b00306fe9f43cfff0059ad86f
2024-05-18 15:09:32 +02:00
Andras Timar 66ccc3722b Translated using Weblate (Hungarian)
Currently translated at 100.0% (587 of 587 strings)

Co-authored-by: Andras Timar <andras.timar@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/hu/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5cd3bb159b5e90864bc3d1e31441db1044a87b77
2024-05-18 15:09:32 +02:00
Gökay Şatır 85812ddd9b Don't hide cell cursor when clearing the selections.
Scroll to cell cursor after a part change. Relax the conditions.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I8c1aad11a00145b67e11afc2d11f9ebca0aa6feb
2024-05-18 13:55:18 +02:00
Gökay Şatır 8848ad8385 Remove unused variables.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9c8e12a876c203ea9adc0605bcf4ffe92930ec92
2024-05-18 13:55:18 +02:00
Neil Guertin 36a58aa7ef Reenable screenshots on cypress failure
Also remove SCREENSHOT_FOLDER environment variable, this
information is available from Cypress.config(), and if it needs
to change it should be set there.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Idbfb627fa818a6864da355a990dbac2589f8df37
2024-05-18 12:30:31 +02:00
Michael Meeks a4e84db5b7 WaE: make older C++ compilers happy.
Change-Id: Ibf28f91ae735ab05e8f641d0d06602c1abe4be56
2024-05-18 11:23:01 +01:00
Hubert Figuière ae7c579910 Remove cool-api.html
It is obsolete

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I788e62d13dc009031bf77932149555c1078d2e71
2024-05-18 11:02:50 +02:00
Caolán McNamara 41dc5a6cb4 add dumping start of current and queued async dns lookups
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ib40a6d1e3d6e983da674c5a7051ac5e7a565d0d1
2024-05-17 19:47:09 +01:00
Caolán McNamara 3699a0109e unlock mutex to allow entries to queue up while resolving
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If8ee89ef0e7436675c596461243d82a2e0412358
2024-05-17 19:47:09 +01:00
Caolán McNamara c98b1c4c2b don't need to copy queue
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I1e2d818c0f5b678f3de179b6fb7ce747f9e76ac3
2024-05-17 19:47:09 +01:00
Caolán McNamara 694f0488ad allow capabilities to be sent when addresses resolved async
queue addresses that need resolution, use async dns to resolve them
and when final result known dispatch the capabilities to be sent

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I13b6d0c4d47e6e8ecd06f7a449c8f808a41e5e7a
2024-05-17 19:47:09 +01:00
Caolán McNamara fc41cf7694 rearrange capabilities response to depend on allowConvertTo result
as a separate stage

getCapabilitiesJson turns out to not be called in the MOBILEAPP case
so put inside !MOBILEAPP ifdef and remove unused branch

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie144e4612aa36be88169e44d7eda7825b49a03c8
2024-05-17 19:47:09 +01:00
Caolán McNamara 594b2308f7 split out the parts that depend on dns resolution to a separate step
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I2d8ab8f3c7e42d6b2f80d68861e54dca9fc4adf2
2024-05-17 19:47:09 +01:00
Caolán McNamara ff02af21d3 add Async DNS implementation
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I577af4280ac5a0a4389bb11ac6c531d846a196d1
2024-05-17 19:47:09 +01:00
Caolán McNamara 4318b0d619 wrap Poco DNS lookup and cache as a DNSResolver class
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie211fe596629af50eec01dd8512d2a12929545ea
2024-05-17 19:47:09 +01:00
Michael Meeks aefd4606f5 Fix excessive logging when a session hard quits very early on.
Enable Caolan's unit test, pass the proper 'disconnect' message
to the Kit so it can close the underlying window / resource for
the view.

Potentially this also removes 'phantom' users in the user-list
which might be another symptom of this issue.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ib0d0c5cefa7033fff5827d0a825a932cc12f8323
2024-05-17 17:36:17 +01:00
Ashod Nakashian e14b84c542 browser: display unauthorized error message
It seems there are two handler for this message.
Since we moved the authentication logic ahead
of the web-socket upgrade, the handler for
the unauthorized error doesn't display the
message. This fixes the it so now we correctly
display the unauthorized message.

Change-Id: Ic62476c74ce1583a2d7f33e1233e6fafd43d3bc4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-17 08:47:46 -04:00
Rashesh Padia f7892edd86 js: show progress bar during background save
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: I3608bf597ab8d2c7660a1f884cf2c763c7652415
2024-05-17 13:18:37 +02:00
Pedro Pinto Silva ab04084cd9 Status bar: Fix MenuButtons being generated always with image
Before this commit menu buttons were always generated with img even if
it's not applicable. Example, the StateTableCellMenu (located in Calc
status bar that allows setting a state according to the function
chosen in the submenu): This text-only menu was generated with img
and thus throwing a 404 error in the console.

- Allow any unoToolButton to be set without image via option
- Add image: false option when setting StateTableCellMenu in the
statusbar

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I3fc3b5954f80229835526819b9b80d2a650bd922
2024-05-17 12:06:16 +01:00
Michael Meeks e5cee19919 callback logging fix mis-placed brace.
Causing excessive logging in error; we would find the right session
next time around the loop; from:

    commit 6f49f9398e
    Author: Michael Meeks <michael.meeks@collabora.com>
    Date:   Thu May 9 09:19:44 2024 +0100

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I33f696e4fae899a896d94cbeb70d5d9306f3b414
2024-05-17 12:05:45 +01:00
Michael Meeks 2414408576 logging: truncate long payloads before logging them.
Change-Id: I0caa3300961cd3d9d919691eab77663b5c663bfc
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-16 20:45:20 +02:00
Hubert Figuière b027c099cc postmessage: Fix show hide / button / command in Notebookbar
This is a regression from commit 9923e69595
This is because jQuery .child() is only for the direct descendants.
Use .find() instead which will search down the DOM tree.

This restore postmessage Hide_Command / Hide_Button and Show.

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: Ibe84c520c9786c6c0026d3507a27a8d3580b38a0
2024-05-16 13:05:09 -04:00
Neil Guertin 873485f479 Lock cypress-tags to 1.1.2
cypress-tags published an update today with some missing files.
This keeps us on the old version until they can fix their release.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Ie7b2ec506cae4bc244a70b4502a85d3a7530954b
2024-05-16 17:06:26 +01:00
Jaume Pujantell 3853d9b7bc browser: fix print menu for Calc
Changed the menu entries to conform to the new format used by
JSDialog menu since 07da50a.

Signed-off-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Change-Id: I69109675ec69d66eb25ae128a6bb102e4628c705
2024-05-16 16:05:41 +03:00
Neil Guertin 1ea58908be Fix failing tests [desktop|mobile]/impress/apply_paragraph_props_text_spec.js
Another test failing because of shape selection.
Select text directly and remove calls to shape selection helpers.
Unskip a testpoint.
Merge horizontal alignment testpoints (also vertical alignment testpoints).

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I729870d6cd43457d2297005f4c815fe29de39f42
2024-05-16 12:23:37 +01:00
Gökay Şatır cd9875ec4f Fix to my silly mistake :)
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I3d368e683747f249a5f44171023bd7f5293aca63
2024-05-15 20:14:03 +03:00
Andras Timar acb7e90c13 Update l10n files for Weblate
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I1d482ad2c1077b15d8086c02da275963555882c0
2024-05-15 14:14:18 +02:00
Poe Mon 2e54c2a424 Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I12cd6d8095160f8e14555292db40b4b965f06b74
2024-05-15 14:12:50 +02:00
Poe Mon 23851dc7c9 Translated using Weblate (Japanese)
Currently translated at 100.0% (22 of 22 strings)

Translation: Collabora Online/Android lib
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-lib/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I624ff39244f77ee639640f5656b592c3bb35fcf7
2024-05-15 14:12:50 +02:00
Poe Mon da54f08b6e Translated using Weblate (Japanese)
Currently translated at 91.4% (437 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I6101112d3010febd8b304016a32d40276b8f39da
2024-05-15 14:12:50 +02:00
Poe Mon e4312f9396 Translated using Weblate (Japanese)
Currently translated at 79.4% (380 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5db98d53a864ac7f35df8060e7c72c1ba23155c2
2024-05-15 14:12:50 +02:00
Poe Mon 1a0b4e2300 Translated using Weblate (Japanese)
Currently translated at 79.2% (379 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ia2e1fc79d5d94824c2c2920d1b1f09810750ad8d
2024-05-15 14:12:50 +02:00
Poe Mon 7026255f4f Translated using Weblate (Japanese)
Currently translated at 79.0% (378 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I281056ba9d5876f1c4160e6576ee56bc264169e7
2024-05-15 14:12:50 +02:00
Poe Mon 2b720cdb60 Translated using Weblate (Japanese)
Currently translated at 78.8% (377 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I6e12e744cecba35c57adfd34efbd28da20593f51
2024-05-15 14:12:50 +02:00
Poe Mon cc22892700 Translated using Weblate (Japanese)
Currently translated at 77.8% (372 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I71d4f6907890c8cc81ecb0fdf7a4d09ad0ef5047
2024-05-15 14:12:50 +02:00
Poe Mon 34a05e0db7 Translated using Weblate (Japanese)
Currently translated at 77.6% (371 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5024e9590c9c16f5fc24e13b1ee894e8a174d64f
2024-05-15 14:12:50 +02:00
Poe Mon 57204c1229 Translated using Weblate (Japanese)
Currently translated at 77.4% (370 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I9fb4602e25228f38407b11169acefe47116b6e4c
2024-05-15 14:12:50 +02:00
Poe Mon 80ed6d9309 Translated using Weblate (Japanese)
Currently translated at 77.1% (369 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ib5971b94aa46eb9e1d74a486332f14a9c6627e83
2024-05-15 14:12:50 +02:00
bittin1ddc447d824349b2 9ec4366a45 Translated using Weblate (Swedish)
Currently translated at 100.0% (585 of 585 strings)

Translation: Collabora Online/UI
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/sv/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Iceaa2eef77542854ca2fb9f770c25108462ae1c5
2024-05-15 14:12:50 +02:00
Poe Mon 00dde7a2ae Translated using Weblate (Japanese)
Currently translated at 70.2% (336 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If15d4f76a60b547d674691e8b00513f06ad8a850
2024-05-15 14:12:50 +02:00
Poe Mon be902bd736 Translated using Weblate (Japanese)
Currently translated at 100.0% (110 of 110 strings)

Translation: Collabora Online/Android app
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I122793c57793c98f4d21f030c4784ac2ff7e8bd0
2024-05-15 14:12:50 +02:00
Rob Pearson 08c9b9a2f9 Translated using Weblate (English (South Africa))
Currently translated at 100.0% (585 of 585 strings)

Translation: Collabora Online/UI
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_ZA/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Id4654296efb61c47131a538f8ead82ed3f647f94
2024-05-15 14:12:50 +02:00
Rob Pearson a633b7f627 Translated using Weblate (English (New Zealand))
Currently translated at 100.0% (585 of 585 strings)

Translation: Collabora Online/UI
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_NZ/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I8bbd9a7e9f757a66a8f81557235443d37939297c
2024-05-15 14:12:50 +02:00
Rob Pearson 55c8c0d058 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (585 of 585 strings)

Translation: Collabora Online/UI
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_GB/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I0a8912f34f96cd6a70d5d41f171cce41f5a6168c
2024-05-15 14:12:49 +02:00
Rob Pearson 9db198849a Translated using Weblate (English (Australia))
Currently translated at 100.0% (585 of 585 strings)

Translation: Collabora Online/UI
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_AU/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I15218d4f1e8a6334d70c1d96b58b338bfef94fce
2024-05-15 14:12:49 +02:00
Poe Mon 35c14d6fb0 Translated using Weblate (Japanese)
Currently translated at 65.6% (314 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ie689e357df29b9e0a02e34ce708d2ebc523ec5ed
2024-05-15 14:12:49 +02:00
Poe Mon 2a37ef7862 Translated using Weblate (Japanese)
Currently translated at 63.3% (303 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I238a6f1ae68686c8ff3e5a0886e3ae3877ca4c5e
2024-05-15 14:12:49 +02:00
Shavazo f0a7f87a27 Translated using Weblate (Japanese)
Currently translated at 63.3% (303 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I238a6f1ae68686c8ff3e5a0886e3ae3877ca4c5e
2024-05-15 14:12:49 +02:00
Poe Mon 0c58cf5512 Translated using Weblate (Japanese)
Currently translated at 62.1% (297 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If4c7da24e2bcbc03f1b0ec26dd2a59d6c98ec76d
2024-05-15 14:12:49 +02:00
Shavazo 11f82d7894 Translated using Weblate (Japanese)
Currently translated at 62.1% (297 of 478 strings)

Translation: Collabora Online/Help
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ja/
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If4c7da24e2bcbc03f1b0ec26dd2a59d6c98ec76d
2024-05-15 14:12:49 +02:00
Alexander Gabilondo c4e8380c04 Translated using Weblate (Basque)
Currently translated at 98.8% (578 of 585 strings)

Co-authored-by: Alexander Gabilondo <alexgabi@openmailbox.org>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/eu/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I12cb7e29d9be8c39523f3d93973d96b55868e423
2024-05-15 14:12:49 +02:00
Poe Mon 43cd2cf467 Translated using Weblate (Japanese)
Currently translated at 60.2% (288 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 55.4% (265 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 55.2% (264 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 55.0% (263 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 53.7% (257 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (585 of 585 strings)

Translated using Weblate (Japanese)

Currently translated at 88.0% (515 of 585 strings)

Translated using Weblate (Japanese)

Currently translated at 88.0% (515 of 585 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (22 of 22 strings)

Translated using Weblate (Japanese)

Currently translated at 68.1% (75 of 110 strings)

Translated using Weblate (Japanese)

Currently translated at 86.3% (19 of 22 strings)

Co-authored-by: Poe Mon <p.poemon.awitd@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ja/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-lib/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/Android lib
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I6155250baf0d3f7ff2e54330cc9622a163ed177b
2024-05-15 14:12:49 +02:00
Sebastiaan Veld cfb61a3d30 Translated using Weblate (Dutch)
Currently translated at 100.0% (585 of 585 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (585 of 585 strings)

Co-authored-by: Sebastiaan Veld <sebastiaan.veld@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/nl/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I26404dbeefe0d28b080eb4dd9c480ef1a60ab9ff
2024-05-15 14:12:49 +02:00
Shavazo 376cf3086f Translated using Weblate (Japanese)
Currently translated at 60.2% (288 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 55.2% (264 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 55.0% (263 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 53.7% (257 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 82.7% (484 of 585 strings)

Translated using Weblate (Japanese)

Currently translated at 38.0% (182 of 478 strings)

Translated using Weblate (Japanese)

Currently translated at 82.0% (480 of 585 strings)

Translated using Weblate (Japanese)

Currently translated at 78.9% (462 of 585 strings)

Co-authored-by: Shavazo <pleasure.7010@gmail.com>
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/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I652016630fe632cb4815ce045596aabc4126b343
2024-05-15 14:12:49 +02:00
Milo Ivir 275a3e7445 Translated using Weblate (Croatian)
Currently translated at 100.0% (478 of 478 strings)

Translated using Weblate (Croatian)

Currently translated at 99.1% (580 of 585 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: I91353f8cc83de2410f757ce2365e87471e14173b
2024-05-15 14:12:49 +02:00
SC 00e7d6c095 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (478 of 478 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (478 of 478 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (585 of 585 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (22 of 22 strings)

Co-authored-by: SC <lalocas@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-lib/pt/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/pt/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pt/
Translation: Collabora Online/Android lib
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ic6d8df7646c9854d5f7ba7bfffc6d691889b920c
2024-05-15 14:12:49 +02:00
Henry Castro a4d316f2ff browser: preview: fix invalidate all parts
It is called when changes dark/light mode,
reset the fetch property to false.

Change-Id: Id8de5245d56405624ebe72b5655d37b52892f654
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-15 10:13:30 +01:00
Henry Castro aa9ee925f8 browser: preview: fire 'beforerequestpreview' on request preview
Change visual indicator before request a preview.

Change-Id: I3a050ebc2aa2216af9508e01f56a5bf46756f5e1
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-15 10:13:30 +01:00
Henry Castro 3efbfaeccd browser: preview: add initial preview smile
Change-Id: Iad438677637850f8e410e7ba652a30673bea234a
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-15 10:13:30 +01:00
Henry Castro 43f56b89f6 browser: preview: remove remaining unused code
Change-Id: I36efb34ea813fc110fdad3b1165c37f7f2b9d683
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-15 10:13:30 +01:00
Skyler Grey a8af953b9f Make headers move on pinch-zoom
While zooming, things like the cursor move along with the zoom. The
headers instead stayed fixed until the zoom is complete. This is
inconsistent with panning, and worsens your experience when zooming

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I100de8f1fd62b831c285c9acab456260dbb77ead
2024-05-15 09:08:30 +00:00
Miklos Vajna 39e4644822 net: fix clang-15 build in resolveDNS()
net/NetUtil.cpp:65:23: error: no matching constructor for initialization of 'net::DNSCacheEntry'
    queries.push_back(DNSCacheEntry(addressToCheck, hostEntry, now));
                      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Went wrong in commit 5be3ccc871 (cache DNS
results for 20 seconds, 2024-05-14), the rest of the code builds with
this toolchain.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Idc8ed4d88a7f955cf2cdc1e10ac9931823950126
2024-05-15 10:36:53 +02:00
Skyler Grey d9168d447f fix(pan): Make screen edge offset document
Similarly to I1a2060d44d3b75935bf138056330a52d56a028ae, I have made
panning past the document edge create an offset too. This provides
similar benefits to the fluidity of scrolling at document edges.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I2eedf2449620c5c8fec9ebf71dbe23d5a643ad5c
2024-05-15 10:07:05 +02:00
Skyler Grey 9a73b20731 fix(zoom): Make screen edge offset document
Zooming always leads to same backwards and forwards, even when you have
hit the screen edge. At the edge of the screen, you can move no further,
which causes the illusion of it being "sticky" on the return journey.

By adding an offset when we reach the edge, we can avoid the stickiness.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I1a2060d44d3b75935bf138056330a52d56a028ae
2024-05-15 10:07:05 +02:00
Michael Meeks dbe905de8c bgsave: enable by default again.
Seems we have closed a number of the various races and problems
seen, and this can now be used.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ie3b0a1de847b9e77820d1135b4a8facdb7934707
2024-05-14 21:28:18 +01:00
Michael Meeks c4b4af5959 bgsave: filter statechanged messages from the bgsave process.
We don't want to send these to coolwsd, they have confusingly
different Modified state from the bgsave process - which is now
unmodified after save.

Really we should filter out almost all messages from the
bgsave process and not forward them.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ifaea028f080e31705256a2d72cf4ab03dfd94187
2024-05-14 21:28:18 +01:00
Michael Meeks 8f49f23a03 bgsave: update test for faster and more reliable modified status.
Requires core change: https://gerrit.libreoffice.org/c/core/+/167635

Change-Id: I7a7cf969e5018e8a7b70797450571d4c39b977d8
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-14 21:28:18 +01:00
Caolán McNamara 30e064907d explain the relationship of global and bundle 'onopen' handlers
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I5cba504273d4fd035a918839001ccb91976ccb16
2024-05-14 22:16:14 +02:00
Gökay Şatır 96e6eec12f Remove some unused lines.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I24686166eadfff8622e10bddaa4893ed821191eb
2024-05-14 22:12:57 +02:00
Gökay Şatır 571a066eca Convert cellSelectionArea into simpleRectangle.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ib3289dca84d02b7171db2e41f33dd18ba87c0cbf
2024-05-14 22:11:55 +02:00
Gökay Şatır d80689e551 Improve section definitions.
Remove createSection from CanvasSectionContainer.
Use extended classes.
Move some of the sections to their own files.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: If80e86f55920f80d9fb1fddef49ac451ed744b7c
2024-05-14 22:11:01 +02:00
Caolán McNamara ef64f815af reuse dns caching for resolveHostAddress too
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I8df71340f2c80a1dd19fd422b20f350b2755e22c
2024-05-14 22:09:49 +02:00
Caolán McNamara 5be3ccc871 cache DNS results for 20 seconds
querying capibilities happens frequently:

ClientRequestDispatcher: :allowConvertTo
ClientRequestDispatcher: :getCapabilitiesJson
ClientRequestDispatcher: :handleCapabilitiesRequest
ClientRequestDispatcher: :handleIncomingMessage
StreamSocket: :handlePoll
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I6feb535a91f4ccc647b172da27284f26f55c3e27
2024-05-14 22:09:49 +02:00
Caolán McNamara d42798abc6 initial dark mode not always set
typically can be seen on a fast connection to a NextCloud instance

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie3431d58cb2499464e1bfac95dcf3b981536a7a2
2024-05-14 20:27:44 +01:00
Michael Meeks 0c7cb448ca cypress and C++ tests: enable full trace logging to keep timing the same.
It appears that both cypress and the C++ WOPI tests are extremely
timing sensitive, and fixing this should not hold up merging the
logging improvements. So for now don't disable logging in these modes.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I43e8397263e6960b668a29e7ad67f45394c52b52
2024-05-14 18:37:52 +02:00
Michael Meeks b95e4d8424 Logging: annotate WebSocket, Admin and cleanup Forkit.
Significantly calmer and less frenzied logging output.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I0f1782c0b8f10ac3427bac479ded2862f2b40b7a
2024-05-14 18:37:52 +02:00
Michael Meeks 3746a51479 Logging: calm down the most prolific Socket logging sites.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ia2ba1f114397cf8f61a4e42bdf55bdf4c0ac969a
2024-05-14 18:37:52 +02:00
Michael Meeks 9b6ab4c601 Logging: add Area parameter and new LOGA_ macros to annotate areas.
Add logging.disabled_areas setting to coolwsd.xml with some sensible
things to ignore unless they are warnings/errors.

Kit code duplication around logging is grim; but not fixed in this
commit.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I36bebb2b3c8d64a814d7b10c167d582de0baf4e5
2024-05-14 18:37:52 +02:00
Henry Castro 3cc17d6583 browser: fix doclayer de-reference
Change-Id: Ibea3a7dc30f8e948044cb513ff4f54166a50d162
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-14 16:44:40 +01:00
Michael Meeks ff8dbe7fde cool#9045 - close clipboard race by waiting for completion.
To avoid the HTTP[S] request racing the websocket and sometimes
loosing we need to:

* get a notification from the Kit when the copy / cut is complete
* wait on a Promise for this, to allow the HTTP fetch to start
* re-work to do a single, rather than two fetches by sharing
  the download promise.

Change-Id: Ic23f7f817cc855ff08f25a2afefcd73d6fc3472b
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-14 13:19:52 +02:00
Miklos Vajna 0ef5e740a4 fuzzer, clientsession: fix build
Probably went wrong in commit de985834e2
(wsd: simplify DocumentBroker construction, 2024-04-03).

Also init logging to avoid:

common/Log.cpp:664:16: runtime error: downcast of address 0x6070000005d0 which does not point to an object of type 'GenericLogger'
0x6070000005d0: note: object is of type 'Poco::Logger'

similar to how COOLWSD::innerInitialize() does it.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ic16bb2f070e1f0e12204bcc2fc70303d8c1250c8
2024-05-13 08:29:07 +01:00
Caolán McNamara 60598961cd cid#318908 Uninitialized scalar field
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I70e1a5cdec637fc92cab294953599afe667a55cd
2024-05-13 08:44:03 +02:00
Caolán McNamara 95fcde9ddd cid#365245 Uninitialized pointer field
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I1fedbde5715f2adb0218bf61ae7014797fb43990
2024-05-13 08:44:03 +02:00
Caolán McNamara c46df319ec cid#366099 Uninitialized pointer field
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I30949ae9a944a1c254c24a49519b22cf6202a14f
2024-05-13 08:44:03 +02:00
Neil Guertin 6bc7e3a356 Fix mobile/impress/apply_font_text_spec.js
Stabilize test by removing lots of extra shape selection
Stabilize "Apply highlight on selected text" by waiting before
color picker.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I60e5e571be181bd6f43db1727854973aca446b99
2024-05-12 11:47:22 -04:00
Michael Meeks 1c4d71a974 cool#8747 - disable un-necessary fsync'ing.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I4d1a041f94ead329d9973aaacd85f40001417cf2
2024-05-11 19:31:33 +01:00
Ashod Nakashian 7d90faf2e4 wsd: serve all files through sts
Change-Id: I16b4d2a93ab5ec6f2a277b1b2e6be61c3515c2c8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-11 14:37:00 +02:00
Ashod Nakashian e546a5c602 wsd: refactor hsts header
Change-Id: I153e148bcbf9c0675d24a0b65314c6ffe4c74313
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-11 14:37:00 +02:00
Gökay Şatır e06bc471ef Remove unused code and CSS rules.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ie5ba30b4080770e51c37e1266e1613c169e58cfa
2024-05-10 22:11:29 +03:00
Gökay Şatır 717e837211 Use simpleRectangle for docLayer._graphicSelection.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ibc84782abf8e7668d31360e106fc73522fcd4494
2024-05-10 22:11:09 +03:00
Michael Meeks 3feb7fe58c bgsave: don't process left-over tile messages from the KitQueue.
If we had a tilecombine processed in the same queue and before
a save - the 'render tiles at the end' state would be inherited by
the background save process and result in excess work, and also
binary messages where only text messages are expected returning.

The rest of the queue is cleared post fork.

Add unit test - plus hook to hold queue processing.

Change-Id: Iee937897000bc3ac149599844f1eab005affb131
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-10 16:30:37 +01:00
Michael Meeks fff63bec45 Forkit needs to wakeup to waitpid processes.
This should cleanup jails more quickly.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I2f7c7753614f0845a4d81d69334834047d661e41
2024-05-10 16:30:37 +01:00
Michael Meeks 8b7549b8f7 bgsave: lower priority of background thread.
Free CPU cycles for interactive processes.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I9d8cfe5f3541c9424d51c69380e1c72920154ff4
2024-05-10 16:30:37 +01:00
Caolán McNamara 34b75306c3 AddressSanitizer: memcmp issue
/usr/bin/coolforkit
	memcmp
		asan/../sanitizer_common/sanitizer_common_interceptors.inc:875 (discriminator 9)
/usr/bin/coolforkit
	(anonymous namespace)::textItem(std::vector<char, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&)
		online/kit/KitQueue.cpp:52
/usr/bin/coolforkit
	KitQueue::put(std::vector<char, std::allocator<char> > const&)
		online/kit/KitQueue.cpp:94

since:

commit f8a0d6c086
Date:   Thu May 9 15:29:49 2024 +0100

    Callbacks: minor efficiency wins, avoid tokenizing where we can.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie5d0f86bb33c810b6a5f177421485c977b7fc79a
2024-05-10 16:16:49 +02:00
Henry Castro 15338e91c3 browser: preview: replace meta preview place holder
It is required to initial preview place holder,
otherwise, there are some cases that the server takes
time to serve preview_placeholder.svg and it may cause
an ugly effect.

Change-Id: I70ac46c8c464b64a09f091cdf5f8644d208a79d4
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-10 14:58:19 +01:00
Henry Castro 95e8ea0a95 browser: preview: remove unused code
Change-Id: I1ebf8611b898f52209fd6d4a6f20a749cbb05e07
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-10 14:58:19 +01:00
Henry Castro 511bd3b7c6 browser: preview: simplify _onScroll function
Change-Id: I4bf06c92299af5375f01a5be63bb95268257be1c
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-10 14:58:19 +01:00
Michael Meeks d4d4731136 Cleanup condition check for a quick poll.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ica75605d3a12e7eae86cc0e4cbebb722aef92919
2024-05-09 17:47:15 +01:00
Michael Meeks f8a0d6c086 Callbacks: minor efficiency wins, avoid tokenizing where we can.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I2ef647fd0af7bc83b7b40fd3ce7a49dc799f4339
2024-05-09 17:47:15 +01:00
Michael Meeks 6f49f9398e Split outbound callback processing from incoming message queueing.
Now we always send callbacks as soon as possible back to wsd from the
kit. This has several implications:

1. even when InputProcessing is disabled we will send outbound
   progress updates.
2. we should send callbacks much more quickly without waiting for
   other queue events to be processed eg. tilecombine:

We also drastically simplify storage of callbacks, avoiding lots of
re-parsing of the same strings, and allow much more efficient
comparison and merging at a small space cost in queue size.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ia1ede5406767f895616a52775316ee6ab1c5db09
2024-05-09 17:47:15 +01:00
Michael Meeks 320606c225 KitQueue - remove more un-necessary code, and helper use.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ic11db8ac1391bd22b4adcae40c99fa4ca99790f1
2024-05-09 17:47:15 +01:00
Gökay Şatır 70ff910f20 Fix variable type error in "setDesktopCalcViewOnZoom" function.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Idcd7040271e26bad4d04921bcb19dfb0ed45169b
2024-05-09 18:24:47 +03:00
Ashod Nakashian 6f725087a1 mount: remove test-mount directory
Change-Id: Iff128a22ac7d0fa3e6514e62e1f4ea92a60f052b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Ashod Nakashian b33f822871 wsd: mount: safeRemoveDir will not error when unmount fails
safeRemoveDir is tries to unmount blindly, so there
is little point in erroring when the directory
in question isn't a mount-point at all.

Change-Id: I6db0fd9406493060ce52a69f7d935b0958e2d2be
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Ashod Nakashian dac5c0341f mount: avoid hard-coding
Change-Id: I6857510a9d0442cc357886b453d369f1e4b8f53f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Ashod Nakashian 4d8d1119a2 mount: reduce failure noise
Change-Id: I2709a4a220f6d1db42e5259e0a883d4c74066bef
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Neil Guertin 5a9c6a0e37 Cypress: Add cypress-terminal-report printLogsToConsole option
This is already the default behavior. Writing it here just
makes it easier to change.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Iebde47f5b64ae1509e7f37b884ad71fdc067b164
2024-05-09 08:27:42 -04:00
Neil Guertin 982f865cc7 Skip failing test desktop/writer/invalidations_spec.js
Test is failing because of an extra empty invalidation
when clicking between the body and the header

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I887c9bc028f2b831d205bba2944c734cafb1743d
2024-05-09 08:27:37 -04:00
Gökay Şatır 62239215da Update the test for now - it omits visibility check.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9c55379afa9175360e16e036e7620b83168ce9f8
2024-05-09 13:28:54 +03:00
Gökay Şatır e0e5a6a418 Cypress updates.
Change the cell selection circle color in dark mode.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I23826bdf0a09fa7e8b1c25132842f98e37997034
2024-05-09 13:28:54 +03:00
Gökay Şatır 9b3038c70f Initialize CanvasSectionContainer as soon as the canvas HTML element is initialized.
Move section definitions under canvas initialization.
Use app.sectionContainer instead of painter_sectionContainer.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ie10bfa36fca30bd1dda42adab2bbf2a16c418717
2024-05-09 13:28:54 +03:00
Gökay Şatır f64521caa1 Fix indentation.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9b5334ee7b8178503eef7c4790acb8a5ac1f8340
2024-05-09 13:28:54 +03:00
Gökay Şatır 5a28490394 Remove unused CSS class targets.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ibf93bf3f28b6ae06374bc992cc733f9ad9b0a419
2024-05-09 13:28:54 +03:00
Gökay Şatır 975385f0d2 Move canvas sections and section container into canvas folder.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I952e1770b5708381cef5cfbf1f02e6ec4b0502ad
2024-05-09 13:28:54 +03:00
Gökay Şatır a15e4e25e0 Use CellSelectionHandle sections on mobile view.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I4409981e8de2fca6211236590f3096b765456ed6
2024-05-09 13:28:54 +03:00
Gökay Şatır ecdcc369d6 Replace _textSelectionStart and _textSelectionEnd with SimpleRectangle(s).
Also move them into their sections.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I677a100c859ac8986f5609d9caa5187ef81818dd
2024-05-09 13:28:54 +03:00
Gökay Şatır b9e7d071a2 Add functions for sections' shown status.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ia480364c76b149177643971a0a29a2410c32475e
2024-05-09 13:28:54 +03:00
Gökay Şatır 932b99cf12 Finalize text selection handles.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I3d7a9a01903455c2b4c9303a27dd37702650cbb3
2024-05-09 13:28:54 +03:00
Gökay Şatır 8a0843764b Move DropDownSection into its own file.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I4cab2546f6828ab3c76ba8a4e06601904a06502e
2024-05-09 13:28:54 +03:00
Gökay Şatır 551b9cb104 Replace textselection markers with textselection handlers.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I2de0c4720250022d5547f3f657e277949721ba92
2024-05-09 13:28:54 +03:00
Méven Car 6fc6f07572 UI: improve combobox appearence
Since f7491e1f62 all combobox started
having a with and min-width of 100px, this wasn't meant to be.
Restrict this width setting to .jsDialog.

Add 5 px left padding to combobox, this looks better.

Set the font combobox width to 5em instead of 50px.

Signed-off-by: Méven Car <meven.car@collabora.com>
Change-Id: I0f0247471376e4633f3bbffab89285e16f78cde9
2024-05-09 11:24:44 +01:00
Bayram Çiçek 6300853c4d fix prettier error
Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I666337388d570898720b1055145d7dfe3b4b80cf
2024-05-09 12:19:01 +02:00
Szymon Kłos fcbd08f98c Mention: share more code
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic9fd29a05cbc2e62abb9f3651cdb771ab1d9adf0
2024-05-09 12:19:01 +02:00
Bayram Çiçek e92d048926 add AutoCompletePopup.ts base class
Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I60e69fcc7eda3c76cf6e3309cdbc6ab777a90292
2024-05-09 12:19:01 +02:00
Szymon Kłos 81722df0ab Add missing types in Mention.ts
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ia3909dd8a1e55a4872e38d5b3d0e8493401d475b
2024-05-09 12:19:01 +02:00
Bayram Çiçek 368c2218ec more conversion of Control.Mention.js to ts
Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: Ida4be8f63b05aad9db80acd6eba7e8e403587ac7
2024-05-09 12:19:01 +02:00
Gülşah Köse a46147588f Convert Control.Mention.js to Control.Mention.ts
Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: I575d9e14562b1a77f30d355024a2106d7955fe6a
2024-05-09 12:19:01 +02:00
Méven Car dab5afac90 postMessage test page: Add messages from editor view
Add CloseSession button.
Also improve spacing of elements.

Signed-off-by: Méven Car <meven.car@collabora.com>
Change-Id: I9999654f9d53d44016eeb0ea587cf3f61b000471
2024-05-09 12:08:43 +02:00
Hubert Figuière dbd3bc1482 calc: Properly handle the disable state
Doesn't hide the grid when the Function wizard is open anymore
when disabling the ToggleSheetGrid button.

Depends on https://gerrit.libreoffice.org/c/core/+/167370

This is a follow up for issue #8066.

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I79ba99716eb1103e7239fe5cc302c64827c9ef53
2024-05-09 05:46:49 -04:00
Michael Meeks f4265ce8a7 KitQueue - move methods from header to source and simplify.
also rename and dissolve the previously virtual _impl methods.

Change-Id: Id77a5c3ce79b27406301ef336ac1c9a40ead15bf
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-09 09:50:08 +01:00
Michael Meeks ebb4eda3df Move common/MessageQueue.cpp -> kit/KitQueue.cpp.
This is not common code, it's used only in the Kit.

Rename TileQueue -> KitQueue as well as unhelpful member variable naming.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: If158597f99f302cbc27e8eab139972f57a2fc3bb
2024-05-09 09:50:08 +01:00
Michael Meeks aacc957f23 MessageQueue: squash into TileQueue.
Avoids unhelpful virtual methods which are not used anywhere, simplifies
several code-paths, improves readability, and perhaps performance.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I7528fab77698546545bf81d7ccacdda9a0002833
2024-05-09 09:50:08 +01:00
Michael Meeks 466c31d59a MessageQueue cleanup, and avoid accidental use in tests.
The MessageQueue is not a generic message queue, it has much more
un-anticipated functionality; so don't use it where we don't need to.

In particular unexpected re-writing and merging of messages
during tests is probably not a great idea.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I657738307e611be18f5f83e11c055bf8a88826da
2024-05-09 09:50:08 +01:00
Caolán McNamara c1724983f7 cool#8744 ensureCanvas on preloading tiles
So we front load at time of request as much work as possible when we are
basically idle rather than do it when the tiles arrive.

https://github.com/CollaboraOnline/online/issues/8744

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ief643f1e98cf4a853d56a68d82b48ff092e5a963
2024-05-09 10:36:48 +02:00
Caolán McNamara cfae2097b1 ensureCanvas takes two arguments, the 2nd the lastRendered time
make the current uses that just pass the 1st argument explictly
set null for the 2nd arg and retain the orig lastRendered time
in that case.

This lastRendered gets overwritten by _tileReady after calling
_applyDelta.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I237d34e8d1fde94c95eb778c054e4ac5985c2a50
2024-05-09 10:36:48 +02:00
Skyler 3dd2087bae Stop page scrolling
Sometimes an input we are focusing on is considered out of the viewport
by the browser. This is not always the case, and, even when it is, it's
not trivial to move it back in.

Instead, this change detects scrolling and re-scrolls the view to 0, 0.

Doing so is not without consequence, as there is a slight jitter before
we can scroll back, however this is substantially better than having the
controls off-the-page.

Signed-off-by: Skyler <skyler.grey@collabora.com>
Change-Id: Ie5003f9244ce1c0e8a183de5fdbcf3a880b13a13
2024-05-09 10:06:56 +02:00
Szymon Kłos fcfb95638f jsdialog: css: use available aspace for ui-txtarea
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I824dd5addaa93a1ae779b0070de9d8971f7797ea
2024-05-09 08:47:39 +02:00
NickWingate 1bc78e8059 Expose object name and description dialogs
It can be used to apply name to an object so it will
be presented in the navigator as something unique

Signed-off-by: NickWingate <nick.wingate@collabora.com>
Change-Id: Ica06259dc3007d638a4998ccc2cce03ad1a5ca05
2024-05-09 08:47:39 +02:00
Caolán McNamara 70a89a4d43 allow a test to start without sidebar
instead of starting with sidebar and then removing it

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If2ea433cd3d5fc18ad549bd3df095de15c126ad0
2024-05-08 21:04:48 +01:00
Caolán McNamara 399afd123f tile.canvas is always true after a successful _ensureContext(tile)
_applyDelta returns early if the initial "ensureContext" of the tile
fails.

i.e.

  var ctx = this._ensureContext(tile);
  if (!ctx) // out of canvas / texture memory.
    return;

and ensureContext already calls ensureCanvas, so tile.canvas is
always true in the remainder of this function.

The "defer constructing the image & applying these deltas until the tile
is rendered via ensureCanvas." implied a sort of deliberate optimization
to wait until render time to apply the delta which doesn't actually
exist.

Also move the stray "// 'Uint8Array' delta" comment back to where it
originally came from as documentation of the type of the param, as in

commit 4140bf8741
Date:   Sat Nov 6 11:11:13 2021 +0000

    Bring back the delta application JS from the 6.4 branch.

...

 _applyDelta: function(tile, delta) {
         // 'Uint8Array' delta

...

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If15a897c3251f28639c9f1112687e543421e457d
2024-05-08 20:47:10 +01:00
Caolán McNamara e40bcccc4f update impress/apply_font_shape_spec.js to pass
probably since merge of

commit 5140abd2c94b96f2a32f0f7416ae79239a2af187
Date:   Fri May 3 14:14:26 2024 +0500

    tdf#152906: use correct Y offset

or similar of that topic

change 3285 to 3286

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I4bd3509313c7a5801d5284eebc3882bf3550eed9
2024-05-08 18:53:46 +02:00
Michael Meeks 5357b0e81f bgsave: update unit tests to exercise races in modified state.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I60d861f78b592fc39b88c23c0dece771ec8260a3
2024-05-08 16:42:29 +01:00
Michael Meeks c66940cf9a bgsave: close race of typing while a background save completes.
We need to mark core unmodified so we can track modifications
to the core that date from after the background save process is
forked.

We avoid telling WSD about our new modification status until
we are sure the background save completed successfully, and only
in the case that we have not been subsequently modified.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I2c9fbce942ff0af2bb727c3685f4ec479e18fa27
2024-05-08 16:42:29 +01:00
Michael Meeks 7f6b59b180 bgsave: improve unit tests.
Force background saving in the config for this test.

Use stamp files to force sequencing between Unit test and Kit.

Change-Id: Ia2c60c3dcfdad87c9c9754e8f20a3c36dbcf74d5
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-08 16:42:29 +01:00
Aron Budea 80a6f97518 Bump version to 24.04.2.1
Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I56c4be6de327c7b678cc9a534b90f7fe2a916190
2024-05-08 17:13:49 +02:00
Gökay Şatır 396d835f53 Container is rendered on the server side.
It should always be visible when the function is called.
Rename the function to _setPreviewContainerTop for readability.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ib90da34574b0a5a44c9a2e7a2b2d64cdd2d59938
2024-05-08 16:00:23 +03:00
Pedro Pinto Silva 45c51c42de Slide sorter: presentation toolbar: Remove ui break
There is no need to add a visual break/divider between "Fullscreen
presentation" and the "Insert Slide" buttons:
1. They are visually very well distinctive so there seems to be not a
need for a division
2. There is not so much white space so the more we can reduce visually
the better

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I27b84782e5af987d9aec3734f7557c746a03667c
2024-05-08 13:18:23 +01:00
Neil Guertin c54683f349 Fix failing test mobile/writer/table_properties_spec.js
Was failing in moveCursor after slowdown introduced by
https://git.libreoffice.org/core/+/ca31493a
Rewrote test to use the same select helper as all the other
tests in the file

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I5197a095d47e727526636b232df1f3be45e5bb52
2024-05-08 10:58:17 +02:00
Caolán McNamara 9b68218ffa _canonicalIdInitialized is a member of CanvasTileLayer not TilesPreFetcher
a problem since:

commit 04ac02b033
Date:   Sun Sep 3 17:37:49 2023 +0300

    Do not request tiles until we are sure a canonical id is set

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If285a53c51b17a812a7387150f99f0f43486b9e3
2024-05-08 10:50:00 +02:00
Neil Guertin ec83c14f3d Fix failing test desktop/writer/top_toolbar_spec.js
Follow up of be235b1386

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Idab5a5bac4ac15aa0e13a2d660271a305fad945a
2024-05-08 08:06:51 +02:00
Caolán McNamara 3e937ef83f check for _docLayer existence before deref of _docLayer
order is since:

commit 06e4722cc9
Date:   Fri Aug 7 18:37:11 2020 +0530

    loleaflet: rewrite tile-prefetcher for L.CanvasTileLayer...

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I69b7dd8974d2333cecbc38f94d4851bb0c5f44fc
2024-05-08 07:43:16 +02:00
Neil Guertin be235b1386 Fix failing test desktop/writer/top_toolbar_spec.js
Remove scrolling to get to toolbar buttons
Add test specifically for scrolling

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I885d3ec33c8d570dfad45893c5d267b7fe8cc0b9
2024-05-07 16:00:44 -04:00
Henry Castro 913f684e30 browser: preview: simplify 'isPreviewVisible'
.

Change-Id: Iee73f2eb77d1fc20aa266f66fda314770bc666d0
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-07 14:09:54 -04:00
Henry Castro 94b25bce1f browser: preview: fix time out resize event
Change-Id: I5e3b49909fdbd46134aee359e8aa015f4672892d
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-07 14:09:54 -04:00
Rashesh Padia 7572af7486 fix: don't wait for migrate msg if indirection server closes the connection because deployment gets deleted
- if deployment gets deleted than there is no where to migrate the
documents in such cases indirection will close the monitor connection
but we need to set the _migrateMsgReceived flag so that docBroker don't
wait for the message and continue to cleanup the document

Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: Ia2732740927ea16e368f91bea7421576a3cf2beb
2024-05-07 20:26:46 +05:30
Rashesh Padia c1f0fcf946 indirection_server: migrate document on shutdown
- when COOLWSD get SIGTERM admin sends a "shutdown_received" message to
indirection server
- indirection server sends back migration messages for each document to
migrate it other available COOL server
- there is timeout associated with migration message if COOLWSD doesn't
get message we move on and close the document
- added a new option in coolwsd.xml to change the migration timeout
default is 180s

Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: Id7d5eea94d1b03ea5905ca67a9dd8f6ca15952f3
2024-05-07 20:26:46 +05:30
Rashesh Padia 438985ab31 admin: fix gaps between cards when server/card gets removed
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: If72d27b0b32a00e0105dce08292afa4c792d6cb5
2024-05-07 20:26:15 +05:30
Caolán McNamara b440a86f73 get coolwsd log on failure
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I88545054c4a79dd0152d13699f80e7f1b235d267
2024-05-07 15:12:55 +01:00
Caolán McNamara ca2ca25d07 try rm -f coolwsd instead of rm coolwsd
Making check in .
make[1]: Entering directory '/home/collabora/jenkins/workspace/github_online_master_debug_vs_co-24.04'
fatal: ref HEAD is not a symbolic ref
Cleaning up...
/bin/sh: ./coolwsd: No such file or directory
rm: cannot remove './coolwsd': No such file or directory
make[1]: *** [Makefile:7155: /home/collabora/jenkins/workspace/github_online_master_debug_vs_co-24.04/jails] Error 1
make[1]: *** Waiting for unfinished jobs....

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I31748354bb55f26a8a5b8475a4daa74b3ba5d729
2024-05-07 15:12:55 +01:00
Caolán McNamara 8a6b40200f cid#365219 silence Explicit null dereferenced
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I534f49e2ebe34e4518e7456ba200af9d76535832
2024-05-07 15:59:55 +02:00
Caolán McNamara 1385b0d086 cid#365222 COPY_INSTEAD_OF_MOVE
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Idf287528f5e17670bef3a7524e8cefc91ae23ffc
2024-05-07 15:59:55 +02:00
Caolán McNamara ec8cc5aea8 cid#365225 COPY_INSTEAD_OF_MOVE
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I9c7e1b105d6cb10ef312b7a824de8cc922a83929
2024-05-07 15:59:55 +02:00
Caolán McNamara cf01a0687b cid#365236 Dereference null return value
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I325404441747611985266bf51c53bf14423491fc
2024-05-07 15:59:55 +02:00
Hubert Figuière 22e789a420 impress: restrict presentation in readonly mode
When export is disabled or watermarks are enabled, presentation in readonly mode
is disabled.
This is checked in the frontend by the WOPI property `DisablePresentation`
that is synthesized in the wsd. Also check when calling the presentation
command.
WOPIFileInfo::getWatermarkText() is stubbed on mobile.

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I4f7aff9f670f7523dfcf396f6009a272df9d5af8
2024-05-07 13:21:04 +01:00
Michael Meeks 72bbc375be Add more comment warnings around security critical code.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I1ca4a54d076a8f95850f329168c941806bc56b16
2024-05-07 13:11:30 +01:00
Michael Meeks 9d67fe24d2 comments: remove obsolete thread related comments.
Change-Id: I9d31e2614c7ea6edf47b92f25edd60748dd17493
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-07 13:11:30 +01:00
Michael Meeks bd524201d3 bgsave: use document name progress bar instead for saving.
Avoid the popup overlay and associated annoyance.

Also use a progress bar for loading in the normal overlay.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Icafdcc958d92f42cba44e3b213d6a0202566251a
2024-05-06 20:28:08 +01:00
Michael Meeks 90f387cdc5 bgsave: change statusindicator protocol message to 'progress' + JSON.
We need to get more helpful structure into this message, and add a
type=bg flag to handle background progress messages.

Add unit test for merging progress: setvalue commands.

Simplify ProtocolHandler sendTextMessage with a std::string wrapper.

Android code needs manual testing.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I54ce807e2fc5de80118905e68557a95e637fbd18
2024-05-06 20:28:08 +01:00
Pedro Pinto Silva 28cd22e792 Mobile: Formulabar: inherit more from desktop, remove negative value
- Inherit padding from #formulabar desktop, a single dimension instead
of placing different margins/padding across mobile
- Fix alignments
- Use css vars for buttons sizes

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I21110e43115576a212d29b1a55268fbeed6d52af
2024-05-06 15:39:59 +01:00
Pedro Pinto Silva d526ee1031 Formulabar input, cell address input, AutoSum: Fix sizes discrepancies
- Remove individual sizes
- Rely on the same single size digit that comes from the parent
  container
- AutomSum button should not inherit buttons height
- Fix jumping buttons: Cancelformula (close btn) should be placed
  exactly where equal ("=") was before

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I6c5a40709051ace3313195f4491798429eb5f6a0
2024-05-06 15:39:59 +01:00
Pedro Pinto Silva 7a83489abe Formulabar: Fix address input field not being targeted (css)
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ifdd449bcedb5049eae281b9b5e882b410290a7ee
2024-05-06 15:39:59 +01:00
Pedro Pinto Silva 30d3313342 Formulabar: Fix buttons jumping position
Before this commit the buttons would jump position between default
button group and cell edit mode button group (when acceptformula and
cancelformula buttons appear)

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I5411f145a9f4f4d2dd10a4278105447a52755815
2024-05-06 15:39:59 +01:00
Pedro Pinto Silva 23db285fa4 Formula bar: Fix alignment, avoid individual margin for each button
Better to rely on grid gap or somesuch

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I50e59d1b3464687a0bba76bf54a0ed2412dc3758
2024-05-06 15:39:59 +01:00
Pedro Pinto Silva 9e87e8ca70 Refactor: CSS: avoid generic formulabar rules
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Idfc850615026dcf06bb1f27c4adbe8f33b6f9bee
2024-05-06 15:39:59 +01:00
Szymon Kłos 05ed084481 Show run presentation icon in Impress slide sorter toolbar
This fixes regression from commit ae5e33b30c
remove-w2ui: convert presentation toolbar to JSDialogs

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I2f7c34369f1d2683be481fb466656b972de50cd4
2024-05-06 14:16:41 +02:00
Szymon Kłos 58e5208027 Fix buttons visibility in formulabar on cancelformula
Make code more deterministic by removing old hacks with
timeout and cursor detection from:
- 6037d52
- b62320c

Bug was that on desktop when we were in formula edit mode
and we clicked cancel button - it was not showing again
the regular buttons but instead it was showing the
accept/cancel buttons.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I1a51920e99f4902c1dbb62b0eab6e4f2edc932ce
2024-05-05 21:22:55 +02:00
Szymon Kłos 57e14eb6ce cypress: fix assertion in jsdialog test
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I07964dda90a89c2560df6e5d7e8c3b6f38551164
2024-05-05 20:04:55 +02:00
Szymon Kłos c817690f8d jsdialog: hide unused linkbutton
this is shown after commit cf0a6f4
jsdialog: add "linkbutton" as an independent widget

it wasn't there before

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ibdf8a9eb7f226740c11e8a34c16c7be4177576e6
2024-05-05 20:04:55 +02:00
Caolán McNamara a6b3961c50 add a test for joining doc and disconnecting
a normal case, where user#2 joins the document successfully and then
their connection closes; where the remaining client gets the
notification that there is only one client in the session.

an abnormal case, failing test currently disabled, where user#2 joins
the document, "load url" is launched, but the connection is immediately
dropped; the other client gets a notification that a user has joined to
make it a 2 user session, but no notification that the user has dropped.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I8271fb3d4def917acdff0fae6a3a52b5d02ef7af
2024-05-03 20:14:11 +02:00
Michael Meeks 8b558a2372 Default to four pre-spawned children.
They should be cheap memory wise, and save quite a bit of latency.

Keep 1 for debug mode - to make attaching to the right process easier.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I230be6ae61874f36b47ffc93d888d455bea3a7d8
2024-05-02 17:28:38 +01:00
Darshan-upadhyay1110 e88d9340a0 Fix toolbar up section after w2ui rework
To make consistent all toolbar element height with prev version where we were using w2Ui lib
- i have added height to table-row element same as we had in prev version
- remove fix height for toolbar-up which is not needed now
- this fix height will effect the bg-color in toolbar-up section

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I7b307a6a72968ed81fe2eb8663c430f11e3b3ced
2024-05-02 13:55:25 +01:00
Pedro Pinto Silva caa132c386 Fix calc-mobile top toolbar and formula bar which are broken
Pedro :
This changes from flex to grid (so we can have multiple columns and 2 rows)

Darshan:
    - adding one more div and wrap all child of toolbar-wrapper execpt 'formulabr' will work here
    - i have tested the css grid approch it is breaking the mobile UI in Calc
    - here i have changed a bit in html and twiked css which covers all cases

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ia50fda95e2bef57d707bb4be1dd34e2ec083bfc5
2024-05-02 13:55:25 +01:00
Pedro Pinto Silva f003bb3b8a Mobile: Hamburger and back btn: Fix height after table to div
With "Change table layout to CSS base table structure" and "Adjust
table elements for mobile view." changes we now have more divs instead
of table elements but with that the hamburger menu is now mislaigned
   - Fix height
   - To do: ideally we would make both hamburger menu and the button
   at its side rendered with the exact same structure which is not the
   case. And ultimately remove height and just have it flex stretch etc

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Id9365df82f1caff132dde41760a06689ec1145d1
2024-05-02 13:55:25 +01:00
Pedro Pinto Silva 82f2e01175 Mobile: remove legacy hamburger (opened state) rules (css refactor)
No need to specifically set width and height for .menuwizard-opened
state. Best to set only one time those dimensions and just inherit
from #toolbar-hamburger no matter the additional css class

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I51eafc6c9b05b843d800b40a990aefd912e463f8
2024-05-02 13:55:25 +01:00
Darshan-upadhyay1110 872ac5ad29 Adjust table elements for mobile view.
- we changed table structure of `toolbar-wrapper` with `div`
- so we also need to consider mobile view
- made some neccessary changes for mobileview because of structure change in cool.html.m4 ('toolbar-wrapper')
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I91cd2c3ffbb0d625a78852398f6773136e9a7f6b
2024-05-02 13:55:25 +01:00
Darshan-upadhyay1110 dd3df946e1 Change table layout to CSS base table structure
- For the editor in the home view, a layout table is used, and it includes the use of IDs. This can
potentially lead to issues with the interpretation of content by assistive technologies
- Layout tables are
meant to structure the layout of a page and should not contain structural markup like th , caption ,
summary , headers , or id.

Solution:
- replace `td` and 'table' tag with `div`
- make some changes on css to be consistent with our prev design
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I136cd8d51b2e5035c6ef4292f759f49519e5bd61
2024-05-02 13:55:25 +01:00
Henry Castro 273e9c15a8 browser: preview: simplifiy _resize function
The _onScroll request the visible previews.

..

Change-Id: Ib5370f1790b489edb4626a22bf6c5bb1cd8d0f17
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-02 08:15:53 -04:00
Henry Castro 8da4031073 browser: preview: update 'createPreview' function
It only initialize the initial preview width and height,
the _onScroll function will request the visible previews.

Change-Id: I7e04ea93f85a9270d09b241dc14391be214080a4
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-02 08:15:53 -04:00
Henry Castro 3efeae0484 browser: preview: remove unused console logging
Change-Id: Iebe938767ec1c162fe1119f32ba1f7847f6226d5
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-02 08:15:53 -04:00
Caolán McNamara 1425b36104 merge background saves together in profile
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I016133f31f34b859dcb21b794406c7e6a1559aa9
2024-05-02 14:02:56 +02:00
Caolán McNamara e9f81f8008 add sample watchdog script
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I9d3b9b2a405d87bee6c8f242f8c71179abb44005
2024-05-02 11:07:36 +02:00
Tomaž Vajngerl cf0a6f4a2f jsdialog: add "linkbutton" as an independent widget
This depends on the core change, which separates the linkbutton
widget from fixedtext widget as it is already an independent widget
in "weld" and used in accessibility checker. Adds "clicked" event
that is triggered when the text is clicked and send to the core.

Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Change-Id: I4a999f3e57aaa7950482c55defa3012346351cb1
2024-05-02 10:38:21 +02:00
Tomaž Vajngerl eed0dadff3 Adds a11y checker sidebar
Enables the accessibility checker sidebar, changes the icons from
the old name to the new name (as it depends on the UNO name) and
adds the UNO command to enable the sidebar.

Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Change-Id: If9aeb375ec87ef27d4dead5f3148bc40f01db976
2024-05-02 10:38:21 +02:00
Darshan-upadhyay1110 a7a541ad14 initializ UI after server reconnection
- Non-edit mode does not intialized after server reconnection
- this patch will fix initializedUI after reconnection
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I43405067287dd3f7f134fc9dcabfdcae183724ce
2024-05-02 09:57:46 +02:00
Neil Guertin ced7998b1b Fix mobile/writer/table_properties_spec.js
Wait for table select to fix copy/paste issue

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I5d564c062f5c8f5616997cd49222d39f47baa260
2024-05-02 08:48:19 +02:00
Caolán McNamara 6d00ed64d6 _sessionUserInfo tracks disconnected sessions
as well as current ones.

i.e.

/// User Info container used to store user information
/// till the end of process lifecycle - including
/// after any child session goes away

so add some info in the log to flag which ones are still connected and
which ones are not.

https: //github.com/CollaboraOnline/online/issues/8943
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I5350c04d1a7bb8095464881fba97e5910f71ffb3
2024-05-01 17:51:02 +02:00
Rashesh Padia fcc34f061a fix: can't reconnect and get to edit mode after full server shutdown
- regresssion from 464358ca70

Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: If2b20c7960e3c242064fc04425b4f893612f6362
2024-05-01 16:23:02 +02:00
Caolán McNamara 2546252d31 disable watchdog during Document::updateMemoryDirty
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I5358ec0df536c4b3c302011869b42db3491ce73e
2024-04-30 17:55:13 +02:00
Caolán McNamara c2f4f8031d disable watchdog while loading and saving
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ic1757f1cafcaed7feb3ce0cbc21fe8e03c5d4bd4
2024-04-30 17:55:13 +02:00
Caolán McNamara 038e278b03 bump watchdog pings from 20ms to 50ms
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ib1add9a1e392e96ad9f92feffd518b92aeb6a81c
2024-04-30 17:55:13 +02:00
Pranam Lashkari 1f66dcf831 calc: fixed js console error
problem:
when try to edit any cell for the first time,
there was console error due to undefined variable

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I8a29ad6e0e6243cc55175be0173eceb80bfea877
2024-04-30 15:36:18 +01:00
Aron Budea 27f1de8e87 Bump version to 24.04.1.4
Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I39c8de7125edc3de3696487b7519dbd2b0717c26
2024-04-30 16:35:25 +02:00
Darshan-upadhyay1110 b6122e0f37 Change get by ID value in all cypress_test
-  according to previous change(commit) we need to adjust ID in cypress test files

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Ic5510392b101ff7c7daa28719a60963c7bb2c743
2024-04-30 14:54:21 +02:00
Darshan-upadhyay1110 e45e31949d Remove '-input' string because we append that in _editControl & correct all getElementById which uses the Input element
- Because we have appended '-input' to add ui-edit-control in jsDialog builder filer
    - now we do not need any id/string which have '-input' at very end of that element

    - for some cases we need correct GetElement by ID in js files

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Id9b4f53e8deaa2f26c6abc93dc80504895107bd0
2024-04-30 14:54:21 +02:00
Darshan-upadhyay1110 dd445ad4d1 Wrap input[type='edit'] with a parent div
- To unify editControl, added additional "parent" for edit's input
- this will be consistent with other input type controls
- and will help to establish link between lable and input[type='edit']
- changed parameter from input to it's input container which will help to pass correct ID to Core

Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: If5ab78bdf3d3ad61438898f5e4cacc19bd2ecb63
2024-04-30 14:54:21 +02:00
Szymon Kłos ec63d9c032 css: fix button-box alignment
in 24.04 more elements are grid now, it seems to be a
regression in button box:
1. enable macro execution in coolwsd.xml
2. open spreadsheet with macro
Result: you see the dialog with buttons in 2 rows
Expected: all buttons are in the same row

it seems to be missing grid placement for left and right sections

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic1a3479114e4f832e852b9bdf3d39d2669ae69bb
2024-04-29 21:54:14 +01:00
Julius Härtl b0b73d2794 fix(browser): Emit proper UI_PickLink post message
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Change-Id: I635780723b98887e6c35a397940cc2517a6a9025
2024-04-29 19:13:35 +02:00
Pranam Lashkari ae27e8291c macro: open document without macros enabled
problem:
when user selected disable macro in the opening dialog
document used to close and return to integrator
but now cancel button in csv import dialog is hidden,
so no need to distinguish there and we can continue to load without macros
In addition we still close the file if user clicks "X" button on title bar

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ie0c7d77954e099cb3c8a72c400c688b3ae1343c7
2024-04-29 18:59:12 +02:00
Skyler Grey 1895938524 calc: zoom: Stop leaving blank areas with freezes
Previously when there was a frozen pane we calculated an incorrect
size on the unfrozen pane, leading to slight blank edges when you were
mid-zoom-out.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Id26f6ba815429addd0cdf3af37f5c54363a08b2b
2024-04-29 18:35:43 +02:00
Skyler Grey bb9be7abb8 Make freeze shadow appear/disappear mid-pinch-zoom
Previously when panning with zoom, the freeze shadow would stay in its
initial state (either hidden or shown) whether or not it should actually
be shown at the current position.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ic0d05c1204b1e15abbb6d8ad34235206fdc7740c
2024-04-29 18:35:43 +02:00
Skyler Grey 227bf6de6b Make freeze shadow move with a pinch-zoom
Previously the freeze shadow would stay where it was, creating a hard
edge and confusion about where was frozen. With this change, the freeze
shadow moves with the zoom.

This change needs a followup to show/hide the shadow when we reach/move
away from the document edge.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I8bec41be6ce5eff3c1bfd3ac0234b6d53833614b
2024-04-29 18:35:43 +02:00
Pedro Pinto Silva f50d5a1303 Custom properties dialog: fix grid and misalignments
- Fix alignment between rows by:
  - Setting some of the columns' width
  - Removing margin from all buttons & set width. Add column gap
- Fix vertical alignment
- Fix header alignment (Name, Type, Value) so it aligns to the content
- Make "Add property" occupy full width (ideally this button would be
  part of the inner grid "last row" but for now this is already an
  improvement)
- Remove lengthly css targets and the use of nth-child

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I85d9bdbcc365c735757ee086f6e4912d694a011c
2024-04-29 15:21:06 +01:00
Hubert Figuière 978dc59ce1 calc: Implement hiding the grid lines
Fixes #8066

Requires https://gerrit.libreoffice.org/c/core/+/166647

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I2196e1a8e654a8afd20519b18f00cefafa048f2c
2024-04-29 14:42:18 +01:00
Henry Castro 91b082fb44 browser: preview: fix invalidate previews when resize
Change-Id: Ic4f4a2cc9e98134564e0a9015b0d4c99bad66e08
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-29 07:39:52 -04:00
Henry Castro 53d702b717 browser: preview: remove unused code '_isPreviewVisible'
Change-Id: Ie7c4a8d4909837888db31952dee8a190a0d332c5
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-29 07:39:52 -04:00
Henry Castro c2f4c999ae browser: preview: remove accessor hack
Change-Id: Id936503eade75aba9d9a4772a9dcdd3e5ed4742f
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-29 07:39:52 -04:00
Henry Castro df0ec74f9c browser: preview: replace missing 'preview_placeholder.svg'
.

Change-Id: Ic12df42d1b7bdc79377c9cb5f52f819f0d5083f1
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-29 07:39:52 -04:00
Henry Castro a1c976f913 browser: preview: simplify 'updateAllPreviews'
Change-Id: I0d7c3877924544064bafc3ca93c887329b04a245
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-29 07:39:52 -04:00
Michael Meeks d2dae8f2b5 Fix broken conditional compilation for WASM.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ib0f3733a0719c87281b432c7c009fc2362ad3cce
2024-04-29 10:56:54 +02:00
Michael Meeks 31624e869c test: cleanup logging accounting post fork, for more helpful tests.
coolforkit: common/Log.cpp:677: void Log::shutdown(): Assertion
`ThreadLocalBufferCount <= 1 && "Unstopped threads may have unflushed
buffered log entries"' failed.

Was caused by mis-accounting. Also join document threads on 'exit'
which happens during unit tests to ensure we don't hit the above.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I523e723e54e4252ae0d65de36af086e97dd79f04
2024-04-29 10:56:54 +02:00
Michael Meeks 12310c7dec test: allow an exitTest to work in Kit and propagate its result.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I0d32d46e81eb3ed42d8531860ef2d8e06bdca591
2024-04-29 10:56:54 +02:00
Michael Meeks a866719881 test: abort a test whose kit has a segfault by default.
Otherwise forkit tends to loop aggressively re-starting that for the
duration of the test wastefully.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ia1c684a5d995f54f29290c9631b1ee14266445d7
2024-04-29 10:56:54 +02:00
Michael Meeks 642da39dc5 test: create UnitSyntheticLok - to stub and override LOK behavior.
Simple example to re-instate previous unit test.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I26da1178bc897797a656eb5ae9f838d17cbaf75f
2024-04-29 10:56:54 +02:00
Michael Meeks 14e3a20e18 DocumentManagerInterface - remove un-helpful abstract base.
This added 200+ lines of code, made things harder to
understand, and was used only in a single test that can be
covered in another way.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I4ed8d1d52d533f8b24be7dd5e12dbb7702ef1a80
2024-04-29 10:56:54 +02:00
Michael Meeks 08e17a0388 Simplify Document creation, and coupling to KitWebSocket.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Iec7dfd3d33de2ae548ca73081d50361958672e4a
2024-04-29 10:56:54 +02:00
Rashesh Padia 7a75153290 fix: zotero options not visible when viewId is zero
- regression from 9202365fc6

Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com>
Change-Id: I4554a5fcc9b0c5dce48c8b35ea32142ff1c323f3
2024-04-29 10:28:54 +02:00
Gökay Şatır 1a1835bd90 Remove "updateResolvedState" function.
It sets a reply's status to "resolved" only if its parent is resolved.

I can't remember why we implemented this like this before.

But now, we don't need to.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ia31dab0237d3b89e5d391cf87394514d18b595f7
2024-04-29 11:09:36 +03:00
Gökay Şatır e43d988084 Fix typo. Causes JS error.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: If2ffdf4d561d34f3febc6c976e7427621c5cdf79
2024-04-29 11:06:01 +03:00
Miklos Vajna c559e2fc5e cool#8806 clipboard: fix paste special of images in Firefox
Copy an image to the clipboard, click Paste -> Paste special on the
notebookbar in Firefox: the image is pasted, but the paste special
dialog doesn't close.

What happens here is that Firefox lacks navigator.clipboard.read(), so
the relevant code is Clipboard.js dataTransferToDocumentFallback(), not
the new _navigatorClipboardGetTypeCallback(). Here e.g. copy from
desktop Writer (html+text) would lead to a _doInternalPaste(), which
would call _checkAndDisablePasteSpecial() for us, but the image case
returns early, so the closing doesn't happen.

Fix the problem by explicitly calling _checkAndDisablePasteSpecial()
before returning early.  In contrast with the other uses of
_checkAndDisablePasteSpecial(), we don't need to call the paste or paste
special uno command (since _asyncReadPasteImage() takes care of pasting
with a websocket comment), so it's fine to ignore the return value.

No testcase, our cypress tests run on Chrome, and this happens only with
Firefox.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I751d234edfdf9e8fb37f2bf2d6b3f3d8e65a27f4
2024-04-29 08:52:53 +01:00
Ashod Nakashian 7268248481 wsd: test: give up attempting to connect if the test finished
Some tests are designed to exercise the reconnection
logic. Once the test validates that the correct
reconnection logic is used, the test is considered
finished. In those cases, we need to break the
test framework's retry logic.

Change-Id: Ie0bb5dcc430a954910c2af4817a500f5b576bd4c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-27 14:14:28 +02:00
Aron Budea b38e1f41ea Don't log warnings about version mismatch for admin console
It's only relevant for regular URLs that contain version hash.

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I73afaa0559c3dddc09a8ed5f786fb5126e1c8f0c
2024-04-27 06:52:04 -04:00
Neil Guertin 190a3acf78 Cypress: Fix mobile/impress/apply_font_text_spec.js
Failed because mobile wizard opened too soon.
Fix: Wait for selection before opening mobile wizard.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Ie29e3f5be17bafa2dd09b3f8f5b6415104456cb7
2024-04-27 01:37:10 -04:00
Neil Guertin c44bcb2980 Cypress: Join subFolder and fileName into filePath
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I361d523f564e7b9a46dd2398080eef110eeae79c
2024-04-26 21:10:39 -04:00
Aron Budea d471d93c1e browser: Add correct class to Share / See History buttons in Impress
...as in other tabbed bar JS files.

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I29c43d9dc0ce4fa929e049e70171e0b8ab029088
2024-04-27 02:00:44 +02:00
Neil Guertin ed731b7091 Cypress: Retry selectTextOfShape
Most users of selectTextOfShape also need to select all text.
Sometimes the cursor appears but does not allow CTRL+a to select
all text. Work around this by including the selection in the retry
using waitUntil.

Fixes mobile/impress/apply_paragraph_props_text_spec.js, which started
failing sporadically after commit e0a0646ce1.

I also adjusted the dblclick selector because it was finding multiple
elements but I think that is unrelated

I also created a separate function editTextInShape, for tests
that do not need to select all text

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Icdfa731ba9a5f8d08a858192a4f1f5bc79b09b76
2024-04-26 17:35:05 -04:00
Szymon Kłos d1a58af640 css: fix insert shape popup
insert shape now shows all the items in one column.
fix it so we have rows

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I371f7fa233e46a62dbb6637d934bc5ceb5cdecb0
2024-04-26 15:26:48 +02:00
Pranam Lashkari 1a287fd96d annotation: avoid resizing editing comment
problem:
when you try to reply to long comment, it would be resized
and subsequntly reply box will take space and other comments
will not make enough space for it

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I4d81904721e5bb196947598d0dca211ee9d480a6
2024-04-25 20:27:25 +01:00
Pranam Lashkari fe9b582275 annotation: fixed comments could not expand
problem:
when comment was on the edge of the document/screen(vertically)
resize was called which ultimately collapsed the comments in small screen
which could not be expanded unless scrolled further from edge.
It was more problematic for the threads,
if entire thread could not fit in the screen it was always failing to expand

regression from bac4161

it nullifies the effect from 81b00e7
now if comment is added at the end of the document and it goes beyond doc boundry
doc will not scroll automatically to make entire comment visible

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I198b4887ae19ca0c17ba1453960cd36a66beb04d
2024-04-25 20:27:25 +01:00
Pranam Lashkari 0c2247213e annotation: fixed thread scrolling to root comment on action
problem:
when long thread did not fit on screen and actions were performed
on last comments of thread which put root comment out of view,
it will cause scroll back to root comment (i.e: reply)

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I23d699425dc2dff1cfeddf6ab9be7131f80c3a31
2024-04-25 20:27:25 +01:00
Pranam Lashkari 38efd68c14 annotation: avoid explicit unselect before select
select function now can take care of reselection and layout update

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I2a061643ec190d5b2d005b940923a28131ed6cb0
2024-04-25 20:27:25 +01:00
Pranam Lashkari e443f940d1 annotation: make comment section scrollable with mouse
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ib6a2fee7ace81ffbc82ec4545e6f613f79c6734f
2024-04-25 20:27:25 +01:00
Caolán McNamara a327d3ec83 do invalidation tests without spellchecking
which may kick in at an arbitrary point. We shouldn't invalidate if
there is no change, but that's a TODO.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I910c96f2c2a0efab393ccea52c9f25d5804cd967
2024-04-25 20:00:18 +01:00
Miklos Vajna 24109be2e3 cool#8648 clipboard: fix idle tests
This is not part of CI at the moment, so I didn't notice it till Szymon
pointed it out.

	make -C cypress_test check-idle spec=calc/idle_spec.js

passes with this, which is the only suite in 'make check-idle'.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ieeb15653abcc016bc7de87115df136dfe3f27d0d
2024-04-25 15:09:51 +02:00
Gökay Şatır e0a0646ce1 Use app.file.textCursor.rectangle instead of map._docLayer._visibleCursor.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I9108d5b3281cf6d2c904d227880e451b608d8d37
2024-04-25 15:42:35 +03:00
Gökay Şatır a3abadc17e Use "app.file.textCursor.visible" instead of "map._isCursorVisible".
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Iedb841ec64b4fa72511603ac7e43c997676da837
2024-04-25 15:42:35 +03:00
Gökay Şatır 95d1b6d3ca Rename app.file.cursor to app.file.textCursor.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Ic81a775efb6592e81f52e8b2a6789ac5a90c761c
2024-04-25 15:42:35 +03:00
Miklos Vajna fa6d8f6dde cool#8806 clipboard: improve detection of HTML that's just an image
Copy an image in Firefox, paste in Chrome with the Paste button or with
Ctrl-V. Nothing happens in Calc, Writer gives you a popup to copy the
image, which is already the case.

What happens is that Clipboard.js already had some code to guess when
the HTML only contains an image, but while Chrome puts '<img ...' to the
clipboard, Firefox puts '<meta ...><img ...', so we don't recognize the
content as image.

Fix the problem by adding a new isHtmlImage() function to Clipboard.js
that handles both markups and use it from both places that deal with
paste (Paste button, keyboard).

Note that this manual parsing is needed, because the input is user
provided, so DOMParser or innerHTML would not be safe.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ia1340cd3777c5597e3fd257e905e9cc637802bcc
2024-04-25 08:33:49 +01:00
Michael Meeks 1b6af5e28d killpoco: remove lots of redundant JSON includes.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I976c5b8d6763cbbf0ee5cadfa2f7335ec719fe85
2024-04-25 09:06:13 +02:00
Neil Guertin 4f01c7e4de Cypress: Remove beforeAll and rewrite document loading helpers
New helpers setupDocument, loadDocument, reloadDocument
Clean up beforeEach functions
Replace most calls to beforeAll with setupAndLoadDocument
Replace calls to reload with reloadDocument

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I12307f93c8a418e6f55bb36b8afe340d7841b726
2024-04-25 07:37:56 +02:00
Neil Guertin dfa13bfe62 Replace beforeAll with setupAndLoadDocument
Replace beforeAll in most tests with new helper function
Tests that need to close or reopen test files cannot use
the new function and will be updated later

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I372280e55993123fc26f83cb2e6e6e78665a6846
2024-04-25 07:37:56 +02:00
Neil Guertin 7cc0c1996e Cypress: Remove afterEach/afterAll
Cypress recommends NOT cleaning up after tests
  https://docs.cypress.io/guides/references/best-practices#Using-after-Or-afterEach-Hooks
Open documents should not affect other tests
Files will be closed automatically by the server anyways
Tests with more strict requirements can explicitly close
  documents before, during, or after those tests
This is necessary to support beforeAll cleanup
Half of tests were verifying the wrong filename was closed anyways

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Iab458963a3fbfe87f732dc97140704c2d0ef53d4
2024-04-25 07:37:56 +02:00
Skyler 8510db5560 iOS: stop keyboard pushing content offscreen
Previously using the onscreen keyboard would shrink the visual viewport
while leaving the elements at the same size, meaning some of the content
had to be offscreen. As we scrolled the page to have the cursor in view,
this would move the notebook bar offscreen.

To avoid the possibility of the cursor leaving the screen or the bottom
toolbar being offscren, we can use the VisualViewport API to force the
logical viewport to have the same size as the visual one

This won't have an effect in iframes as the logical and visual viewport
in iframes are always the same, and we already scale to 100% height by
default anyway

Signed-off-by: Skyler <skyler.grey@collabora.com>
Change-Id: I07726bee8b61334f6a32e873ab2d5428fa60dca3
2024-04-24 21:53:19 +02:00
Attila Szűcs 4566ee65d1 writer: fix annotation size regression
Hidden contentNodes (in annotation) may become visible during resize.
Looks like setting style.max-height also change style.display.

Now i set it only if style.display is not none.

Signed-off-by: Attila Szűcs <attila.szucs@collabora.com>
Change-Id: I30f2eb75cb3ccb5b43044cef856314b0e35b9300
2024-04-24 19:59:26 +01:00
Attila Szűcs e02ae8be7a writer: resize comments based on space
Make comments window bigger, if needed, and possible.
Selected commits grow up to MAX size, even if there is no space for it.

There is 2 constant limitation:
MAX - --annotation-max-size this is the maximum size commentText window
can grow. If the comment have more text, than it will have scrollbar.

MIN - --annotation-min-size if there is not enought space, but comment
have more text, this is the minimum size of commentText window.

note: commentText window can be smaller then MIN, if it has less text.

During doLayout:
first, in resetCommentsSize comments size resets to default.
(max-height = MIN size.)

after comments positioned with loopUp / loopDown,
resizeComments check all comments (maybe it could be optimized)

If a comment have more text as its actual size, then
it check the space between this, and next comment..
and resize this comment.

If there is not enought space after the comment, then
it check for more space between this, and previous comment, and
resize + move up the comment as much as needed.

Signed-off-by: Attila Szűcs <attila.szucs@collabora.com>
Change-Id: Ie7b0971febd8c965b01ebe23125eac4eded1a742
Signed-off-by: Attila Szűcs <attila.szucs@collabora.com>
2024-04-24 19:59:26 +01:00
Henry Castro 97f82d0a72 browser: preview: change place hoder to svg
spinner pre-loading previews

Change-Id: Ib6316d58da60fb537e238f93981f0cc8294f6885
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-24 12:05:29 -04:00
Henry Castro 780b5a8e67 browser: preview: simplify "layoutPreview"
Change-Id: Ia7b478cd14901e877dece81b57f418e8bdf1668b
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-24 12:05:29 -04:00
Henry Castro 7d96728081 browser: preview: remove more unused code
Change-Id: I6431ee0093c006d142c2c0d3561a36ec31ba94f0
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-24 12:05:29 -04:00
Gülşah Köse 1d84071fc5 Prevent opening multiple tooltip on drawing area widgets
We see multiple tooltip problem on drawing area widgets.
Example case:
    Add basic shape into a writer document
    Right click on shape and open Position and Size dialog
    Select the Rotation tab
    Hold the rotation angle widget and drag around itself
When you inspect the "Rotation Angle" tooltip, count may be 600
We expect only 1.

So we prevent to show another tooltip if we have already one.

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: I2f548f8c7afce8095e83a6faa3722e164f990210
2024-04-24 17:07:03 +02:00
Gökay Şatır dc7b6d93a3 Add HTMLObjectSection for using for icons.
Replace dropdownmarker with an instance of HTMLObjectSection, which doesn't use lat/lng.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I152ed3ea4120c0682d057b2beedd4e5d8910da17
2024-04-24 16:44:43 +03:00
Michael Meeks 2d1865a8f6 logging: remove now unused StreamLogger.
Change-Id: Ic8a28dcc97aa0b17d2cb8efa99c42f7791486a15
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-04-24 10:59:51 +01:00
Michael Meeks 884a841cde Logging: wrap poco and simplify logging.
Centralize more logging functionality in Log.cpp, simplify and
wrap underlying logging APIs better.

Code is much more generic, and hides implementation details
much more thoroughly, while keeping the same API / wrappers.

To do this we have to sub-class Poco::Logger to get access to
its generic 'log' method instead of a mess of in-line wrappers,
this lets us avoid lots of code.

Change-Id: I541d3aef49f99ce582655c5102a0041bf84cd56a
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-04-24 10:59:51 +01:00
Henry Castro 722a2e57d2 wsd: simplify LOG_MESSAGE to the logging framework
Change-Id: I997855e586783451a556cefe2860f9384585045a
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-24 10:59:51 +01:00
Henry Castro 1271ee3e7f wsd: remove "PRIO" parameter to the logging framework
remove POCO dependency enumerator value.

Change-Id: I2abccd591374db96be81932d25b59fb0b10bac69
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-24 10:59:51 +01:00
Henry Castro 335e29abf7 wsd: add 'name' parameter to the logging framework
Change-Id: Ic8cc82e06200d2c2c8f47e27fd5e3225ca7f6202
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-04-24 10:59:51 +01:00
Szymon Kłos 1bc804deda remove-w2ui: remove css
it is not used anymore: see commits with remove-w2ui prefix

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ifc0034dcb28455204e490d0d21e97af22d3c8ae8
2024-04-24 10:57:31 +01:00
Szymon Kłos f00176aabe remove-w2ui: replace w2ui-scroll-wrapper
And add self made ui-scroll-reight/left items with
primary color tiangle. We should replace it at some
point with something more pretty.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I67530c6352b8356214399f324b55bbf9bc24f876
2024-04-24 10:57:31 +01:00
Michael Meeks 1516ca22cb bgsave: set state to unmodified on successful background save.
There is a race here, clearly if you type while a background
save is ongoing - but this is far better than leaving the
document apparently unmodified.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ie5e3e692294e48ad887481af2e0906092830f265
2024-04-24 09:24:34 +01:00
Michael Meeks cd37cd8765 bgsave: improve auto-save tests.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ie08a68f79734e84218c9553ad3738f7b658cdc08
2024-04-24 09:24:34 +01:00
Michael Meeks 9085ff7580 Improve DocumentBroker state dumping.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I091c67d8b72bcaa3d82cd4de7be9d5ceb8d9720d
2024-04-24 09:24:34 +01:00
Miklos Vajna 28e51d58f4 cool#8648 clipboard: stop fetching the clipboard on text selection create in tests
This was just a workaround to keep tests working till they are fixed to
not assume we do an implicit 'copy' as soon as we have a text selection.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I37d16ee2841c41593a5af2fb6ceba025fe1c79e0
2024-04-23 14:17:10 +01:00
Caolán McNamara 843b286d8c cid#360695 Dereference after null check
<< precedence is higher than ?

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie7a77ba949195b91df3b87059c0c458c57b2be94
2024-04-23 14:30:42 +02:00
Caolán McNamara e6de6b9f93 cid#318937 Array compared against 0
this returns the same type as its 3rd arg, so using "false" returns
a const char* and not a bool

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ibd46ecea82ef4587e1a2083430981976457ab874
2024-04-23 14:30:42 +02:00
Szymon Kłos 01a30b03f1 Allow to embed the presentation in window
Similar like in:
commit d9d13d7092
wasm: support serving wasm files

add headers required when we use WASM so we are able to
embed presentation in window.

Without that we get:
not-set Cross-Origin-Embedder-Policy

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I03ca3717488a92fe405693764f3f18a964b23bf7
2024-04-23 11:52:48 +02:00
Aron Budea 1ff9451754 Browser: Duplicate Repair option in Impress tabbed bar
...and remove duplicate code.

Regression from c9ef8c3015

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: Ib992d2c169d3e40f9cab670935696ab2899c639c
2024-04-23 10:40:19 +02:00
Andras Timar d6244a5e66 docker: CODE 24.04
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I7f1d5bec60a342d1b3d0dee1534506a13f12a67b
2024-04-23 09:45:58 +02:00
Skyler Grey f21031c998 mobile: Use SavedUIState=true
SavedUIState is a ui_defaults option to ignore any user preferences for
state when loading, it was added in
https://github.com/CollaboraOnline/online/pull/7575

We need to set SavedUIState explicitly on mobile, which the following
pulls do for iOS and Android respectively:
- https://github.com/CollaboraOnline/online/pull/7908
- https://github.com/CollaboraOnline/online/pull/7912

Unfortunately, setting it to false can cause some nasty bugs, such as
inability to change theme to light. It also intentionally ignores user
preferences when you reopen a document, but this isn't particularly
desirable on mobile.

I believe it to be an oversight that the option was set to `false`
rather than `true`, as `true` was the behavior before the ui_default
option was added and neither change gives a reason for it to be false
rather than true.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I30ce445db1b7e69a3b44eec3fb4689c463233b1f
2024-04-23 08:20:35 +01:00
Caolán McNamara 94341f0390 cid#360697 Ignoring number of bytes read
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I24c1bf9f103f3bf1325246a0223919ff1dbf62b4
2024-04-23 08:53:55 +02:00
Caolán McNamara 0db12d85bf includes should be in AC_LANG_PROGRAM preamble
no the body

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I9377142c676efc3f0d658efa01e06a91f3f0924d
2024-04-23 08:51:52 +02:00
Darshan-upadhyay1110 258c5c0ce6 Remove extra grid cell space from header in autofilter child popup
- we need to also consider `th` tag to make it display none
- it's a empty text span so do not that extra space.
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Ib83d42f64a0115fdc4d17a8f7e952419a84cc9d5
2024-04-23 08:45:00 +02:00
Miklos Vajna 9b95bf829f cool#8648 clipboard: fix mobile/writer/table_properties_spec.js
To work even if we don't automatically fetch HTML when a text selection
is created.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I359fa602523052940879ce749624ee63086554c1
2024-04-23 08:06:01 +02:00
Miklos Vajna 82dc3e1a46 cool#8648 clipboard: fix mobile/writer/track_changes_spec.js
To work even if we don't automatically fetch HTML when a text selection
is created.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: If9371a3d235a0ee6c006be72dabe40242fa46b2b
2024-04-23 08:06:01 +02:00
Parth Raiyani 0f749d45a8 Removed NBSP while coping info to clipboard
Signed-off-by: Parth Raiyani <pmr642001@gmail.com>
Change-Id: I2566a4902ed36e53ad2acfbe1c32efccb04bddda
2024-04-22 17:02:55 +02:00
Pranam Lashkari 5525ffab36 annotation: refectored reply node count code
now reply count node  multipurpose, it also indicates
if a comment which was being edited is collapsed

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I18a676885deea0afa30eb20505a76239e11c5493
2024-04-22 14:43:08 +01:00
Pranam Lashkari 9981260b68 cypress: added test for collapsed autosaved comment indication
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I4e6929a074e750041a1814629317baf0433eaab0
2024-04-22 14:43:08 +01:00
Pranam Lashkari d663e4a6b3 annotation: indicate if comments are in edited state while collapsed
problem:
when in small window, comment was autosaved,
it wasn't collapsed but would hang on the edge of the screen half visible.
We can't collapse the comment directly as user will not be able to find again
which comment was being edited.

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I9393e7f2b53d8ea37273cc2290cc74636c514cb5
2024-04-22 14:43:08 +01:00
Gökay Şatır f64a5c3310 Remove unused functions and notes, improve a comment.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Ic62f276983614bfbc56b50e3b0f37b1ea82c4d1a
2024-04-22 16:38:32 +03:00
Gökay Şatır cfeba70dab Lat / Lng Removal
Remove _cellCursor and use app.calc.cellCursorRectangle -> SimpleRectangle.
Turn _prevCellCursor,_cellCursorOnPgUp, _cellCursorOnPgDn into SimpleRectangle.
Remove horizontalDirection and verticalDirection calculations. They are not used. Also remove them from _onUpdateCellCursor function.
Use app.calc.cellCursorVisible instead of empty rectangle checks.
Set variables to null to re-init them instead of assigning them empty rectangles.
Push lat/lng usage through markers (leaflet things).

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I4b258a72f1ac3c94ccf25a07d0e7dab232165b90
2024-04-22 16:38:32 +03:00
569 changed files with 48858 additions and 49529 deletions

View File

@ -43,7 +43,7 @@ man_MANS = man/coolwsd.1 \
man/coolmount.1
dist_doc_DATA = wsd/README \
dist_doc_DATA = wsd/README.md \
wsd/README.vars \
wsd/protocol.txt \
wsd/reference.md \
@ -109,7 +109,6 @@ shared_sources = common/FileUtil.cpp \
common/StringVector.cpp \
common/Session.cpp \
common/Seccomp.cpp \
common/MessageQueue.cpp \
common/MobileApp.cpp \
common/TraceEvent.cpp \
common/SigUtil.cpp \
@ -121,6 +120,7 @@ shared_sources = common/FileUtil.cpp \
common/Authorization.cpp \
common/CommandControl.cpp \
common/Simd.cpp \
kit/KitQueue.cpp \
net/DelaySocket.cpp \
net/HttpRequest.cpp \
net/HttpHelper.cpp \
@ -223,6 +223,7 @@ coolforkit_SOURCES += \
common/DummyTraceEventEmitter.cpp
common_fuzzer_sources = \
fuzzer/Common.cpp \
common/DummyTraceEventEmitter.cpp \
$(coolwsd_sources) \
wsd/coolwsd-inproc.cpp \
@ -351,7 +352,6 @@ shared_headers = common/Common.hpp \
common/Util.hpp \
common/ConfigUtil.hpp \
common/Authorization.hpp \
common/MessageQueue.hpp \
common/Message.hpp \
common/MobileApp.hpp \
common/Png.hpp \
@ -365,6 +365,8 @@ shared_headers = common/Common.hpp \
common/Simd.hpp \
common/ThreadPool.hpp \
common/Watchdog.hpp \
kit/KitQueue.hpp \
net/AsyncDNS.hpp \
net/Buffer.hpp \
net/DelaySocket.hpp \
net/FakeSocket.hpp \
@ -452,7 +454,7 @@ else
# Use coolwsd to cleanup jails, if any. If it fails, we may have a broken/old coolwsd binary, remove it to rebuild.
# A CI box may switch branches without cleaning up the binaries, if coolwsd from a broken branch is used here
# it will fail all subsequent builds, until it's rebuilt from the new branch. So removing coolwsd after failing is needed.
CLEANUP_COMMAND=if test -s ./coolwsd; then echo "Cleaning up..." && ./coolwsd --disable-cool-user-checking --cleanup --o:logging.level=trace || rm ./coolwsd; fi
CLEANUP_COMMAND=if test -s ./coolwsd; then echo "Cleaning up..." && ./coolwsd --disable-cool-user-checking --cleanup --o:logging.level=trace || rm -f ./coolwsd; fi
endif
CLEANUP_COVERAGE=rm -rf ${abs_top_srcdir}/gcov; find . -iname "*.gc??" -delete
@ -517,6 +519,7 @@ setup-wsd: all @JAILS_PATH@
@cp $(abs_top_srcdir)/test/data/hello.odt $(abs_top_srcdir)/test/data/hello-world.odt
@cp $(abs_top_srcdir)/test/data/hello.ods $(abs_top_srcdir)/test/data/hello-world.ods
@cp $(abs_top_srcdir)/test/data/hello.odp $(abs_top_srcdir)/test/data/hello-world.odp
@cp $(abs_top_srcdir)/test/data/hello.odg $(abs_top_srcdir)/test/data/hello-world.odg
@echo
COMMON_PARAMS = \

View File

@ -7,7 +7,7 @@
[![Master: Pull request policy](https://img.shields.io/badge/Master-protected%2C%20PRs%20need%20approval-red?logoColor=lightred&logo=git "Collabora Team is preparing for the next release, therefore 'master' branch is protected now, PRs need 1 review before merging. Thanks for your support and contributions! :)")](https://github.com/CollaboraOnline/online/blob/master/CONTRIBUTING.md#contributing-to-source-code)
[![Matrix](https://img.shields.io/badge/Matrix-%23cool--dev-turquoise.svg)](https://matrix.to/#/#cool-dev:clicks.codes)
[![Matrix](https://img.shields.io/badge/Matrix-%23cool--dev-turquoise.svg)](https://matrix.to/#/#cool-dev:matrix.org)
[![Telegram](https://img.shields.io/badge/Telegram-Collabora%20Online-green.svg)](https://t.me/CollaboraOnline)
[![Forum](https://img.shields.io/badge/Forum-Discourse-blue.svg)](https://forum.collaboraonline.com/)
[![Website](https://img.shields.io/badge/Website-collaboraonline.github.io-blueviolet.svg)](https://collaboraonline.github.io/)
@ -35,11 +35,11 @@
## Website
For many more details, build instructions, downloads and more please visit https://collaboraonline.github.io/
For many more details, build instructions, downloads and more please visit https://collaboraonline.github.io/ and also you can check out the [SDK Documentation](https://sdk.collaboraonline.com/contents.html).
## Developer assistance
Please ask your questions on any of the bridged Matrix/Telegram rooms
* Matrix: [#cool-dev:clicks.codes](https://matrix.to/#/#cool-dev:clicks.codes)
* Matrix: [#cool-dev:matrix.org](https://matrix.to/#/#cool-dev:matrix.org)
* Telegram: [CollaboraOnline](https://t.me/CollaboraOnline)
Join the conversation on our Discourse server at https://forum.collaboraonline.com/
@ -79,4 +79,8 @@ See the corresponding READMEs:
Head over to https://collaboraonline.github.io/post/build-code/#build-code-on-gitpod and follow the steps.
## Integrating
To [integrate](https://sdk.collaboraonline.com/docs/why_integrate.html) Collabora Online into your own solution, you can see our [step-by-step tutorial](https://sdk.collaboraonline.com/docs/Step_by_step_tutorial.html), view the [available integrations](https://sdk.collaboraonline.com/docs/available_integrations.html), understand the [post message API](https://sdk.collaboraonline.com/docs/postmessage_api.html) used to customize and interact with Collabora Online, and a lot more.
## Enjoy!

View File

@ -6,6 +6,7 @@ Currently the following Collabora Online versions are supported with security up
| Version | Supported |
| ------- | ------------------ |
| 24.04.x | :white_check_mark: |
| 23.05.x | :white_check_mark: |
| 22.05.x | :white_check_mark: |
| 21.11.x | :white_check_mark: |

View File

@ -28,8 +28,8 @@
<string name="pref_user_name">اسم المستخدم</string>
<string name="pref_user_name_info">يُستخدَم عند إضافة تعليق</string>
<string name="app_version_and_hash">الإصدار: %1$s
\nتشفير البعثرة لـ غِت online : %2$s
\nتشفير البعثرة لـ غِت core : %3$s</string>
\nتشفير البعثرة على الخط من قِت: %2$s
\nتشفير البعثرة الأساسي من قِت: %3$s</string>
<string name="app_description">$APP_NAME هو حزمة إنتاجية حديثة سهلة الإستخدام لمعالجة الكلمات والأوراق الممتدة والعروض التقديمية والمزيد.</string>
<string name="no_items">لا عناصر</string>
<string name="pref_sort_summary">حدد كيفية تنظيم الملفات: أبجديا أو بالحجم أو بالتأريخ.</string>
@ -46,7 +46,7 @@
<string name="share">شارك</string>
<string name="about_moreinfo">مزيد من المعلومات</string>
<string name="new_spreadsheet">جدول بيانات جديد</string>
<string name="filter">تصفية حسب</string>
<string name="filter">فلترة بحسب</string>
<string name="sort_oldest">الأقدم أولا</string>
<string name="title_recents">الملفات الحديثة</string>
<string name="sort_smallest">الأصغر أولاً</string>
@ -66,4 +66,50 @@
<string name="choose_theme">اختر حُلّة</string>
<string name="filter_spreadsheets">جداول البيانات</string>
<string name="share_document">مُشارَكة المستنَد</string>
<string name="about_notice">عرض الملاحظة</string>
<string name="sort_az">من الألف إلى الياء</string>
<string name="sort_za">من الياء إلى الألف</string>
<string name="file_actions_icon_desc">إجراءات الملفات</string>
<string name="filter_everything">الكل</string>
<string name="close_document_locations">إغلاق مواقع المستندات</string>
<string name="local_documents">دليل المستندات</string>
<string name="otg_file_system">ذاكرة فلاش OTG (تجريبي)</string>
<string name="usb_connected_configure">الـ USB موصول. قم بتهيئة جهازك.</string>
<string name="owncloud_unauthorized">يتعذّر التسجيل في الخادوم السحابي. تحقّق من إعداداتك.</string>
<string name="owncloud_wrong_connection">يتعذر الاتصال بالخادوم السحابي. تحقَّق من الإعدادات.</string>
<string name="owncloud_unspecified_error">حدث خطأ غير محدد عند محاولة الاتصال بالخادوم السحابي. تحقّق من إعداداتك أو حاول مجدداً لاحقاً.</string>
<string name="ext_document_provider_error">الملف الجذري غير صحيح. تحقق من إعداداتك لبطاقة sd.</string>
<string name="otg_missing_error">الملف الجذري غير صحيح. تحقَّق من الجهاز OTG أو من إعداداتك.</string>
<string name="server_url">عنوان URL للخادوم</string>
<string name="server_url_and_port">عنوان URL و رقم بوابة الخادوم السحابي.</string>
<string name="user_name">اسم المستخدِم</string>
<string name="password">كلمة المرور</string>
<string name="up_description">الدليل الأب</string>
<string name="cancel_label">إلغاء</string>
<string name="search_label">إذهب إلى</string>
<string name="directory_browser_label">إختَر الدليل</string>
<string name="enter_filename">من فضلك، أدخِل اسم الملف:</string>
<string name="action_overwrite">استبدال</string>
<string name="directory_not_saved">لم يتم حفظ الدليل.</string>
<string name="theme_dark">داكن</string>
<string name="theme_system_default">افتراضية النظام</string>
<string name="theme_light">فاتح</string>
<string name="positive_ok">تمام</string>
<string name="owncloud_settings">إعدادات الخادوم السحابي</string>
<string name="physical_storage_settings">إعدادات عتاد التخزين</string>
<string name="external_sd_path">مسار وحدة SD خارجية</string>
<string name="otg_warning">خاضِّية تجريبية: تستعمل فقط في حالة كان جهاز OTG قابل للكتابة عليه.</string>
<string name="bad_directory">مسار الدليل غير صحيح</string>
<string name="current_dir">الدليل الحالي: %1$s</string>
<string name="title_permission_required">الإذن مطلوب</string>
<string name="reason_required_to_read_documents">إذن التخزين مطلوب لقراءة هذه المستندات.</string>
<string name="create_new_document_title">إنشاء مستند جديد</string>
<string name="unable_to_go_further">يتعذّر الاستمرار.</string>
<string name="bmp_null">ملف الصورة Bmp فارغ!!</string>
<string name="storage_provider_settings">إعدادات مزود خدمة التخزين</string>
<string name="otg_device_path">مسار جهاز OTG</string>
<string name="confirm_label">تأكيد</string>
<string name="negative_im_sure">أنا متأكد</string>
<string name="negative_cancel">إلغاء</string>
<string name="action_cancel">إلغاء</string>
</resources>

View File

@ -1,2 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="app_name_settings">Parametros</string>
<string name="app_vendor">Iste version es fornite per $VENDOR.</string>
<string name="no_items">Necun elementos</string>
<string name="storage_permission_required">Es requirite un permission de immagazinage</string>
<string name="pref_show_hidden_files_summary">Activar pro monstrar files/dossieres celate</string>
<string name="title_activity_show_html">A proposito de</string>
<string name="theme">Thema</string>
<string name="choose_theme">Selige un thema</string>
<string name="theme_system_default">Predefinite del systema</string>
<string name="theme_dark">Obscur</string>
<string name="theme_light">Clar</string>
<string name="file_creation_failed">Falleva le creation del file</string>
<string name="pref_category_explorer">Parametros del gestor de files</string>
<string name="pref_show_hidden_files">Files/dossieres celate</string>
<string name="pref_viewmode_summary">Monstrar le files como grillia o in un lista.</string>
<string name="list_view">Lista</string>
<string name="grid_view">Grillia</string>
</resources>

View File

@ -77,4 +77,40 @@
<string name="local_file_system">ローカルファイルシステム</string>
<string name="remove_from_list">リストから削除する</string>
<string name="share_via">共有法</string>
<string name="failed_to_load_file">ファイルの読み込み先が特定できませんでした</string>
<string name="pref_show_debug_info_summary">ドキュメント ビューアでのデバッグ情報の表示を有効にする</string>
<string name="pref_enable_chrome_debugger">Chromeデバッグ</string>
<string name="pref_enable_chrome_debugger_info">ドキュメント内で Chrome のデバッグ ツールを有効にします</string>
<string name="owncloud_unspecified_error">クラウドサーバーへの接続時に不明なエラーが発生しました。設定を確認し、後で再試行してください。</string>
<string name="ext_document_provider_error">無効なルート ファイルです。 SDカードの設定を確認してください。</string>
<string name="otg_missing_error">無効なルートファルです。OTGデバイスを確認、または設定を確認してください。</string>
<string name="storage_provider_settings">ストレージプロバイダーの設定</string>
<string name="owncloud_settings">クラウドサーバーの設定</string>
<string name="search_label">Go</string>
<string name="title_permission_required">許可が必要です</string>
<string name="negative_im_sure">確定</string>
<string name="pref_user_name_info">コメントを追加する際に使用します</string>
<string name="external_sd_file_system">外部SD</string>
<string name="otg_file_system">OTG デバイス (実験的)</string>
<string name="physical_storage_settings">物理ストレージ設定</string>
<string name="external_sd_path">外部SDパス</string>
<string name="otg_device_path">OTG デバイスのパス</string>
<string name="otg_warning">実験的な機能OTGデバイスが書き込み可能な場合にのみ使用してください。</string>
<string name="server_url">Server URL</string>
<string name="unable_to_go_further">これ以上先に進むことはできません。</string>
<string name="bmp_null">Bmpはnullです</string>
<string name="directory_not_saved">ディレクトリが保存されていません。</string>
<string name="title_activity_show_html">について</string>
<string name="choose_theme">テーマを選択してください</string>
<string name="theme_system_default">システムデフォルト</string>
<string name="theme_light">ライト</string>
<string name="pref_sort_summary">ファイルの並べ替え方法を選択します: A Z、サイズ順、または日付順。</string>
<string name="remote_server">リモートサーバー</string>
<string name="usb_connected_configure">USB が接続されているので、デバイスを設定します。</string>
<string name="theme_dark">ダーク</string>
<string name="pref_filter_summary">デフォルトで使用するファイル フィルタを設定します。</string>
<string name="server_url_and_port">クラウドサーバーのURLとポート。</string>
<string name="bad_directory">無効なディレクトリパス</string>
<string name="reason_required_to_read_documents">ドキュメントを読み取るためにはストレージの許可が必要です。</string>
<string name="local_documents">ドキュメントディレクトリ</string>
</resources>

View File

@ -11,7 +11,6 @@ add_library(androidapp SHARED
../../../../../common/Crypto-stub.cpp
../../../../../common/FileUtil.cpp
../../../../../common/Log.cpp
../../../../../common/MessageQueue.cpp
../../../../../common/TraceEvent.cpp
../../../../../common/Protocol.cpp
../../../../../common/Simd.cpp
@ -25,6 +24,7 @@ add_library(androidapp SHARED
../../../../../kit/ChildSession.cpp
../../../../../kit/DeltaSimd.c
../../../../../kit/Kit.cpp
../../../../../kit/KitQueue.cpp
../../../../../kit/KitWebSocket.cpp
../../../../../net/FakeSocket.cpp
../../../../../net/Socket.cpp

View File

@ -982,14 +982,16 @@ public class LOActivity extends AppCompatActivity {
});
// update progress bar when loading
if (message.startsWith("'statusindicator") || message.startsWith("'error:")) {
if (message.startsWith("'progress") || message.startsWith("'error:")) {
runOnUiThread(new Runnable() {
public void run() {
// FIXME: parse properly with JSONObject if starts progress:
// update progress bar if it exists
final String statusIndicatorSetValue = "'statusindicatorsetvalue: ";
final String statusIndicatorSetValue = "'progress: { \"id\":\"setvalue\", \"value\":";
if (message.startsWith(statusIndicatorSetValue)) {
int start = statusIndicatorSetValue.length();
int end = message.indexOf("'", start);
int end = message.indexOf("}", start);
int progress = 0;
try {
@ -999,7 +1001,8 @@ public class LOActivity extends AppCompatActivity {
mProgressDialog.determinateProgress(progress);
}
else if (message.startsWith("'statusindicatorfinish:") || message.startsWith("'error:")) {
else if (message.startsWith("'progress: { \"id\":\"finish\"") ||
message.startsWith("'error:")) {
mProgressDialog.dismiss();
if (BuildConfig.GOOGLE_PLAY_ENABLED && rateAppController != null)
rateAppController.askUserForRating();

View File

@ -1,2 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="storage_permission_required">Es requirite un permission de immagazinage</string>
</resources>

View File

@ -7,7 +7,7 @@
<string name="view_only">表示のみ</string>
<string name="edit_copy">コピーを編集する</string>
<string name="ask_for_copy">このドキュメントは読み取り専用です。編集用にコピーを作成しますか?</string>
<string name="restarting">再起動しています...</string>
<string name="restarting">再起動...</string>
<string name="exiting">終了しています...</string>
<string name="rate_our_app_title">%1$s をご利用いただきありがとうございます!</string>
<string name="rate_now">今すぐ評価</string>
@ -15,8 +15,11 @@
<string name="use_text">テキスト形式を使用する</string>
<string name="use_odf">ODF フォーマットを使用する</string>
<string name="cant_open_the_document">ドキュメントを開くことが出来ませんでした</string>
<string name="file_chromeos_read_only">このファイルは読み取り専用のため保存できません。 読み書き可能に設定することで編集が可能になります</string>
<string name="file_chromeos_read_only">このファイルは選択した場所に保存できません。選択した場所は読み取り専用です。読み書き可能なフォルダを選択してください</string>
<string name="ask_for_convert_odf">ファイルフォーマットの確認</string>
<string name="convert_odf_message">このドキュメントには、現在選択されているファイル形式「テキスト」で保存できない形式やコンテンツが含まれる場合があります.</string>
<string name="rate_our_app_text">お気に召されましたら、Google Playで5つ星を付与してください。 あなたの素晴らしいレビューは私たちにとって最高のモチベーションとなります。</string>
<string name="failed_to_load_file">ファイルの読み込み先が特定できませんでした</string>
<string name="cannot_open_file_chooser">選択したファイルを開けません</string>
<string name="preparing_for_the_first_start_after_an_update">更新後の開始を準備しています。</string>
</resources>

View File

@ -9,8 +9,8 @@
<string name="preparing_for_the_first_start_after_an_update">Estamos a preparar o arranque após a atualização.</string>
<string name="saving">A guardar...</string>
<string name="exiting">A sair...</string>
<string name="rate_our_app_text">Se gostou da aplicação, assinale 5 estrelas na Google Play. As avaliações positivas proporcionam motivação.</string>
<string name="rate_our_app_title">Obrigado por utilizar %1$s!</string>
<string name="rate_our_app_text">Se gostou da aplicação, dê-nos 5 estrelas no Google Play. As avaliações positivas são a nossa maior motivação.</string>
<string name="rate_our_app_title">Obrigado por utilizar o %1$s!</string>
<string name="later">Mais tarde</string>
<string name="rate_now">Avaliar agora</string>
<string name="file_chromeos_read_only">O ficheiro não pode ser guardado neste local. Mova-o para os ficheiros \'Play\' de modo a que o possa ler/escrever.</string>

View File

@ -21,7 +21,6 @@
/src/control/Control.LanguageDialog.js
/src/control/Control.Layers.js
/src/control/Control.LokDialog.js
/src/control/Control.Mention.js
/src/control/Control.Menubar.js
/src/control/Control.MobileBottomBar.js
/src/control/Control.MobileSlide.js
@ -131,21 +130,29 @@
/src/layer/marker/TextInput.js
/src/layer/Popup.js
/src/layer/SplitPanesContext.ts
/src/layer/tile/AutoFillMarkerSection.ts
/src/layer/tile/CellCursorSection.ts
/src/canvas/sections/AutoFillMarkerSection.ts
/src/canvas/sections/CellCursorSection.ts
/src/canvas/sections/CellSelectionHandleSection.ts
/src/canvas/sections/HTMLObjectSection.ts
/src/canvas/sections/CalcValidityDropDownSection.ts
/src/canvas/sections/TextSelectionHandleSection.ts
/src/layer/tile/CalcTileLayer.js
/src/layer/tile/CanvasSectionContainer.ts
/src/layer/tile/CanvasSectionProps.js
/src/canvas/CanvasSectionContainer.ts
/src/canvas/CanvasSectionObject.ts
/src/canvas/CanvasSectionProps.js
/src/layer/tile/CanvasTileLayer.js
/src/layer/tile/CommentListSection.ts
/src/layer/tile/CommentSection.ts
/src/layer/tile/ContentControlSection.ts
/src/canvas/sections/CommentListSection.ts
/src/canvas/sections/CalcGridSection.ts
/src/canvas/sections/SplitSection.ts
/src/canvas/sections/PixelGridSection.ts
/src/canvas/sections/CommentSection.ts
/src/canvas/sections/ContentControlSection.ts
/src/layer/tile/ImpressTileLayer.js
/src/layer/tile/ScrollSection.ts
/src/canvas/sections/ScrollSection.ts
/src/layer/tile/SheetGeometry.ts
/src/layer/tile/SheetSwitch.ts
/src/layer/tile/TileLayer.TableOverlay.js
/src/layer/tile/TilesSection.ts
/src/canvas/sections/TilesSection.ts
/src/layer/tile/WriterTileLayer.js
/src/layer/vector/Canvas.js
/src/layer/vector/CanvasOverlay.ts

View File

@ -120,7 +120,6 @@ NODE_MODULES_SRC =\
COOL_CSS_LST =\
$(builddir)/node_modules/select2/dist/css/select2.css \
$(srcdir)/css/w2ui-1.5.rc1.css \
$(srcdir)/css/leaflet.css \
$(srcdir)/css/leaflet-spinner.css \
$(srcdir)/css/selectionMarkers.css \
@ -219,13 +218,21 @@ COOL_JS_LST =\
src/layer/tile/SheetSwitch.ts \
src/layer/Layer.js \
src/layer/tile/SheetGeometry.ts \
src/layer/tile/CanvasSectionProps.js \
src/layer/tile/CanvasSectionContainer.ts \
src/layer/tile/CommentSection.ts \
src/layer/tile/CommentListSection.ts \
src/layer/tile/TilesSection.ts \
src/layer/tile/AutoFillMarkerSection.ts \
src/layer/tile/CellCursorSection.ts \
src/canvas/CanvasSectionProps.js \
src/canvas/CanvasSectionContainer.ts \
src/canvas/CanvasSectionObject.ts \
src/canvas/sections/CommentSection.ts \
src/canvas/sections/CommentListSection.ts \
src/canvas/sections/CalcGridSection.ts \
src/canvas/sections/SplitSection.ts \
src/canvas/sections/PixelGridSection.ts \
src/canvas/sections/TilesSection.ts \
src/canvas/sections/AutoFillMarkerSection.ts \
src/canvas/sections/CellCursorSection.ts \
src/canvas/sections/CellSelectionHandleSection.ts \
src/canvas/sections/HTMLObjectSection.ts \
src/canvas/sections/CalcValidityDropDownSection.ts \
src/canvas/sections/TextSelectionHandleSection.ts \
src/layer/vector/CEventsHandler.ts \
src/layer/vector/CPointSet.ts \
src/layer/vector/CPath.ts \
@ -237,7 +244,7 @@ COOL_JS_LST =\
src/layer/vector/CSplitterLine.ts \
src/layer/marker/Cursor.ts \
src/layer/vector/CanvasOverlay.ts \
src/layer/tile/ScrollSection.ts \
src/canvas/sections/ScrollSection.ts \
src/layer/tile/CanvasTileLayer.js \
src/layer/vector/CDarkOverlay.ts \
src/layer/SplitPanesContext.ts \
@ -246,7 +253,7 @@ COOL_JS_LST =\
src/layer/tile/WriterTileLayer.js \
src/layer/tile/ImpressTileLayer.js \
src/layer/tile/CalcTileLayer.js \
src/layer/tile/ContentControlSection.ts \
src/canvas/sections/ContentControlSection.ts \
src/layer/BackgroundColor.js \
src/layer/marker/ProgressOverlay.js \
src/layer/marker/TextInput.js \
@ -307,6 +314,7 @@ COOL_JS_LST =\
src/map/handler/Map.StateChanges.js \
src/map/handler/Map.WOPI.js \
src/layer/marker/Marker.Drag.js \
src/control/Control.AboutDialog.ts \
src/control/Control.Toolbar.js \
src/control/Control.Command.js \
src/control/Control.js \
@ -337,6 +345,7 @@ COOL_JS_LST =\
src/control/jsdialog/Util.MessageRouter.ts \
src/control/jsdialog/Util.ModalHelper.js \
src/control/jsdialog/Util.ScrollableBar.ts \
src/control/jsdialog/Util.SnackbarController.ts \
src/control/jsdialog/Util.StateChange.ts \
src/control/jsdialog/Widget.Calendar.js \
src/control/jsdialog/Widget.ColorPicker.ts \
@ -382,7 +391,10 @@ COOL_JS_LST =\
src/control/Control.NotebookbarBuilder.js \
src/control/Control.Layers.js \
src/control/Control.Sidebar.js \
src/control/Control.Mention.js \
src/control/AutoCompletePopup.ts \
src/control/Control.Mention.ts \
src/control/Control.FormulaUsagePopup.ts \
src/control/Control.FormulaAutoCompletePopup.ts \
src/control/Control.Zotero.js \
src/control/Search.js \
src/control/Permission.js \
@ -392,6 +404,7 @@ COOL_JS_LST =\
src/control/Scroll.js \
src/control/Styles.js \
src/control/Ruler.js \
src/control/VRuler.ts \
src/dom/PosAnimation.js \
src/map/anim/Map.PanAnimation.js \
src/dom/PosAnimation.Timer.js \
@ -752,6 +765,7 @@ pot:
admin/src/Util.js \
js/global.js \
src/control/ColorPicker.ts \
src/control/Control.AboutDialog.ts \
src/control/Control.AlertDialog.js \
src/control/Control.Command.js \
src/control/Control.ContextMenu.js \
@ -789,6 +803,7 @@ pot:
src/control/Parts.js \
src/control/Permission.js \
src/control/Ruler.js \
src/control/VRuler.ts \
src/control/Signing.js \
src/control/Toolbar.js \
src/control/jsdialog/Component.Toolbar.ts \
@ -799,6 +814,7 @@ pot:
src/control/jsdialog/Util.MessageRouter.ts \
src/control/jsdialog/Util.ModalHelper.js \
src/control/jsdialog/Util.ScrollableBar.ts \
src/control/jsdialog/Util.SnackbarController.ts \
src/control/jsdialog/Util.StateChange.ts \
src/control/jsdialog/Widget.Calendar.js \
src/control/jsdialog/Widget.ColorPicker.ts \
@ -824,8 +840,8 @@ pot:
src/docdispatcher.ts \
src/errormessages.js \
src/layer/tile/CanvasTileLayer.js \
src/layer/tile/CommentListSection.ts \
src/layer/tile/CommentSection.ts \
src/canvas/sections/CommentListSection.ts \
src/canvas/sections/CommentSection.ts \
src/main.js \
src/map/Clipboard.js \
src/map/Map.js \

View File

@ -217,10 +217,11 @@ Parts (like slides in presentation, or sheets in spreadsheets):
+ [e.part] - if the preview is for a part
+ e.docType
Statusindicator (when the document is loading):
progress (when the document is loading):
- events
map.on('statusindicator', function (e) {}) where:
map.on('progress', function (e) {}) where:
+ e.statusType = 'start' | 'setvalue' | 'finish' | 'coolloaded' | 'alltilesloaded'
+ e.type == 'bg' for a background operation
+ e.value == a value from 0 to 100 indicating the status
if the statusType is 'setvalue
+ 'coolloaded' is fired when the JS code is initialized and the document

View File

@ -524,7 +524,7 @@ var AdminClusterOverview = AdminSocketBase.extend({
}
var serverId = tokens[0];
var cardId = 'card-' + serverId;
var card = document.getElementById(cardId);
var card = document.getElementById(cardId).parentElement;
if (card) {
card.remove();
}

File diff suppressed because it is too large Load Diff

View File

@ -138,12 +138,14 @@ button.jsdialog img {
}
.jsdialog.ui-button-box-right {
grid-column: 2;
display: flex;
justify-self: end;
margin-inline-end: -5px;
}
.jsdialog.ui-button-box-left {
grid-column: 1;
display: flex;
justify-self: start;
margin-inline-start: -5px;

View File

@ -11,13 +11,14 @@
--color-text-darker: #c0bfbc; /* hover */
--color-text-lighter: #fff; /* secondard text, disabled */
--color-canvas: #121212;
--color-canvas: #141414;
--color-background-document: #121212;
--color-main-background: #121212;
--color-background-dark: #1E1E1E; /* select */
--color-background-darker: #000; /* todo: apply to pressed (active), li:hover(top menu on classic mode)*/
--color-background-lighter: #262626; /* hover, toolbar, dialog, disabled */
--color-overlay: #1c5fa814;
--color-background-tabs-group: #303030;
--color-primary: #0b87e7; /* border-color */
--color-primary-text: #fff; /* text color when primary-lighter is background */

View File

@ -12,13 +12,15 @@
--color-text-darker: #000; /* hover */
--color-text-lighter: #696969; /* secondard text, disabled */
--color-canvas: #F8F9FA;
--color-canvas: #f5f5f5;
--color-background-document: #FFFFFF;
--color-main-background: #F8F9FA;
--color-background-dark: #e8e8e8; /* select */
--color-background-darker: #c0bfbc; /* todo: apply to pressed (active), li:hover(top menu on classic mode)*/
--color-background-lighter: #fff; /* hover, toolbar, dialog, disabled */
--color-overlay: #1c5fa814;
--color-background-tabs-group: #f1f1f1;
--color-primary: #0b87e7; /* border-color */
--color-primary-text: #fff; /* text color when primary-lighter is background */

View File

@ -14,6 +14,7 @@
--cell-cursor-selection-border-color: var(--color-primary);
--btn-size: 24px;
--btn-size-m: 18px;
--btn-size-s: 16px;
--border-radius: 4px; /* buttons, widgets */
--border-radius-large: 10px; /* dialog */
@ -36,6 +37,11 @@
/* Annotations */
--annotation-input-size: 100px;
--annotation-max-size: 1000;
--annotation-min-size: 100;
/* Ruler */
--ruler-height: 20px;
}
.focus-hidden:focus {
outline: none;
@ -323,6 +329,8 @@ nav.spreadsheet-color-indicator ~ #sidebar-dock-wrapper {
z-index: 11 !important;
border-bottom: 1px solid var(--color-border);
background-color: var(--color-background-lighter);
display: flex;
flex-direction: column;
}
#toolbar-wrapper:not(.mobile) {
padding: 3px 0;
@ -544,7 +552,7 @@ nav.spreadsheet-color-indicator ~ #sidebar-dock-wrapper {
overflow: auto;
}
.cool-annotation-reply-count-collapsed {
.cool-annotation-info-collapsed {
text-align: center;
margin: 0;
padding: 0;
@ -749,6 +757,12 @@ nav.spreadsheet-color-indicator ~ #sidebar-dock-wrapper {
bottom: -2.8em;
left: auto;
}
#vertical-ruler .cool-ruler-left[data-title]:after,
#vertical-ruler .cool-ruler-right[data-title]:after {
bottom: 3em;
left: auto;
transform: rotate(-90deg);
}
[data-title] {
position: relative;
}
@ -845,6 +859,10 @@ nav.spreadsheet-color-indicator ~ #sidebar-dock-wrapper {
border-bottom-right-radius: var(--border-radius);
}
#formulaautocompletePopup .lokdialog {
padding: 0px;
}
.lokdialog.ui-dialog-content [Id$='Page'] {
grid-column-gap: 24px;
}
@ -1109,3 +1127,27 @@ nav.spreadsheet-color-indicator ~ #sidebar-dock-wrapper {
-webkit-user-select: text;
user-select: text;
}
.progress-bar {
width: 100%;
height: 2px;
border: none;
background-color: var(--color-background-dark);
overflow: hidden;
position: relative;
display: none;
margin-block-end: -7px;
appearance: none;
}
.progress-bar::-webkit-progress-bar {
background-color: transparent;
}
.progress-bar::-webkit-progress-value {
background-color: var(--color-main-text);
}
.progress-bar::-moz-progress-bar {
background-color: var(--color-main-text);
}

View File

@ -1,16 +1,11 @@
/* CSS specific for desktop browsers. */
/* Related to selectionMarkers.css on formulabar*/
#tb_formulabar_item_formula .inputbar_selection_handles *{
background-size: 20px;
background-position-y: top;
width: 20px;
background-repeat: no-repeat;
margin-left: 1px !important;
transform: translateY(-12px);
}
#tb_formulabar_item_formula .inputbar_selection_handles .leaflet-selection-marker-start{
margin-left: -20px !important;
/* Hide text droplets if accurate pointing device such as a mouse is detected */
@media (pointer: fine) {
.text-selection-handle-start,
.text-selection-handle-end {
display: none;
}
}
#coolwsd-version span:before,

View File

@ -15,13 +15,11 @@ html[dir='rtl'] .sub-menu-arrow {
/* Related to cool.css */
#toolbar-hamburger {
width: 36px;
height: 36px;
height: 42px;
position: relative;
z-index: 1002;
}
#toolbar-hamburger.menuwizard-opened {
width: 36px;
height: 36px;
display: flex;
align-items: center; /* Align items vertically */
}
.logo {
@ -39,8 +37,7 @@ html[dir='rtl'] .sub-menu-arrow {
/* Related to back button */
#toolbar-mobile-back {
width: 36px;
height: 36px;
width: 42px;
position: relative;
z-index: 1003;
}
@ -155,21 +152,25 @@ textarea.cool-annotation-textarea {
/* Related to toolbar.css */
@-moz-document url-prefix() {
#formulabar #addressInput{
color: var(--color-main-text);
border: 1px solid var(--color-border) !important;
border-radius: 0px;
}
#toolbar-up{
top: -1px;
}
}
#formulabar:not(.expanded) #addressInput {
align-self: center;
}
#toolbar-up #redo.disabled, #toolbar-up #undo.disabled, #toolbar-up #mobile_wizard.disabled, #toolbar-up #insertion_mobile_wizard.disabled {
display: none;
}
#toolbar-wrapper.mobile{
border-top: none;
z-index: auto !important;
flex-direction: column;
}
.toolbar-row {
display: flex;
flex-direction: row;
height: 38px !important;
}
.insertshape-grid {
@ -185,21 +186,17 @@ textarea.cool-annotation-textarea {
padding-top: 0px;
padding-bottom: 0px;
background: transparent;
align-self: end;
}
nav:not(.spreadsheet-color-indicator) ~ #toolbar-wrapper #toolbar-up.w2ui-toolbar {
border-color: transparent;
}
.formulabar.unotoolbutton {
margin: 0 !important;
}
#expand.formulabar {
margin-inline-start: -8px !important;
height: 30px !important;
justify-self: center;
}
.formulabar.toolbox {
grid-column-gap: 8px;
/* fx = inputfield expander */
grid-template-columns: 32px auto 16px 0;
grid-template-columns: calc(var(--btn-size)*2) auto var(--btn-size);
display: grid;
grid-auto-flow: column;
align-items: start;
@ -207,11 +204,7 @@ nav:not(.spreadsheet-color-indicator) ~ #toolbar-wrapper #toolbar-up.w2ui-toolba
.expanded .formulabar.toolbox {
align-items: flex-start;
}
#formulabar {
padding: 0px !important;
border-top: 1px solid #bbbbbb !important;
}
#formulabar > div > div {
#formulabar > .root-container > .formulabar {
grid-template-columns: 70px auto;
}
#toolbar-search {
@ -221,15 +214,16 @@ nav:not(.spreadsheet-color-indicator) ~ #toolbar-wrapper #toolbar-up.w2ui-toolba
#toolbar-down {
border-top: 1px solid var(--color-border) !important;
}
#toolbar-down > .w2ui-scroll-wrapper {
.ui-scroll-wrapper {
overflow-x: scroll !important;
scrollbar-width: none; /*css draft (firefox only)*/
-ms-scrollbar: none; /*ie*/
}
#toolbar-down > .w2ui-scroll-wrapper::-webkit-scrollbar { /*webkit only*/
.ui-scroll-wrapper::-webkit-scrollbar { /*webkit only*/
display: none;
}
#toolbar-down .w2ui-scroll-left, #toolbar-down .w2ui-scroll-right{
.ui-scroll-left,
.ui-scroll-right {
background: none;
height: 100%;
width: 0px;
@ -237,7 +231,7 @@ nav:not(.spreadsheet-color-indicator) ~ #toolbar-wrapper #toolbar-up.w2ui-toolba
box-shadow: 8px 0 13px 2px #0b87e7, -6px 0px 6px 6px #007cdc;
border-radius: 0px;
}
#toolbar-down .w2ui-scroll-right{
.ui-scroll-right {
display: block !important;
right: 0;
-webkit-transform: rotate(180deg);
@ -246,12 +240,6 @@ nav:not(.spreadsheet-color-indicator) ~ #toolbar-wrapper #toolbar-up.w2ui-toolba
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
#addressInput{
margin-inline-start: 8px;
width: 50px;
height: 26px;
align-self: start;
}
.w2ui-icon.equal, .w2ui-icon.autosum{width: 38px !important;}
#toolbar-up .checked{
@ -717,3 +705,7 @@ div#fontstyletoolbox + div#style.mobile-wizard {
margin-left: 5px;
margin-right: 5px;
}
.progress-bar {
margin-block-end: 0px !important;
}

View File

@ -6,15 +6,16 @@
}
/* Make the upper toolbar scrollable using swipe as on phones. */
#toolbar-up > .w2ui-scroll-wrapper {
.ui-scroll-wrapper {
overflow-x: scroll !important;
scrollbar-width: none; /*css draft (firefox only)*/
-ms-scrollbar: none; /*ie*/
}
#toolbar-up > .w2ui-scroll-wrapper::-webkit-scrollbar { /*webkit only*/
.ui-scroll-wrapper::-webkit-scrollbar { /*webkit only*/
display: none;
}
#toolbar-up .w2ui-scroll-left, #toolbar-up .w2ui-scroll-right{
.ui-scroll-left,
.ui-scroll-right {
background: none;
height: 100%;
width: 0px;
@ -22,7 +23,7 @@
box-shadow: 8px 0 13px 2px var(--color-primary), -6px 0px 6px 6px var(--color-primary);
border-radius: 0px;
}
#toolbar-up .w2ui-scroll-right{
.ui-scroll-right {
right: 0;
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
@ -63,13 +64,7 @@
.notebookbar-tabs-container > div {
white-space: nowrap;
-webkit-box-flex: 1;
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
flex: 0 0 auto;
display: flex;
list-style-type: none;
}

View File

@ -42,6 +42,15 @@
min-width: 400px;
}
.jsdialog-container:not(.snackbar) td[role='gridcell'] {
padding-left: 5px;
padding-right: 5px;
}
#AcceptRejectChangesDialog {
width: max-content;
max-width: 1000px;
}
.jsdialog.one-child-popup {
border: 0;
margin: 0 !important;
@ -372,8 +381,8 @@ td.jsdialog > [id^='table-box']:not(.sidebar) {
}
.ui-listview-icon {
height: var(--btn-size);
width: var(--btn-size);
height: var(--btn-size-s);
width: var(--btn-size-s);
margin-inline-end: 8px;
vertical-align: middle;
}
@ -398,6 +407,18 @@ td.jsdialog > [id^='table-box']:not(.sidebar) {
.ui-expander-content > .root-container.jsdialog {
margin: 4px;
}
/* Link Button*/
.ui-linkbutton {
color: var(--color-text-dark) !important;
}
.ui-linkbutton:hover {
cursor: pointer;
color: var(--color-text-lighter) !important;
}
/* TreeView */
.ui-treeview {
@ -741,8 +762,6 @@ input[type='number']:hover::-webkit-outer-spin-button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
min-width: 100px;
width: 100%;
height: 28px;
line-height: normal;
font-size: var(--default-font-size);
@ -756,6 +775,8 @@ input[type='number']:hover::-webkit-outer-spin-button {
.jsdialog-window .ui-combobox,
.jsdialog-window .ui-timefield {
height: 32px;/* Use the same height as in .jsdialog.ui-edit */
min-width: 100px;
width: 100%;
}
.ui-listbox option {
@ -943,6 +964,9 @@ input[type='number']:hover::-webkit-outer-spin-button {
background-color: var(--color-background-dark);
border: 1px solid var(--color-border-dark);
border-radius: var(--border-radius);
vertical-align: top;
width: -webkit-fill-available;
width: -moz-available;
}
/* buttons: btns.css */
@ -1106,6 +1130,8 @@ input[type='number']:hover::-webkit-outer-spin-button {
}
/* hide radio in filter by color */
.jsdialog.autofilter #background tr th:nth-of-type(1),
.jsdialog.autofilter #textcolor tr th:nth-of-type(1),
.jsdialog.autofilter #background tr td:nth-of-type(1),
.jsdialog.autofilter #textcolor tr td:nth-of-type(1) {
display: none;
@ -1305,12 +1331,6 @@ input[type='number']:hover::-webkit-outer-spin-button {
border-top-color: var(--color-text-lighter);
}
/* sum button in formulabar */
.formulabar.menubutton {
padding: 0px !important;
margin: 0 4px 0 0 !important;
}
/* toolbox */
.jsdialog.toolbox {
display: flex;
@ -1768,11 +1788,11 @@ input[type='number']:hover::-webkit-outer-spin-button {
/* formulabar */
#sc_input_window.formulabar {
height: 28px;
border: 1px solid var(--color-border);
flex-grow: 1;
background-color: var(--color-background-lighter);
border-radius: var(--border-radius) 0 0 var(--border-radius);
align-self: stretch;
}
.ui-custom-textarea {
@ -1823,17 +1843,30 @@ input[type='number']:hover::-webkit-outer-spin-button {
}
#sc_input_window.formulabar.expanded {
height: 72px !important;
border-radius: var(--border-radius) 0 var(--border-radius) var(--border-radius) !important;
}
.formulabar.unotoolbutton {
margin-inline-end: 4px !important;
opacity: 0.8;
#formulabar-buttons-toolbox.formulabar.toolbox {
display: grid;
grid-auto-flow: column;
align-items: center;
grid-column-gap: 4px;
grid-template-columns: repeat(3, 30px);
}
#acceptformula {
margin-inline-start: 3px;
#formulabar-buttons-toolbox * {
align-items: center;
justify-content: center;
}
.unotoolbutton.formulabar {
display: flex;
}
.formulabar.unotoolbutton {
margin: 0 !important;
padding: 0 !important;
opacity: 0.8;
}
.formulabar.unotoolbutton:hover {
@ -1895,8 +1928,47 @@ input[type='number']:hover::-webkit-outer-spin-button {
background-color: var(--color-background-lighter);
border: 1px solid var(--color-border-darker);
}
#toolbar-down .jsdialog.menubutton:not([disabled]):hover,
#toolbar-down .ui-listbox:not([disabled]):hover,
#toolbar-down .jsdialog.ui-edit:not([disabled]):hover,
#toolbar-down .jsdialog.ui-textarea:not([disabled]):hover {
color: var(--color-text-darker);
background-color: transparent !important;
border-color: transparent;
}
#toolbar-down .unobutton .unolabel {
cursor: pointer;
}
#toolbar-down .unotoolbutton:hover {
background-color: transparent !important;
border-color: transparent;
}
/* Formula Wizard */
#FormulaDialog .ui-tabs-root {
background-color: var(--color-background-tabs-group);
border-radius: var(--border-radius-large);
}
#FormulaDialog .jsdialog.ui-tabpage {
display: flex;
}
#FormulaDialog .jsdialog.ui-tabpage > .ui-grid {
grid-template-rows: 0 auto !important;
grid-gap: 0px;
}
#FormulaDialog #StructPage {
display: grid;
grid-template-rows: auto 1fr;
grid-row-gap: 4px;
}
#FormulaDialog #StructPage .ui-treeview-entry {
background-color: transparent;
}
#FormulaDialog #search {
display: flex;
}
#FormulaDialog #search-input {
flex-grow: 1;
}
#FormulaDialog #ParameterPage > .ui-grid-cell {
display: flex;
flex-direction: column;
@ -1917,6 +1989,7 @@ input[type='number']:hover::-webkit-outer-spin-button {
#FormulaDialog .ui-tabs-content.jsdialog {
grid-auto-columns: 250px;
margin-right: 0.2em;
margin-top: 0px;
}
div [id^='TemplateDialog'] {
@ -2052,36 +2125,24 @@ kbd,
}
/* DocumentPropertiesDialog Custom props */
#DocumentPropertiesDialog #customprops .jsdialog .ui-grid .menubutton {
#DocumentPropertiesDialog #headerbox,
#DocumentPropertiesDialog #properties > .jsdialog.ui-grid {
grid-template-columns: 128px 128px auto 26px !important;
align-items: center;
margin-block-start: 4px;
}
#DocumentPropertiesDialog #properties > .jsdialog.ui-grid > .ui-grid-cell > .ui-grid-cell {
align-items: center;
grid-column-gap: 4px;
}
#DocumentPropertiesDialog #customprops button {
line-height: 16px;
}
#DocumentPropertiesDialog #customprops div.jsdialog.ui-grid-cell,
#DocumentPropertiesDialog #customprops .spinfieldcontainer,
#DocumentPropertiesDialog #customprops input.ui-timefield {
margin-top: auto;
margin-bottom: auto;
}
#DocumentPropertiesDialog #customprops #properties > .ui-grid {
display: flex;
}
#DocumentPropertiesDialog #customprops #properties > .ui-grid > div:nth-child(1) {
width: 150px;
}
#DocumentPropertiesDialog #customprops #properties > .ui-grid > div:nth-child(2) {
width: 100px;
}
#DocumentPropertiesDialog #customprops #properties > .ui-grid > div:nth-child(3) {
width: 100%;
margin: 0;
}
#DocumentPropertiesDialog #customprops #properties > .ui-grid > div:nth-child(4) {
width: 45px;
}
#DocumentPropertiesDialog #customprops .jsdialog.ui-scrollwindow {
max-height: min-content;
}

View File

@ -289,7 +289,8 @@ button#button2.ui-pushbutton.jsdialog.sidebar {
/* not available commands*/
.sidebar #orientationcontrol,
.sidebar #rotation {
.sidebar #rotation,
.sidebar #rotatemenu {
visibility: hidden;
}

View File

@ -883,7 +883,7 @@ input.clipboard {
}
.cool-ruler {
background-color: var(--color-main-background);
height: 20px;
height: var(--ruler-height);
width: 100vw;
margin: 0px !important;
position: fixed;
@ -923,10 +923,11 @@ input.clipboard {
background-repeat: no-repeat;
}
.cool-ruler-indentation-marker-center{
.cool-ruler-indentation-marker-center,
.cool-ruler-horizontal-indentation-marker-center
{
position: fixed;
display: none;
height: 100vh;
top: 0;
bottom: 0;
left: 0;

View File

@ -44,6 +44,7 @@
justify-content: center;
gap: 5px;
flex-direction: column;
width: fit-content;
}
.readonly .document-title {
@ -68,7 +69,7 @@
align-self: center;
}
@media screen and (max-width: 1238px) {
@media screen and (max-width: 900px) {
.main-nav.hasnotebookbar:not(.readonly) #document-titlebar {
display: none;
}

View File

@ -179,6 +179,10 @@ button.ui-tab.notebookbar {
z-index: 11;
}
#toolbar-row {
height: 74px;
}
.vertical.notebookbar {
width: max-content;
display: grid;
@ -342,46 +346,21 @@ button.ui-tab.notebookbar {
/* File Tab */
/* Home tab */
#table-HomeTab {
margin-left: -16px;/*force alignment: clipboard elements*/
margin-top: -5px;
}
#clearFormatting.notebookbar div img, #FormatPaintbrush.notebookbar div img {
width: 24px !important;
height: 24px !important;
}
#clearFormatting.notebookbar, #FormatPaintbrush.notebookbar{
height: 24px !important;
}
#fontsize.notebookbar {
width: 65px !important;
}
#fontnamecombobox.notebookbar {
width: 195px !important;
top: -1px;
padding-right: 0px;
}
#CharBackColor.notebookbar { /* remove when #2149 is fixed in impress/draw*/
margin-left: 44px !important;
}
#BackgroundColor.notebookbar {
margin-left: 0px !important;
}
#fontsizecombobox.notebookbar {
width: 50px !important;
width: 4.6rem;
}
.notebookbar.ui-combobox * {
line-height: 22px;
}
.ui-combobox-content {
padding-inline: 5px;
}
.has-colorpicker.menubutton img {
width: var(--btn-size-m) !important;
height: var(--btn-size-m) !important;
padding-bottom: calc(var(--btn-size) - var(--btn-size-m));
}
/* Styles preview */
#stylesview {

View File

@ -1,16 +1,12 @@
.leaflet-selection-marker-start {
.text-selection-handle-start {
position: absolute;
margin-left: -30px;
margin-top: -2px;
width: 30px;
height: 44px;
background-image: url('images/handle_start.svg');
}
.leaflet-selection-marker-end {
.text-selection-handle-end {
position: absolute;
margin-left: 0;
margin-top: -2px;
width: 30px;
height: 44px;
background-image: url('images/handle_end.svg');
@ -22,9 +18,13 @@
height: 44px;
background-image: url('images/cursor-handler.svg');
}
.inputbar_selection_handles * {
z-index: 1;
}
#tb_formulabar_item_formula .inputbar_selection_handles{
/*display: none;*/
.html-object-section {
display: block;
position: absolute;
cursor: pointer;
left: 0;
top: 0;
z-index: 11;
user-select: none;
}

View File

@ -167,16 +167,6 @@
cursor: row-resize;
}
.spreadsheet-cell-resize-marker {
margin-left: 0px;
margin-top: 0px;
width: 16px;
height: 16px;
background-image: url('images/cell-resize-marker.svg');
background-size: 100% 100%;
background-repeat: no-repeat;
}
.spreadsheet-cell-autofill-marker {
margin-left: 0px;
margin-top: 0px;
@ -222,23 +212,35 @@
/* formulabar */
#addressInput {
height: 26px;
width: 100px;
display: flex;
flex-flow: column;
}
#addressInput-input {
color: var(--color-main-text);
background-color: var(--color-background-lighter);
border: 1px solid var(--color-border);
border-radius: var(--border-radius);
align-self: start;
align-self: stretch;
/* Same line-height as formulabar input */
line-height: 1.2;
flex-basis: 30px;
}
#formulabar-toolbox > div {
align-items: start;
#formulabar-toolbox {
grid-template-rows: 30px;
}
#formulabar-buttons-toolbox > div {
align-items: start;
margin-left: auto;
text-align: center;
#AutoSumMenu {
/* Make sure it matches buttons height*/
grid-template-rows: var(--btn-size);
}
#formulabar.expanded > .root-container > .formulabar {
grid-template-rows: 72px;
}
#formulabar.expanded #formulabar-toolbox {
grid-template-rows: 72px;
}
#formulabar {
@ -247,13 +249,14 @@
border-top: 1px solid var(--color-border);
}
#formulabar.expanded #addressInput * {
vertical-align: top;
#formulabar > .root-container > .formulabar {
display: grid;
grid-template-columns: 110px 112px auto;
grid-template-rows: 30px;
}
#formulabar > div > div {
display: grid;
grid-template-columns: 110px 120px auto;
#formulabar > .root-container > .formulabar * {
box-sizing: border-box;
}
/* sheet tabs */

View File

@ -1,6 +1,6 @@
#toolbar-up {
z-index: 11;
height: 38px;
align-self: center;
}
#document-name-input-loading-bar {
@ -67,7 +67,7 @@
}
#toolbar-down .ui-badge[disabled] {
background-color: var(--color-background-darker);
border-color: transparent;
}
#toolbar-down {
@ -75,6 +75,11 @@
border-top: 1px solid var(--color-border);
padding: 4px 0px;
}
#toolbar-down > .ui-scroll-wrapper > .vertical {
/* To do: test if all .ui-scroll-wrapper.vertical
can be set with this and if so, remove this */
align-items: center;
}
#toolbar-down:not(.mobile) {
background-color: var(--color-main-background);
}
@ -109,15 +114,6 @@
color: var(--color-primary);
}
w2ui-toolbar {
position: absolute;
right: 10px;
top: 40px;
border: 1px solid var(--color-border);
z-index: 1000;
display: none;
overflow: visible !important;
}
.w2ui-toolbar table.w2ui-button .w2ui-tb-down > div,
.select2-container--default .select2-selection--single .select2-selection__arrow b {
border-top: 5px solid var(--color-main-text);
@ -194,25 +190,61 @@ w2ui-toolbar {
height: 100%;
}
.w2ui-scroll-left,
.w2ui-scroll-right {
/* scroll wrapper */
.ui-scroll-wrapper {
overflow: hidden;
}
.ui-scroll-left {
left: 0;
}
.ui-scroll-right {
right: 0;
}
.ui-scroll-left,
.ui-scroll-right {
display: none;
position: absolute;
top: 0px;
width: 18px;
height: 100%;
z-index: 1001;
background-color: var(--color-background-dark);
box-shadow: 0px 0px 7px var(--color-box-shadow);
}
.ui-scroll-left::before,
.ui-scroll-right::after {
position: absolute;
display: block;
content: '';
border: 10px solid transparent;
border-top-color: var(--color-primary);
top: calc(50% - 10px);
}
.ui-scroll-left::before {
rotate: 90deg;
right: 0px;
}
.ui-scroll-right::after {
rotate: 270deg;
}
.ui-scroll-left:hover,
.ui-scroll-right:hover {
background-color: var(--color-background-darker);
}
.notebookbar-scroll-wrapper {
height: 72px;
}
#toolbar-wrapper.hasnotebookbar .w2ui-scroll-left,
#toolbar-wrapper.hasnotebookbar .w2ui-scroll-right {
#toolbar-wrapper.hasnotebookbar .ui-scroll-left,
#toolbar-wrapper.hasnotebookbar .ui-scroll-right {
/* .notebookbar-scroll-wrapper's height */
height: 72px;
/* #toolbar-wrapper:not(.mobile)'s top padding */
top: 3px;
}
.w2ui-scroll-left:hover,
.w2ui-scroll-right:hover {
background-color: var(--color-background-darker);
.main-nav:not(.hasnotebookbar) ~ #toolbar-wrapper .toolbar-row {
height: 42px;
}
/* center the toolbar */
@ -1039,9 +1071,7 @@ button.leaflet-control-search-next
.w2ui-icon.selected{ background: url('images/lc_ok.svg') no-repeat center; }
.w2ui-icon.users{ background: url('images/contacts-dark.svg') no-repeat center; }
.w2ui-icon.fullscreen{ background: url('images/lc_fullscreen.svg') no-repeat center; }
.w2ui-icon.closemobile{ background: url('images/lc_closedocmobile.svg') no-repeat center; }
.w2ui-icon.editmode { background: url('images/lc_listitem-selected.svg') no-repeat center / 28px; }
.w2ui-icon.closetoolbar{ background: url('images/close_toolbar.svg') no-repeat center; }
.w2ui-icon.sidebar_modify_page{ background: url('images/lc_sidebar.svg') no-repeat center; }
.w2ui-icon.sidebar_slide_change{ background: url('images/lc_slidechangewindow.svg') no-repeat center; }
.w2ui-icon.sidebar_custom_animation{ background: url('images/lc_customanimation.svg') no-repeat center; }
@ -1332,9 +1362,7 @@ button.leaflet-control-search-next
[data-theme='dark'] .w2ui-icon.selected{ background: url('images/dark/lc_ok.svg') no-repeat center; }
[data-theme='dark'] .w2ui-icon.users{ background: url('images/dark/contacts-dark.svg') no-repeat center; }
[data-theme='dark'] .w2ui-icon.fullscreen{ background: url('images/dark/lc_fullscreen.svg') no-repeat center; }
[data-theme='dark'] .w2ui-icon.closemobile{ background: url('images/dark/lc_closedocmobile.svg') no-repeat center; }
[data-theme='dark'] .w2ui-icon.editmode { background: url('images/dark/lc_listitem-selected.svg') no-repeat center / 28px; }
[data-theme='dark'] .w2ui-icon.closetoolbar{ background: url('images/dark/close_toolbar.svg') no-repeat center; }
[data-theme='dark'] .w2ui-icon.sidebar_modify_page{ background: url('images/dark/lc_sidebar.svg') no-repeat center; }
[data-theme='dark'] .w2ui-icon.sidebar_slide_change{ background: url('images/dark/lc_slidechangewindow.svg') no-repeat center; }
[data-theme='dark'] .w2ui-icon.sidebar_custom_animation{ background: url('images/dark/lc_customanimation.svg') no-repeat center; }
@ -1468,6 +1496,7 @@ button.leaflet-control-search-next
height: auto;
position: static;
text-align: left;
display: flex;
}
.insertshape-grid.insertconnectors .row {

File diff suppressed because one or more lines are too long

View File

@ -16,6 +16,8 @@ m4_ifelse(IOSAPP,[true],
<title>Online Editor</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0 minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="previewImg" content="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMDAgMjAwJz4KICAgPGNpcmNsZSB0cmFuc2Zvcm09J3JvdGF0ZSgwKScgdHJhbnNmb3JtLW9yaWdpbj0nY2VudGVyJyBmaWxsPSdub25lJyBzdHJva2U9JyNCNkI2QjYnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWRhc2hhcnJheT0nMjMwIDEwMDAnIHN0cm9rZS1kYXNob2Zmc2V0PScwJyBjeD0nMTAwJyBjeT0nMTAwJyByPSc3MCc+CiAgICAgPGFuaW1hdGVUcmFuc2Zvcm0KICAgICAgICAgYXR0cmlidXRlTmFtZT0ndHJhbnNmb3JtJwogICAgICAgICB0eXBlPSdyb3RhdGUnCiAgICAgICAgIGZyb209JzAnCiAgICAgICAgIHRvPSczNjAnCiAgICAgICAgIGR1cj0nMicKICAgICAgICAgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnPgogICAgICA8L2FuaW1hdGVUcmFuc2Zvcm0+CiAgIDwvY2lyY2xlPgo8L3N2Zz4=">
<meta name="previewSmile" content="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJtNDI0LTI5NiAyODItMjgyLTU2LTU2LTIyNiAyMjYtMTE0LTExNC01NiA1NiAxNzAgMTcwWm01NiAyMTZxLTgzIDAtMTU2LTMxLjVUMTk3LTE5N3EtNTQtNTQtODUuNS0xMjdUODAtNDgwcTAtODMgMzEuNS0xNTZUMTk3LTc2M3E1NC01NCAxMjctODUuNVQ0ODAtODgwcTgzIDAgMTU2IDMxLjVUNzYzLTc2M3E1NCA1NCA4NS41IDEyN1Q4ODAtNDgwcTAgODMtMzEuNSAxNTZUNzYzLTE5N3EtNTQgNTQtMTI3IDg1LjVUNDgwLTgwWm0wLTgwcTEzNCAwIDIyNy05M3Q5My0yMjdxMC0xMzQtOTMtMjI3dC0yMjctOTNxLTEzNCAwLTIyNyA5M3QtOTMgMjI3cTAgMTM0IDkzIDIyN3QyMjcgOTNabTAtMzIwWiIvPjwvc3ZnPg==">
<script>
m4_dnl# Define MOBILEAPP as true if this is either for the iOS app or for the gtk+ "app" testbed
@ -186,6 +188,7 @@ m4_ifelse(MOBILEAPP,[true],
<label class="visuallyhidden" for="document-name-input" aria-hidden="false">Document name</label>
<input id="document-name-input" type="text" spellcheck="false" disabled="true" style="display: none"/>
<div id="document-name-input-loading-bar"></div>
<progress id="document-name-input-progress-bar" class="progress-bar" value="0" max="99"></progress>
</div>
</div>
@ -201,21 +204,21 @@ m4_ifelse(MOBILEAPP,[true],
</div>
</nav>
<table id="toolbar-wrapper">
<tr>
<td id="toolbar-logo"></td>
<td id="toolbar-mobile-back" class="editmode-off"></td>
<td id="toolbar-up"></td>
<td id="toolbar-hamburger">
<label class="main-menu-btn" for="main-menu-state">
<span class="main-menu-btn-icon" id="main-menu-btn-icon"></span>
</label>
</td>
</tr>
<tr>
<td colspan="4" id="formulabar" style="display: none"></td>
</tr>
</table>
<div id="toolbar-wrapper">
<div id="toolbar-row" class="toolbar-row">
<div id="toolbar-logo"></div>
<div id="toolbar-mobile-back" class="editmode-off"></div>
<div class="jsdialog ui-spacer"></div>
<div id="toolbar-up"></div>
<div id="toolbar-hamburger">
<label class="main-menu-btn" for="main-menu-state">
<span class="main-menu-btn-icon" id="main-menu-btn-icon"></span>
</label>
</div>
</div>
<div colspan="4" id="formulabar" style="display: none"></div>
<progress id="mobile-progress-bar" class="progress-bar" value="0" max="99"></progress>
</div>
<input id="insertgraphic" aria-labelledby="menu-insertgraphic" type="file" accept="image/*" style="position: fixed; top: -100em">
<input id="selectbackground" aria-labelledby="menu-selectbackground" type="file" accept="image/*" style="position: fixed; top: -100em">
@ -314,7 +317,7 @@ m4_ifelse(MOBILEAPP,[true],
window.checkFileInfoOverride = {};
window.deeplEnabled = false;
window.zoteroEnabled = false;
window.savedUIState = false;
window.savedUIState = true;
window.wasmEnabled = false;
window.indirectionUrl='';],
[window.host = '%HOST%';

View File

@ -36,13 +36,13 @@
.vbox {
display: flex;
flex-direction: column;
gap: 1em;
gap: 0.5em;
}
.hbox {
display: flex;
flex-direction: row;
gap: 1em;
gap: 0.5em;
}
.grid {
@ -56,7 +56,12 @@
gap: 15px;
grid-gap: 15px;
}
h3 {
margin: 0.2em 0px;
}
pre {
margin: 0px;
}
</style>
@ -120,6 +125,12 @@
});
}
function closeSession() {
post({'MessageId': 'Close_Session',
'Values': null
});
}
function fullscreenDocument() {
post({'MessageId': 'Action_Fullscreen',
'Values': null
@ -265,6 +276,10 @@
if (!msg) {
return;
}
let messageOut = document.getElementById("messages");
messageOut.textContent = messageOut.textContent + JSON.stringify(msg) + "\n";
if (msg.MessageId == 'App_LoadingStatus') {
if (msg.Values) {
if (msg.Values.Status == 'Document_Loaded') {
@ -476,7 +491,9 @@
<div class="grid">
<button onclick="save(); return false;">Save</button>
<div></div>
<button onclick="closeDocument(); return false;">Close</button>
<button onclick="closeSession(); return false;">Close Session</button>
<button onclick="fullscreenDocument(); return false;">Fullscreen</button>
<button onclick="startPresentation(); return false;">Start presentation</button>
@ -506,14 +523,15 @@
<div>
<button onclick="reset_access_token(document.getElementById('new-access-token').value); return false;">Reset Access-Token</button>
</div>
<h3>User State</h3>
<div class="hbox">
<button onclick="GetUserState(); return false;">Get User State</button>
<div id="DisplayUserState">
<p>State: <span id="UserState_State">unknown</span>
Elapsed: <span id="UserState_Elapsed">0</span> sec.</p>
</div>
</div>
<h3>User State</h3>
<div class="hbox">
<button onclick="GetUserState(); return false;">Get User State</button>
<div id="DisplayUserState">
<p>State: <span id="UserState_State">unknown</span>
Elapsed: <span id="UserState_Elapsed">0</span> sec.</p>
</div>
</div>
</form>
<div class="vbox framed">
@ -534,6 +552,13 @@
<button onclick="executeMessage(); return false;">Execute</button>
</form>
</div>
</div>
<div class="framed hbox">
<div class="vbox">
<h3>Messages from editor</h3>
<pre id="messages"></pre>
</div>
</div>

View File

@ -0,0 +1,10 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path d="m5 2c-.554 0-1 .446-1 1v4.5859375l1 1v-5.5859375h5.585938l1-1zm10.857422.5136719a1.0001 1.0001 0 0 1 -.150391.1933593l-.5.5 3.792969 3.7929688h-4v-3.5859375l-1 1v2.5859375c0 .554.446 1 1 1h4v2.087891c.207543.071951.404923.186172.570312.351562l.429688.429688v-3.619141-.2089844c0-.4506799.098038-.4254121-.605469-1.0664062l-3.30664-3.2382813c-.122291-.1270015-.144705-.1356868-.230469-.2226562zm-11.857422 9.9003901v8.585938c0 .554.446 1 1 1h12.097656c-.111723-.322601-.11234-.677002-.001953-1h-12.095703v-8a1.0001 1.0001 0 0 1 -.7070312-.292969zm15 1.710938v.873047h.873047zm0 3.876953v.873047l.873047-.873047z" fill="#fafafa"/>
<rect fill="#fb983b" height="1" ry=".5" width="5" x="12" y="9"/>
<rect fill="#fb983b" height="1" ry=".5" width="7" x="7" y="12"/>
<path d="m7.5 15c-.277 0-.5.223-.5.5s.223.5.5.5h2.591797c.133739-.364218.405495-.666009.75-.839844-.090133-.091608-.20226-.160156-.341797-.160156z" fill="#c8c6c4"/>
<path d="m18.505859 11.001953c-.127809 0-.25558.048549-.353515.146485-.195868.195869-.195868.513115 0 .708984l4.140625 4.142578h-10.792969c-.277 0-.5.223-.5.5s.223.5.5.5h10.792969l-4.140625 4.142578c-.195868.195869-.195868.513116 0 .708984.097935.097936.225706.146485.353515.146485s.257539-.048554.355469-.146485l4.992188-4.998046c.047015-.047013.084075-.103236.109375-.166016.02334-.057904.037109-.12105.037109-.1875s-.013769-.129596-.037109-.1875c-.0253-.06278-.06236-.119003-.109375-.166016l-4.992188-4.998046c-.09793-.09793-.22766-.146485-.355469-.146485z" fill="#1e8bcd"/>
<rect fill="#fb983b" height="1" rx=".5" width="5" x="7" y="18"/>
<path d="m2 7-.9999999 1 3.9999999 4 10-10-1-1-9 9z" fill="#1e8bcd"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<svg height="24" viewBox="0 0 6.3499999 6.3500002" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(.26458333 0 0 .26458333 -1.058333 290.65015)" gradientUnits="userSpaceOnUse" x1="5.016949" x2="5.271186" xlink:href="#b" y1="21.923729" y2="18.771187"/><linearGradient id="b" gradientTransform="matrix(.26458333 0 0 .26458333 101.6 307.58333)" gradientUnits="userSpaceOnUse" x1="18.5" x2="18.5" y1="23" y2="14.5"><stop offset="0" stop-color="#d70015"/><stop offset="1" stop-color="#ff453a"/></linearGradient><linearGradient id="c" gradientTransform="matrix(.26458333 0 0 .26458333 -1.058333 290.65015)" gradientUnits="userSpaceOnUse" x1="20.068359" x2="20.576271" xlink:href="#b" y1="7.824219" y2="5.279661"/><g transform="translate(0 -290.64999)"><path d="m20.5 11c-.277 0-.5.223-.5.5v3.498047.740234c.000007.0039.000007.0078 0 .01172v.249999c0 .02637-.01171.04897-.01563.07422-.000638.0052-.0013.01042-.002.01563-.173787 1.654316-1.568916 2.910272-3.23237 2.91015h-.75-3.292969l2.144531-2.144531c.195871-.195855.195897-.511253 0-.707031-.09793-.09789-.225711-.146485-.353515-.146485s-.255567.04859-.353516.146485l-2.998047 2.998046c-.04701.04701-.08407.103238-.109375.166016-.04898.120358-.04897.25467 0 .375.0253.06278.06236.119003.109375.166016l2.998047 2.998046c.195897.19578.511163.19578.707031 0 .195897-.195778.195871-.511176 0-.707031l-2.144531-2.144531h4.292969c1.5 0 2.044408-.647996 2.802734-1.148438.589375-.58012.984455-1.328657 1.13086-2.142578.02953-.216981.05027-.434013.05664-.640625.000081-.0038.000081-.0099 0-.01367v-.0039c.001833-.017485.009766-.032811.009766-.050789v-4.5c0-.277-.223-.5-.5-.5z" fill="#1e8bcd" transform="matrix(.26458333 0 0 .26458333 0 290.64999)"/><g stroke-width=".264583"><path d="m2.7285156 291.17932c-.2321314-.003-.4583136.0417-.6624918.12816-.4083566.17292-.7349993.5143-.8387085.96531-.095703.41619.00598.91235.3601847 1.43041l.085266.12195c.00209.003.00359.006.00568.008.2232321.29282.3685135.55282.4635375.78548.042646.0818.064188.17119.092501.25838.045031.14683.042165.29648.041341.44752-.00379.1311-.06273.23804-.1162709.35244-.036348.06-.077829.11581-.1271238.16433-.3388138.33346-.9959534.37927-1.37666028.12609l-.18293456.27543c.52966774.35225 1.32162854.29567 1.79110524-.1664.1110835-.10933.2004422-.24447.2609659-.39945.058253-.13439.067456-.27569.082682-.41858.00102-.24248-.011553-.40299-.1080037-.63976-.08502-.24424-.2241825-.50929-.4206462-.79375-.1287007-.17034-.2473227-.3453-.3550171-.52916-.1973074-.36633-.2344047-.68675-.1741496-.94878.078098-.33964.3207719-.59809.6449219-.73536.6482998-.27453 1.5990438-.0652 2.0567219 1.10846l.3079917-.11989c-.3832696-.98282-1.1345019-1.41327-1.8308961-1.4211z" fill="#fafafa"/><path d="m0 295.67724h.79375v.79375h-.79375z" fill="url(#a)"/><path d="m3.96875 291.97307h.79375v.79375h-.79375z" fill="url(#c)"/><path d="m1.3229167 293.0314v1.05834h1.0583333v-1.05834zm.2645833.26459h.5291667v.52916h-.5291667z" fill="#83beec"/><path d="m1.5875 293.29599h.5291667v.52916h-.5291667z" fill="#fff"/></g><g fill="#fafafa" transform="matrix(.26458333 0 0 .26458333 -1.058333 290.65015)"><path d="m4 19h3v3h-3z"/><path d="m19 5h3v3h-3z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,10 +0,0 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g
stroke="#fafafa"
stroke-linecap="round"
stroke-linejoin="round">
<path
d="m 3.5,2.5 c -0.5,5.52e-5 -1,0.5 -1,1 v 12 c 5.52e-5,0.5 0.5,1 1,1 h 2 v 3.5 1.45 c 0,0.58 0.6,0.35 0.5,0.35 0.33,0 0.6,-0.25 1.17,-0.75 L 12,16.5 h 9 c 0.5,-5.5e-5 1,-0.5 1,-1 v -12 c -5.5e-5,-0.5 -0.45,-1 -1,-1 z"
style="fill:none" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 423 B

View File

@ -0,0 +1 @@
<svg version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m10.5 3c2.0059 3.6016-3.4391 7.3532-5.5 5.5v12.5h14v-18z" fill="#fafafa"/><path d="m12 2v1h7v18h-14v-11h-1v11c0 0.554 0.446 1 1 1h14c0.554 0 1-0.446 1-1v-18c0-0.554-0.446-1-1-1z" fill="#fafafa"/><g fill="#797774"><path d="m12 5v1h6v-1zm0 3v1h6v-1zm-6 3v1h12v-1zm0 3v1h12v-1zm0 3v1h12v-1z"/></g><path d="m6.5 0v0.5625c2.1746 0 3.9375 1.7629 3.9375 3.9375 0 2.1746-1.7629 3.9375-3.9375 3.9375v0.5625c2.4853 0 4.5-2.0147 4.5-4.5s-2.0147-4.5-4.5-4.5zm0 8.4375v-7.875c-2.1746 0-3.9375 1.7629-3.9375 3.9375 0 2.1746 1.7629 3.9375 3.9375 3.9375z"/><path d="m6.5 0.5625c2.1746 0 3.9375 1.7629 3.9375 3.9375 0 2.1746-1.7629 3.9375-3.9375 3.9375z" fill="#fff"/><path d="m6.5 0v0.5625c2.1746 0 3.9375 1.7629 3.9375 3.9375 0 2.1746-1.7629 3.9375-3.9375 3.9375v0.5625c2.4853 0 4.5-2.0147 4.5-4.5s-2.0147-4.5-4.5-4.5zm0 8.4375v-7.875c-2.1746 0-3.9375 1.7629-3.9375 3.9375 0 2.1746 1.7629 3.9375 3.9375 3.9375z"/><path d="m6.5 0v0.5625c-2.1746 0-3.9375 1.7629-3.9375 3.9375 0 2.1746 1.7629 3.9375 3.9375 3.9375v0.5625c-2.4853 0-4.5-2.0147-4.5-4.5s2.0147-4.5 4.5-4.5zm0 8.4375v-7.875z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -3,12 +3,11 @@
<g id="background"
class="icn icn--text-color"
fill="none"
stroke="#696969"
stroke="#fafafa"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
>
<path d="M 5,19 19,5" />
<path d="M 19,19 5,5" />
<path d="m 8,5 8,7 -8,7" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 338 B

View File

@ -0,0 +1,13 @@
<?xml-stylesheet type="text/css" href="icons.css" ?>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g id="background"
class="icn icn--text-color"
fill="none"
stroke="#fafafa"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
>
<path d="m 16,5 -8,7 8,7" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 339 B

View File

@ -0,0 +1,12 @@
<svg viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path d="m5 2c-.2444339 0-.4594594.0975718-.6328125.2421875l.7578125.7578125h1.75l1-1zm6.955078 0a.99748709.99748709 0 0 1 -.25.4199219l-.580078.5800781h2.875v4c0 .554.446 1 1 1h4v2.087891c.207543.071951.404923.186172.570312.351562l.429688.429688v-3.619141-.2089844c0-.4506799.098038-.4254121-.605469-1.0664062l-3.30664-3.2382813c-.709525-.7368575-.710169-.7363281-1.09375-.7363281h-.332032-.662109zm3.044922 1 4 4h-4zm-10 6.125-1 1v10.875c0 .554.446 1 1 1h12.097656c-.111723-.322601-.11234-.677002-.001953-1h-12.095703zm14 5v.873047h.873047zm0 3.876953v.873047l.873047-.873047z" fill="#fafafa"/>
<path d="m9.1289062 5-1 1h3.3710938c.277 0 .5-.223.5-.5s-.223-.5-.5-.5z" fill="#c8c6c4"/>
<path d="m7.09375 9.2226562c-.0548333.0802555-.09375.1723924-.09375.2773438 0 .277.223.5.5.5h.3710938z" fill="#c8c6c4"/>
<rect fill="#fb983b" height="1" ry=".5" width="5" x="12" y="9"/>
<rect fill="#fb983b" height="1" ry=".5" width="7" x="7" y="12"/>
<path d="m7.5 15c-.277 0-.5.223-.5.5s.223.5.5.5h2.591797c.133739-.364218.405495-.666009.75-.839844-.090133-.091608-.20226-.160156-.341797-.160156z" fill="#c8c6c4"/>
<path d="m10.285747 1.000121-4.285715 4.285714-4.285715-4.285714-.714285.714285 4.285714 4.285715-4.285714 4.285715.714285.714285 4.285715-4.285714 4.285715 4.285714.714285-.714285-4.285714-4.285715 4.285714-4.285715z" fill="#ed3d3b"/>
<path d="m18.505859 11.001953c-.127809 0-.25558.048549-.353515.146485-.195868.195869-.195868.513115 0 .708984l4.140625 4.142578h-10.792969c-.277 0-.5.223-.5.5s.223.5.5.5h10.792969l-4.140625 4.142578c-.195868.195869-.195868.513116 0 .708984.097935.097936.225706.146485.353515.146485s.257539-.048554.355469-.146485l4.992188-4.998046c.047015-.047013.084075-.103236.109375-.166016.02334-.057904.037109-.12105.037109-.1875s-.013769-.129596-.037109-.1875c-.0253-.06278-.06236-.119003-.109375-.166016l-4.992188-4.998046c-.09793-.09793-.22766-.146485-.355469-.146485z" fill="#1e8bcd"/>
<rect fill="#fb983b" height="1" rx=".5" width="5" x="7" y="18"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,13 @@
<?xml-stylesheet type="text/css" href="icons.css" ?>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g id="background"
class="icn icn--text-color"
fill="none"
stroke="#fafafa"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
>
<path d="M 19,8 12,16 5,8" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 340 B

View File

@ -0,0 +1,13 @@
<?xml-stylesheet type="text/css" href="icons.css" ?>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g id="background"
class="icn icn--text-color"
fill="none"
stroke="#fafafa"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
>
<path d="M 19,16 12,8 5,16" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 341 B

View File

Before

Width:  |  Height:  |  Size: 503 B

After

Width:  |  Height:  |  Size: 503 B

View File

@ -0,0 +1 @@
<svg height="24" viewBox="0 0 6.3499999 6.3500002" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(.26458333 0 0 .26458333 -1.058333 290.65015)" gradientUnits="userSpaceOnUse" x1="5.016949" x2="5.271186" xlink:href="#b" y1="21.923729" y2="18.771187"/><linearGradient id="b" gradientTransform="matrix(.26458333 0 0 .26458333 101.6 307.58333)" gradientUnits="userSpaceOnUse" x1="18.5" x2="18.5" y1="23" y2="14.5"><stop offset="0" stop-color="#d70015"/><stop offset="1" stop-color="#ff453a"/></linearGradient><linearGradient id="c" gradientTransform="matrix(.26458333 0 0 .26458333 -1.058333 290.65015)" gradientUnits="userSpaceOnUse" x1="20.068359" x2="20.576271" xlink:href="#b" y1="7.824219" y2="5.279661"/><g transform="translate(0 -290.64999)"><path d="m20.5 11c-.277 0-.5.223-.5.5v3.498047.740234c.000007.0039.000007.0078 0 .01172v.249999c0 .02637-.01171.04897-.01563.07422-.000638.0052-.0013.01042-.002.01563-.173787 1.654316-1.568916 2.910272-3.23237 2.91015h-.75-3.292969l2.144531-2.144531c.195871-.195855.195897-.511253 0-.707031-.09793-.09789-.225711-.146485-.353515-.146485s-.255567.04859-.353516.146485l-2.998047 2.998046c-.04701.04701-.08407.103238-.109375.166016-.04898.120358-.04897.25467 0 .375.0253.06278.06236.119003.109375.166016l2.998047 2.998046c.195897.19578.511163.19578.707031 0 .195897-.195778.195871-.511176 0-.707031l-2.144531-2.144531h4.292969c1.5 0 2.044408-.647996 2.802734-1.148438.589375-.58012.984455-1.328657 1.13086-2.142578.02953-.216981.05027-.434013.05664-.640625.000081-.0038.000081-.0099 0-.01367v-.0039c.001833-.017485.009766-.032811.009766-.050789v-4.5c0-.277-.223-.5-.5-.5z" fill="#1e8bcd" transform="matrix(.26458333 0 0 .26458333 0 290.64999)"/><g stroke-width=".264583"><path d="m2.7285156 291.17932c-.2321314-.003-.4583136.0417-.6624918.12816-.4083566.17292-.7349993.5143-.8387085.96531-.095703.41619.00598.91235.3601847 1.43041l.085266.12195c.00209.003.00359.006.00568.008.2232321.29282.3685135.55282.4635375.78548.042646.0818.064188.17119.092501.25838.045031.14683.042165.29648.041341.44752-.00379.1311-.06273.23804-.1162709.35244-.036348.06-.077829.11581-.1271238.16433-.3388138.33346-.9959534.37927-1.37666028.12609l-.18293456.27543c.52966774.35225 1.32162854.29567 1.79110524-.1664.1110835-.10933.2004422-.24447.2609659-.39945.058253-.13439.067456-.27569.082682-.41858.00102-.24248-.011553-.40299-.1080037-.63976-.08502-.24424-.2241825-.50929-.4206462-.79375-.1287007-.17034-.2473227-.3453-.3550171-.52916-.1973074-.36633-.2344047-.68675-.1741496-.94878.078098-.33964.3207719-.59809.6449219-.73536.6482998-.27453 1.5990438-.0652 2.0567219 1.10846l.3079917-.11989c-.3832696-.98282-1.1345019-1.41327-1.8308961-1.4211z" fill="#3a3a38"/><path d="m0 295.67724h.79375v.79375h-.79375z" fill="url(#a)"/><path d="m3.96875 291.97307h.79375v.79375h-.79375z" fill="url(#c)"/><path d="m1.3229167 293.0314v1.05834h1.0583333v-1.05834zm.2645833.26459h.5291667v.52916h-.5291667z" fill="#0063b1"/><path d="m1.5875 293.29599h.5291667v.52916h-.5291667z" fill="#fff"/></g><g fill="#3a3a38" transform="matrix(.26458333 0 0 .26458333 -1.058333 290.65015)"><path d="m4 19h3v3h-3z"/><path d="m19 5h3v3h-3z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,12 +0,0 @@
<?xml-stylesheet type="text/css" href="icons.css" ?>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g id="background"
class="icn icn--area-color"
fill="#fafafa"
stroke="#3a3a38"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m 3.5,2.5 c -0.5,5.52e-5 -1,0.5 -1,1 v 12 c 5.52e-5,0.5 0.5,1 1,1 h 2 v 3.5 1.45 c 0,0.58 0.6,0.35 0.5,0.35 0.33,0 0.6,-0.25 1.17,-0.75 L 12,16.5 h 9 c 0.5,-5.5e-5 1,-0.5 1,-1 v -12 c -5.5e-5,-0.5 -0.45,-1 -1,-1 z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 517 B

View File

Before

Width:  |  Height:  |  Size: 888 B

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 413 B

View File

@ -470,6 +470,11 @@ window.app = {
}
})();
if (global.isLocalStorageAllowed && global.localStorage.getItem('hasNavigatorClipboardWrite') === 'false') {
// navigator.clipboard.write failed on us once, don't even try it.
global.L.Browser.hasNavigatorClipboardWrite = false;
}
global.deviceFormFactor = global.mode.getDeviceFormFactor();
if (global.ThisIsTheiOSApp) {
@ -1184,6 +1189,8 @@ window.app = {
global.LANG = lang;
if (global.socket && global.socket.readyState !== 3) {
global.socket.onopen = function () {
// Note there are two socket "onopen" handlers, this one and the other in browser/src/core/Socket.js.
// See the notes there for explanation.
if (global.socket.readyState === 1) {
var ProtocolVersionNumber = '0.1';
var timestamp = encodeURIComponent(global.coolParams.get('timestamp'));
@ -1281,4 +1288,16 @@ window.app = {
this.socket.onopen();
}
}
function handleViewportChange(event) {
var visualViewport = event.target;
window.scroll(0, 0);
document.body.style.height = visualViewport.height + 'px';
}
if (window.visualViewport !== undefined) {
window.visualViewport.addEventListener('scroll', handleViewportChange);
window.visualViewport.addEventListener('resize', handleViewportChange);
}
}(window));

View File

@ -29,22 +29,20 @@ describe('Singleton section container', function() {
const docLayer = {};
const tsManager = {};
sectionContainer.createSection({
name: 'OnlySection',
anchor: 'top left',
position: [originX, originY],
size: [1, 1],
expand: 'bottom right',
processingOrder: 1,
drawingOrder: 1,
zIndex: 1,
interactable: false,
sectionProperties: {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
},
});
let onlySection = new app.definitions.canvasSectionObject();
onlySection.name = 'OnlySection';
onlySection.anchor = ['top', 'left'];
onlySection.position = [originX, originY];
onlySection.size = [1, 1];
onlySection.expand = ['bottom', 'right'];
onlySection.processingOrder = onlySection.drawingOrder = onlySection.zIndex = 1;
onlySection.interactable = false;
onlySection.sectionProperties = {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
};
sectionContainer.addSection(onlySection);
sectionContainer.enableDrawing();
it('Container should have OnlySection', function() {
@ -71,39 +69,36 @@ describe('Horizontally packed two section container', function() {
const docLayer = {};
const tsManager = {};
sectionContainer.createSection({
name: 'LeftSection',
anchor: 'top left',
position: [originX, originY],
size: [halfWidth, 1],
expand: 'bottom',
processingOrder: 1,
drawingOrder: 1,
zIndex: 1,
interactable: false,
sectionProperties: {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
},
});
let leftSection = new app.definitions.canvasSectionObject();
leftSection.name = 'LeftSection';
leftSection.anchor = ['top', 'left'];
leftSection.position = [originX, originY];
leftSection.size = [halfWidth, 1];
leftSection.expand = ['bottom'];
leftSection.processingOrder = leftSection.drawingOrder = leftSection.zIndex = 1;
leftSection.interactable = false;
leftSection.sectionProperties = {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
};
sectionContainer.addSection(leftSection);
sectionContainer.createSection({
name: 'RightSection',
anchor: ['top', ['LeftSection', 'right', 'left']],
position: [originX, originY],
size: [1, 1],
expand: 'bottom right',
processingOrder: 2,
drawingOrder: 2,
zIndex: 1,
interactable: false,
sectionProperties: {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
},
});
let rightSection = new app.definitions.canvasSectionObject();
rightSection.name = 'RightSection';
rightSection.anchor = ['top', ['LeftSection', 'right', 'left']];
rightSection.position = [originX, originY];
rightSection.size = [1, 1];
rightSection.expand = ['bottom', 'right'];
rightSection.processingOrder = rightSection.drawingOrder = 2;
rightSection.zIndex = 1;
rightSection.interactable = false;
rightSection.sectionProperties = {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
};
sectionContainer.addSection(rightSection);
sectionContainer.enableDrawing();
it('Container should have LeftSection', function() {
@ -146,39 +141,36 @@ describe('Vertically packed two section container', function() {
const docLayer = {};
const tsManager = {};
sectionContainer.createSection({
name: 'TopSection',
anchor: 'top left',
position: [originX, originY],
size: [1, halfHeight],
expand: 'right',
processingOrder: 1,
drawingOrder: 1,
zIndex: 1,
interactable: false,
sectionProperties: {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
},
});
let topSection = new app.definitions.canvasSectionObject();
topSection.name = 'TopSection';
topSection.anchor = ['top', 'left'];
topSection.position = [originX, originY];
topSection.size = [1, halfHeight];
topSection.expand = ['right'];
topSection.processingOrder = topSection.drawingOrder = topSection.zIndex = 1;
topSection.interactable = false;
topSection.sectionProperties = {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
};
sectionContainer.addSection(topSection);
sectionContainer.createSection({
name: 'BottomSection',
anchor: [['TopSection', 'bottom', 'top'], 'left'],
position: [originX, originY],
size: [1, 1],
expand: 'bottom right',
processingOrder: 2,
drawingOrder: 2,
zIndex: 1,
interactable: false,
sectionProperties: {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
},
});
let bottomSection = new app.definitions.canvasSectionObject();
bottomSection.name = 'BottomSection';
bottomSection.anchor = [['TopSection', 'bottom', 'top'], 'left'];
bottomSection.position = [originX, originY];
bottomSection.size = [1, 1];
bottomSection.expand = ['bottom', 'right'];
bottomSection.processingOrder = bottomSection.drawingOrder = 2;
bottomSection.zIndex = 1;
bottomSection.interactable = false;
bottomSection.sectionProperties = {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
};
sectionContainer.addSection(bottomSection);
sectionContainer.enableDrawing();
it('Container should have TopSection', function() {
@ -222,40 +214,36 @@ describe('Horizontally packed two section container with -left layout', function
const docLayer = {};
const tsManager = {};
sectionContainer.createSection({
name: 'RightSection',
anchor: 'top right',
position: [originX, originY],
size: [halfWidth, 1],
expand: 'bottom',
processingOrder: 1,
drawingOrder: 1,
zIndex: 1,
interactable: false,
sectionProperties: {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
},
});
let rightSection = new app.definitions.canvasSectionObject();
rightSection.name = 'RightSection';
rightSection.anchor = ['top', 'right'];
rightSection.position = [originX, originY];
rightSection.size = [halfWidth, 1];
rightSection.expand = ['bottom'];
rightSection.processingOrder = rightSection.drawingOrder = rightSection.zIndex = 1;
rightSection.interactable = false;
rightSection.sectionProperties = {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
};
sectionContainer.addSection(rightSection);
sectionContainer.createSection({
name: 'LeftSection',
// Attach LeftSection's right to left of RightSection.
anchor: ['top', ['RightSection', '-left', 'right']],
position: [originX, originY],
size: [1, 1],
expand: 'bottom left',
processingOrder: 2,
drawingOrder: 2,
zIndex: 1,
interactable: false,
sectionProperties: {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
},
});
let leftSection = new app.definitions.canvasSectionObject();
leftSection.name = 'LeftSection';
leftSection.anchor = ['top', ['RightSection', '-left', 'right']]; // Attach LeftSection's right to left of RightSection.
leftSection.position = [originX, originY];
leftSection.size = [1, 1];
leftSection.expand = ['bottom', 'left'];
leftSection.processingOrder = leftSection.drawingOrder = 2;
leftSection.zIndex = 1;
leftSection.interactable = false;
leftSection.sectionProperties = {
docLayer: docLayer,
tsManager: tsManager,
strokeStyle: '#c0c0c0'
};
sectionContainer.addSection(leftSection);
sectionContainer.enableDrawing();
it('Container should have LeftSection', function() {

View File

@ -1,5 +1,6 @@
/// <reference path="../../src/layer/tile/CanvasSectionContainer.ts" />
/// <reference path="../../src/layer/tile/TilesSection.ts" />
/// <reference path="../../src/canvas/CanvasSectionContainer.ts" />
/// <reference path="../../src/canvas/CanvasSectionObject.ts" />
/// <reference path="../../src/canvas/sections/TilesSection.ts" />
function canvasDomString() {
return `

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Abkhazian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2021-03-17 14:18+0000\n"
"Last-Translator: امير محمد العمري <amyr82669@gmail.com>\n"
"Language-Team: Afrikaans <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Amharic <https://hosted.weblate.org/projects/collabora-online/"

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-08-28 09:54+0000\n"
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
"Language-Team: Asturian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Belarusian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2021-05-15 10:32+0000\n"
"Last-Translator: Andras Timar <andras.timar@collabora.com>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-12 07:13+0000\n"
"Last-Translator: Andras Timar <andras.timar@collabora.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-07-31 16:10+0000\n"
"Last-Translator: Joan Montané <jmontane@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-04-10 18:02+0000\n"
"Last-Translator: Stanislav Horáček <stanislav.horacek@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Welsh <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-02-19 20:58+0000\n"
"Last-Translator: Jesper Holck <jesper.holck@ibsgaarden.dk>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-04-21 19:07+0000\n"
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/collabora-online/"
@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Translate Toolkit 3.6.0\n"
#: html/cool-help.html%2Bdiv.h1:84-5
msgid "Keyboard Shortcuts"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Lower Sorbian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2022-04-09 11:07+0000\n"
"Last-Translator: Theo <tbousiou@gmail.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-02-26 02:52+0000\n"
"Last-Translator: Rob Pearson <rob.dunedin@gmail.com>\n"
"Language-Team: English (Australia) <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-02-26 02:52+0000\n"
"Last-Translator: Rob Pearson <rob.dunedin@gmail.com>\n"
"Language-Team: English (United Kingdom) <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-02-26 02:52+0000\n"
"Last-Translator: Rob Pearson <rob.dunedin@gmail.com>\n"
"Language-Team: English (New Zealand) <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-02-26 02:52+0000\n"
"Last-Translator: Rob Pearson <rob.dunedin@gmail.com>\n"
"Language-Team: English (South Africa) <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-02-11 17:35+0000\n"
"Last-Translator: Marc Rodrigues <marc.rodrigues@collabora.com>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-04-18 15:52+0000\n"
"Last-Translator: NamelessGO <66227691+NameLessGO@users.noreply.github.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/collabora-online/"
@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Translate Toolkit 3.6.0\n"
#: html/cool-help.html%2Bdiv.h1:84-5
msgid "Keyboard Shortcuts"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-01-04 16:10+0000\n"
"Last-Translator: Alexander Gabilondo <alexgabi@openmailbox.org>\n"
"Language-Team: Basque <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-08-19 05:57+0000\n"
"Last-Translator: Fatemeh Komeily <komeily.fatemeh@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2022-01-16 22:54+0000\n"
"Last-Translator: Petri Heinämäki <heinamakipetri@gmail.com>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-06-16 14:48+0000\n"
"Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Irish <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Gaelic <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-09-23 07:49+0000\n"
"Last-Translator: Xosé <xosecalvo@gmail.com>\n"
"Language-Team: Galician <https://weblate.documentfoundation.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"PO-Revision-Date: 2024-04-16 14:06+0000\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-05-24 12:09+0000\n"
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/collabora-online/"
"help/he/>\n"
@ -13,7 +13,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.6-dev\n"
#: html/cool-help.html%2Bdiv.h1:84-5
msgid "Keyboard Shortcuts"
@ -330,27 +330,24 @@ msgstr "החלת סגנון פסקה „כותרת 3”"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:124-96
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:252-89
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>3</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>3"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>3</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:125-38
msgid "Apply Heading 4 paragraph style"
msgstr "החלת סגנון פסקה „כותרת 4”"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:125-96
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>4</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>4"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>4</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:126-38
msgid "Apply Heading 5 paragraph style"
msgstr "החלת סגנון פסקה „כותרת 5”"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:126-96
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>5</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>5"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>5</kbd>"
#: html/cool-help.html%2Bdiv.div.div.h2:130-9
msgid "Text selection and navigation in document"
@ -374,9 +371,8 @@ msgstr "לבחור הכול"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:337-75
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:354-75
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:388-91
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>A</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>A"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>A</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:133-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:290-38
@ -399,9 +395,8 @@ msgstr "הזזת הסמן עם הבחירה לשמאל"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:134-103
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:291-103
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:356-103
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Left</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ שמאלה"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ שמאלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:135-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:292-38
@ -412,9 +407,8 @@ msgstr "מעבר לתחילת מילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:135-90
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:292-90
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:357-90
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Left</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ שמאלה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ שמאלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:136-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:293-38
@ -425,13 +419,12 @@ msgstr "בחירת המילה שמשמאל למילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:136-96
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:293-96
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:358-96
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Arrow Left</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>חץ שמאלה"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>חץ שמאלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:137-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:294-38
@ -454,10 +447,9 @@ msgstr "הזזת הסמן עם הבחירה לימין"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:138-104
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:295-104
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:360-104
#, fuzzy
msgid ""
"<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Right</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ ימינה"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ ימינה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:139-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:296-38
@ -468,9 +460,8 @@ msgstr "מעבר לתחילת המילה הבאה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:139-93
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:296-93
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:361-93
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Right</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ ימינה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ ימינה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:140-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:297-38
@ -481,13 +472,12 @@ msgstr "בחירה המילה שמימין למילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:140-97
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:297-97
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:362-97
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Arrow Right</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>חץ ימינה"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>חץ ימינה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:141-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:298-38
@ -510,9 +500,8 @@ msgstr "בחירת שורות במעלה העמוד"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:142-98
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:299-98
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:364-98
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Up</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למעלה"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למעלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:143-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:300-38
@ -523,9 +512,8 @@ msgstr "העברת הסמן לתחילת הפסקה הקודמת"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:143-115
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:300-115
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:365-115
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Up</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למעלה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למעלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:144-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:301-38
@ -536,13 +524,12 @@ msgstr "בחירה עד תחילת הפסקה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:144-97
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:301-97
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:366-97
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Arrow Up</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>חץ למעלה"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>חץ למעלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:145-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:302-38
@ -565,9 +552,8 @@ msgstr "בחירת שורות בכיוון מטה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:146-100
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:303-100
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:368-100
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Down</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למטה"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למטה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:147-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:304-38
@ -578,9 +564,8 @@ msgstr "העברת הסמן לתחילת הפסקה הבאה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:147-111
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:304-111
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:369-111
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Down</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למטה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למטה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:148-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:305-38
@ -591,13 +576,12 @@ msgstr "בחירה עד סוף הפסקה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:148-91
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:305-91
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:370-91
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Arrow Down</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>חץ למטה"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>חץ למטה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:149-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:306-38
@ -622,9 +606,8 @@ msgstr "מעבר ובחירה עד תחילת השורה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:215-138
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:307-105
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:372-105
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Home</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Home"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Home</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:151-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:308-38
@ -637,9 +620,8 @@ msgstr "מעבר לתחילת המסמך"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:211-118
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:308-88
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:373-88
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Home</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Home"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Home</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:152-38
msgid "Go and select text to start of document"
@ -648,13 +630,12 @@ msgstr "מעבר ובחירת טקסט עד תחילת המסמך"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:152-104
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:309-103
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:374-103
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Home</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>Home"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Home</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:153-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:310-38
@ -679,9 +660,8 @@ msgstr "מעבר ובחירה עד סוף השורה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:216-137
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:311-99
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:376-99
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>End</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>End"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>End</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:155-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:312-38
@ -694,9 +674,8 @@ msgstr "מעבר לסוף המסמך"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:212-131
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:312-86
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:377-86
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>End</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>End"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>End</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:156-38
msgid "Go and select text to end of document"
@ -705,13 +684,12 @@ msgstr "מעבר ובחירת טקסט עד סוף המסמך"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:156-102
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:313-101
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:378-101
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>End</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>End"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>End</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:157-38
msgid "Move the view up one page"
@ -726,18 +704,16 @@ msgid "Switch cursor between text and header"
msgstr "הקפצת הסמן בין הטקסט לכותרת וחזרה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:158-102
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>PageUp</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>PageUp"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>PageUp</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:159-38
msgid "Extend the selection up one page"
msgstr "הרחבת הבחירה בעמוד אחד כלפי מעלה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:159-97
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>PageUp</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>PageUp"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>PageUp</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:160-38
msgid "Move the view down one page"
@ -752,62 +728,56 @@ msgid "Switch cursor between text and footer"
msgstr "החלפת הסמן בין הטקסט לכותרת העליונה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:161-102
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>PageDown</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>PageDown"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>PageDown</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:162-38
msgid "Extend the selection down one page"
msgstr "הרחבת הבחירה במורד העמוד"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:162-99
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>PageDown</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>PageDown"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>PageDown</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:163-38
msgid "Delete to beginning of word"
msgstr "מחיקה עד תחילת המילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:163-92
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Backspace</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Backspace"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Backspace</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:164-38
msgid "Delete to end of word"
msgstr "מחיקה עד לסוף המילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:164-86
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Del</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Del"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Del</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:165-38
msgid "Delete to beginning of sentence"
msgstr "מחיקה עד תחילת המשפט"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:165-96
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Backspace</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>Backspace"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Backspace</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:166-38
msgid "Delete to end of sentence"
msgstr "מחיקה עד לסוף המשפט"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:166-90
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Del</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>Del"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Del</kbd>"
#: html/cool-help.html%2Bdiv.div.div.h2:170-9
msgid "Shortcut Keys for Tables"
@ -840,9 +810,8 @@ msgstr ""
"לחיצה שנייה לסוף הטבלה הנוכחית, לחיצה שלישית מעבירה לסוף המסמך."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:175-38
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Tab</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Tab"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Tab</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:175-127
msgid ""
@ -854,9 +823,8 @@ msgstr ""
"ב־<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Tab</kbd>."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:176-38
#, fuzzy
msgid "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Arrow Keys</kbd>"
msgstr "Alt</kbd><span class=\"kbd--plus\">+</span><kbd>מקשי החצים"
msgstr "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>מקשי חצים</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:176-133
msgid ""
@ -864,26 +832,24 @@ msgid ""
msgstr "הגדלת/הקטנת גודל העמודה/שורה שבשול הימני/תחתון קיצוני"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:177-38
#, fuzzy
msgid ""
"<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Arrow Keys</kbd>"
msgstr ""
"Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>מקשי חצים"
"<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>מקשי חצים</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:177-181
msgid "Increase/decrease the size of the column/row on the left/top cell edge"
msgstr "הגדלת/הקטנת גודל העמודה/שורה שבשול השמאלי/עליון קיצוני"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:178-38
#, fuzzy
msgid ""
"<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>Arrow Keys</kbd>"
msgstr ""
"Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class=\"kbd--"
"plus\">+</span><kbd>מקשי חצים"
"<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>מקשי חצים</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:178-180
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:179-228
@ -891,20 +857,18 @@ msgid "Like Alt, but only the active cell is modified"
msgstr "כמו Alt אבל רק התא הפעיל מושפע"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:179-38
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd--plus\">+</"
"span><kbd>Arrow Keys</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class=\"kbd--"
"plus\">+</span><kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>מקשי "
"חצים"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd--plus\">+</"
"span><kbd>מקשי חצים</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:180-38
#, fuzzy
msgid "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Insert</kbd>"
msgstr "Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Insert"
msgstr "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Insert</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:180-129
msgid ""
@ -915,9 +879,8 @@ msgstr ""
"kbd><span class=\"kbd--plus\">+</span><kbd>מקש חץ</kbd> מוסיף תא"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:181-38
#, fuzzy
msgid "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Del</kbd>"
msgstr "Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Del"
msgstr "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Del</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:181-126
msgid ""
@ -929,13 +892,12 @@ msgstr ""
"\"kbd--plus\">+</span><kbd>מקש חץ</kbd> ממזג את התא עם התאים הסמוכים"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:182-38
#, fuzzy
msgid ""
"<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>Del</kbd>"
msgstr ""
"Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class=\"kbd"
"--plus\">+</span><kbd>Del"
"<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>Del</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td.p:182-197
msgid ""
@ -973,26 +935,24 @@ msgid "Insert footnote"
msgstr "הוספת כותרת תחתית"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:191-80
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>F</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class=\"kbd--"
"plus\">+</span><kbd>F"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>F</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:192-38
msgid "Insert endnote"
msgstr "הוספת הערת סיום"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:192-79
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>D</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class=\"kbd--"
"plus\">+</span><kbd>D"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>D</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:193-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:244-38
@ -1001,57 +961,52 @@ msgstr "הוספת תגובה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:193-79
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:244-79
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>C</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class=\"kbd--"
"plus\">+</span><kbd>C"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>C</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:195-38
msgid "Insert soft hyphen"
msgstr "הוספת מקף רך"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:195-83
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>-</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>-"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>-</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:196-38
msgid "Insert non-breaking hyphen"
msgstr "הוספת מקף ללא ירידת שורה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:196-91
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>-</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>-"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>-</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:198-38
msgid "Insert non-breaking space"
msgstr "הוספת רווח ללא ירידת שורה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:198-90
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Space</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>רווח"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>רווח</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:199-38
msgid "Insert line break"
msgstr "הוספת ירידת שורה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:199-82
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Enter</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Enter"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Enter</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:200-38
msgid "Manual page break"
@ -1060,22 +1015,20 @@ msgstr "מעבר עמוד ידני"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:200-82
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:322-98
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:387-105
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Enter</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Enter"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Enter</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:201-38
msgid "Column break (in multicolumnar text)"
msgstr "מעבר עמודה (בטקסט שמסודר בעמודות)"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:201-101
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Enter</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>Enter"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Enter</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:202-38
msgid ""
@ -1084,9 +1037,8 @@ msgstr "הוספת פסקה חדשה ישירות לפני או אחרי מקט
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:202-139
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:203-175
#, fuzzy
msgid "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Enter</kbd>"
msgstr "Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Enter"
msgstr "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Enter</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:203-38
msgid ""
@ -1133,9 +1085,8 @@ msgstr ""
"הנוכחית בעמוד אחד למעלה."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:217-184
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Page Up</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Page Up"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Page Up</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:218-38
msgid ""
@ -1146,9 +1097,8 @@ msgstr ""
"בעמוד אחד למטה."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:218-188
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Page Down</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Page Down"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Page Down</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:219-38
msgid ""
@ -1160,9 +1110,8 @@ msgstr ""
"לתא שמכיל את הסמן ריקה, הסמן יעבור לעמודה הבאה משמאל שמכילה נתונים"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:219-265
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Left Arrow</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ שמאלה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ שמאלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:220-38
msgid ""
@ -1174,9 +1123,8 @@ msgstr ""
"לתא שמכיל את הסמן ריקה, הסמן יעבור לעמודה הבאה מימין שמכילה נתונים."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:220-269
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Right Arrow</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ ימינה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ ימינה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:221-38
msgid ""
@ -1188,9 +1136,8 @@ msgstr ""
"את הסמן ריקה, הסמן יעלה לשורה הבאה שמכילה נתונים."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:221-241
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Up Arrow</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למעלה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למעלה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:222-38
msgid ""
@ -1202,35 +1149,32 @@ msgstr ""
"את הסמן ריקה, הסמן ירד לשורה הבאה שמכילה נתונים."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:222-246
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Down Arrow</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למטה"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>חץ למטה</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:223-38
msgid "Go to next sheet."
msgstr ""
msgstr "מעבר לגיליון הבא."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:223-82
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Down</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class=\"kbd--"
"plus\">+</span><kbd>Page Down"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Down</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:224-38
msgid "Go to previous sheet."
msgstr ""
msgstr "מעבר לגיליון הקודם."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:224-86
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Up</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class=\"kbd--"
"plus\">+</span><kbd>Page Up"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Alt</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Up</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:225-38
msgid ""
@ -1244,31 +1188,28 @@ msgstr ""
"מרובע."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:225-292
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>Arrow</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>חץ"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>חץ</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:226-38
msgid "Moves one sheet to the left."
msgstr "עובר גיליון אחד שמאלה."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:226-93
#, fuzzy
msgid "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Page Up</kbd>"
msgstr "Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Page Up"
msgstr "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Page Up</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:227-38
msgid "Moves one screen page to the right."
msgstr "עובר עמוד מסך אחד ימינה."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:227-100
#, fuzzy
msgid "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Page Down</kbd>"
msgstr "Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Page Down"
msgstr "<kbd>Alt</kbd><span class=\"kbd--plus\">+</span><kbd>Page Down</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:228-38
msgid ""
@ -1281,13 +1222,12 @@ msgstr ""
"הקודם לגיליון הנוכחי."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:228-280
#, fuzzy
msgid ""
"<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Up</kbd>"
msgstr ""
"Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class=\"kbd"
"--plus\">+</span><kbd>Page Up"
"<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Up</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:229-38
msgid ""
@ -1300,13 +1240,12 @@ msgstr ""
"לגיליון הנוכחי."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:229-268
#, fuzzy
msgid ""
"<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Down</kbd>"
msgstr ""
"Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class=\"kbd"
"--plus\">+</span><kbd>Page Down"
"<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Ctrl</kbd><span class="
"\"kbd--plus\">+</span><kbd>Page Down</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:230-38
msgid ""
@ -1318,9 +1257,8 @@ msgstr ""
"טווח הוא טווח תאים רציף שמכיל נתונים ותחום בשורות ועמודות ריקים."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:230-269
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>*</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>*"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>*</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:231-38
msgid ""
@ -1331,18 +1269,16 @@ msgstr ""
"הסמן."
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:231-178
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>/</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>/"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>/</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:232-38
msgid "Insert cells (as in menu Insert - Cells)"
msgstr "הוספת תאים (כמו בהוספה - תאים)"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:232-105
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Plus key</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>מקש פלוס"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>מקש פלוס</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:233-38
msgid "Delete cells (as in menu Edit - Delete Cells)"
@ -1361,9 +1297,8 @@ msgid "Display comment"
msgstr "הצגת הערה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:245-80
#, fuzzy
msgid "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>F1</kbd>"
msgstr "Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>F1"
msgstr "<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>F1</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:246-38
msgid "Fill Down"
@ -1378,78 +1313,72 @@ msgid "Two decimal places, thousands separator"
msgstr "שני מקומות עשרוניים, מפריד אלפים"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:253-104
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>1</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>1"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>1</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:254-38
msgid "Standard exponential format"
msgstr "תצורה מעריכית רגילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:254-92
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>2</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>2"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>2</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:255-38
msgid "Standard date format"
msgstr "תצורת תאריך רגילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:255-85
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>3</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>3"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>3</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:256-38
msgid "Standard currency format"
msgstr "תצורת מטבע רגילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:256-89
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>4</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>4"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>4</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:257-38
msgid "Standard percentage format (two decimal places)"
msgstr "תצורת אחוזים רגילה (שני מקומות עשרוניים)"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:257-112
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>5</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>5"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>5</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:258-38
msgid "Standard format"
msgstr "תצורה רגילה"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:258-80
#, fuzzy
msgid ""
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>6</kbd>"
msgstr ""
"Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class=\"kbd"
"--plus\">+</span><kbd>6"
"<kbd>Ctrl</kbd><span class=\"kbd--plus\">+</span><kbd>Shift</kbd><span class="
"\"kbd--plus\">+</span><kbd>6</kbd>"
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:282-38
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:347-38
@ -1472,9 +1401,8 @@ msgstr "קידום פריט ברשימה ברמה (חובה לבחור את הפ
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:321-127
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:348-113
#: html/cool-help.html%2Bdiv.div.div.table.tr.td:386-127
#, fuzzy
msgid "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Tab</kbd>"
msgstr "Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Tab"
msgstr "<kbd>Shift</kbd><span class=\"kbd--plus\">+</span><kbd>Tab</kbd>"
#: html/cool-help.html%2Bdiv.div.div.h2:287-9
#: html/cool-help.html%2Bdiv.div.div.h2:352-9
@ -1919,7 +1847,6 @@ msgstr ""
"\">קפיצה למצב</span>."
#: html/cool-help.html%2Bdiv.div.div.div.img[alt]:501-29
#, fuzzy
msgid "document repair"
msgstr "תיקון מסמכים"
@ -1944,7 +1871,6 @@ msgid ""
msgstr ""
#: html/cool-help.html%2Bdiv.div.div.div.img[alt]:507-29
#, fuzzy
msgid "inactive document"
msgstr "מסמך בלתי פעיל"
@ -1957,7 +1883,7 @@ msgstr ""
#: html/cool-help.html%2Bdiv.div.div.h4:511-5
msgid "Pasting"
msgstr ""
msgstr "הדבקה"
#: html/cool-help.html%2Bdiv.div.div.p:512-5
msgid ""
@ -2860,19 +2786,22 @@ msgstr ""
#: html/cool-help.html%2Bdiv.div.div.div.h4:859-5
msgid "How can I import CSV data?"
msgstr ""
msgstr "איך אפשר לייבא נתוני CSV?"
#: html/cool-help.html%2Bdiv.div.div.div.ol.li.p:861-11
msgid ""
"Load your CSV data in some native tool to your platform, select and copy it "
"to the clipboard"
msgstr ""
"טעינת נתוני CSV בכלי שמתאים לפלטפורמה שלך, לבחור אותו ולהעתיק אותו ללוח "
"הגזירים"
#: html/cool-help.html%2Bdiv.div.div.div.ol.li.p:862-11
msgid ""
"Activate the <span class=\"productname\">%productName</span> spreadsheet "
"window."
msgstr ""
"הפעלת חלון גיליון נתונים של <span class=\"productname\">%productName</span>."
#: html/cool-help.html%2Bdiv.div.div.div.ol.li.p:864-9
msgid ""
@ -2884,7 +2813,7 @@ msgstr ""
#: html/cool-help.html%2Bdiv.div.div.div.ol.div.img[alt]:866-31
msgid "import"
msgstr ""
msgstr "ייבוא"
#: html/cool-help.html%2Bdiv.div.div.div.ol.li.p:867-11
msgid ""
@ -2976,7 +2905,7 @@ msgstr ""
#: html/cool-help.html%2Bdiv.div.div.div.ol.div.img[alt]:908-31
msgid "Position and Size"
msgstr ""
msgstr "מקום וגודל"
#: html/cool-help.html%2Bdiv.div.div.div.ol.li.p:909-11
msgid "Set the properties of the element of the object."

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-10-09 13:26+0000\n"
"Last-Translator: Darshan Upadhyay <darshan.upadhyay1188@gmail.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/collabora-online/"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"PO-Revision-Date: 2024-02-29 10:21+0000\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-04-25 12:07+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language-Team: Croatian <https://hosted.weblate.org/projects/"
"collabora-online/help/hr/>\n"
@ -2416,7 +2416,7 @@ msgstr ""
"onako kako će biti ispisan. Operacije kao što su upisivanje teksta, "
"izrezivanje, kopiranje i umetanje sadržaja, biranje teksta, umetanje, "
"mijenjanje veličine, usidrenja slika, dodavanje i bratanje tablicama i "
"grafikonima, slične su desktop programu za obradu teksta. Koristi "
"dijagramima, slične su desktop programu za obradu teksta. Koristi "
"tipkovnicu, izbornike i alatne trake za interakciju sa svojim dokumentom."
#: html/cool-help.html%2Bdiv.div.div.div.p:638-30

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-12 07:13+0000\n"
"Last-Translator: Andras Timar <andras.timar@collabora.com>\n"
"Language-Team: Upper Sorbian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-01-23 21:43+0000\n"
"Last-Translator: Andras Timar <andras.timar@collabora.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-08-28 09:54+0000\n"
"Last-Translator: Rizal Muttaqin <riz_17_oke@yahoo.co.id>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-11-29 05:17+0000\n"
"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
"Language-Team: Icelandic <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2023-01-22 13:13+0000\n"
"Last-Translator: Translator-3000 <weblate.m1d0h@8shield.net>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/collabora-online/"

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2020-10-08 12:25+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Javanese <https://hosted.weblate.org/projects/"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-12 19:29+0200\n"
"POT-Creation-Date: 2024-05-21 07:27+0200\n"
"PO-Revision-Date: 2024-04-02 04:51+0000\n"
"Last-Translator: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>\n"
"Language-Team: Kabyle <https://hosted.weblate.org/projects/collabora-online/"

Some files were not shown because too many files have changed in this diff Show More