Commit graph

3546 commits

Author SHA1 Message Date
Szymon Kłos
dea8d754e8 formulabar: reduce overhead of scrolling to the cursor
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If8a90ec9720caecd372186c737fb2b8de50306d6
2023-11-06 09:38:17 +00:00
Szymon Kłos
76938641de perf: do not call addEventListener on every header update
This helps with performance of typing into spreadsheets.

Regression from commit 46c1248c77
Prevent right mouse button up event to click on menu item.

Do not add new event listener on every header update what
happens often but rather apply right click blocker when
context menu is opened. Original commit was trying to prevent
menu items activation on right click.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If468703a4728d12238c5748f182453cd2b8812c9
2023-11-06 09:38:17 +00:00
Szymon Kłos
451b255450 formulabar: modify DOM only when content is complete
createDocumentFragment creates out of the DOM nodes
which we can use while building the new content of the formulabar.
This reduces reflow and similar operations on node insertion.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ie0791af517a018241222efa2031af673d97c9e6b
2023-11-06 09:38:17 +00:00
Darshan-upadhyay1110
808dc0a118 Add missing icon SPIN_DOWN/UP for dark mode
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Ib96915f7fcd372f50e75c3d25ac7b000c1ef1ca3
2023-11-02 16:43:35 +01:00
Caolán McNamara
72b2ce4bb6 we don't need to round-trip through core to reposition notes
we know where they are by cell addresses, so defer getting
the screen positions until we need them and we don't need
to get core to trigger recalculating them. When we redraw
the comments after the new geometry arrives then we can place
them via the address.

When adding a new note we want to know the range of the
potentially merged cells we are inserting into.

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

https://gerrit.libreoffice.org/c/core/+/158560 needs to be
applied to solve the problem described there that becomes
apparent when this is in place.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I3228dc8fa8d47ba4e796e50427c125d7f78fe5fc
2023-11-02 12:28:53 +00:00
Gülşah Köse
46c1248c77 Prevent right mouse button up event to click on menu item.
In some case[*] when we right click on row/col header and release mouse button,
first element of the context menu is invoked accidentally. To prevent this,
just prevent the right mouseup event on context menu item.

[*] 1920x1080 resolution with %75 browser zoom

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: I28299e7a7cf83eaed27ef4ed6c3555fb2cc80682
2023-11-02 12:40:25 +01:00
Ezinne
fdf1b6e6ac Updated the Help screenshot for English
Signed-off-by: Ezinne <nnamani.ezinne@gmail.com>
Change-Id: I06cfad9a9aea51eb0c069880196490144c5d1211
2023-11-01 09:38:04 +01:00
Rash419
112fefa86e browser: wireId out of sync on reconnect
- regression from 762ce28e22

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I86b913213135982031d33b4b29f54df2e8320ea4
2023-11-01 13:10:01 +05:30
Caolán McNamara
0453140f61 We don't always need to redraw the entire canvas
If we end up dirtying only due to a series of TileRange reasons then we
only need to redraw the bounds of those tiles.

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

checked: split calc sheets and rtl calc sheets

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If468b735bdff85408155fb23ebf6db891a449d5e
2023-10-31 20:47:55 +00:00
Skyler Grey
0bf054c9a3 Stop onscreen keyboard when panning calc on tablet
Before this change, panning a calc spreadsheet would cause the onscreen
keyboard to pop up when in tablet mode. Dismissing the keyboard would
not stop it from being popped up the next time you panned around. This
made it very difficult to pan around spreadsheets in calc without either
using an external keyboard, the mobile app or another device altogether.

This commit introduces a known regression: when you are on a tablet and
have a physical external keyboard, you could previously select the cell
and start typing. Now you must tap into the cell in the same way you
would if you have an onscreen keyboard. This matches the behavior on
mobile devices. I consider this regression a reasonable tradeoff, so
notwithstanding I believe this should be merged.

Additionally, this commit adds 2 POST messages, "Hint_OnscreenKeyboard"
and "Hint_NoOnscreenKeyboard". These can be used to override our guess
if you know more about whether the device has an onscreen keyboard than
we do.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I8f3683ccb9e57f0c4a5bf8e415f9aabef917dd78
2023-10-31 16:32:33 -04:00
Szymon Kłos
56327b8f56 jsdialog: open submenu on hover in dropdowns
- showsubmenu event on hover
- hidedropdown event on leave
- submenu is inserted into the same overlay as parent dropdown
- don't destory overlay if submenu is closed, do that only for root
- works on tablet / touch device

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ibb4a747555e172dd4e040950cdfd309560f214a7
2023-10-31 12:22:39 +01:00
Szymon Kłos
d87c718a84 css: pivot table dialog separator fix
vertical separator was overlapping other widgets

can be found in: Calc -> Insert -> Pivot Table -> next

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I818fc4a8bb9b44b48fe43c911182c37e3cbc0d8c
2023-10-31 12:22:29 +01:00
Szymon Kłos
40f0008422 jsdialog: fix id for buttons with menu #7548
- fixes regression from Accessibility commit 1a2500c
- it fixes formulabar control of AutoSum button #7548
- removes useless commit a7ece5d:
  jsdialog: reduce warnings in console for formulabar
- id with ":" contains "id : menuId", so we can identify
  menu which should be used, let's not use whole string as
  HTML element id - we don't want ":" there

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I44adde54b852f1e6593fb660612d8116aadf3b39
2023-10-31 09:55:54 +01:00
Szymon Kłos
ef66c84eec Fix Uncaught TypeError in combobox selection
TypeError: Cannot set properties of undefined (setting 'selected') emitting event jsdialog: { "jsontype": "sidebar", "action": "action", "id": 0, "data": { "control_id": "applystyle", "position": "-1", "action_type": "select"}}

When selecting whole column in Calc

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I3598ef988b16b3efa29920ba7dd40a0f3cbc5df3
2023-10-30 16:11:55 +00:00
Szymon Kłos
e92bd4bbfd Fix Uncaught TypeError in col/rows headers selection
Uncaught TypeError: Cannot read properties of null (reading 'index')
    at RowHeader.onMouseUp (bundle.js:24879:87)
    at CanvasSectionContainer.propagateOnMouseUp (bundle.js:14350:24)
    at CanvasSectionContainer.onMouseUp (bundle.js:14442:6)

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Iba44bfae33679d978641e334e9b46cf05a414d4a
2023-10-30 16:11:55 +00:00
Hubert Figuière
8ca2adcb16 postmessage: added message to collapse / extend notebookbar
The new messages are: Collapse_Notebookbar and Extend_Notebookbar
As a side effect they also hide the classic toolbar the same way

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: Ic9d04876acb06f2885a6be1e171df7f87e513ed8
2023-10-30 11:40:52 -04:00
Caolán McNamara
5b14c128e3 apply delayed messages after docLayer.viewid is set
which is done by docLayer._onStatusMsg(), otherwise its possible to handle a
onViewInfoMsg before viewid is set

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Id68dba5f5cdc8efd0b5f6ed429ac4f105cef4866
2023-10-30 12:40:44 +05:30
Pranam Lashkari
5c965044ec annotation: fix parent comment being deleted if reply cancelled
part 2

fix from #7552 stopped working, this patch amends it

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I8c1227199112599fc2ade4e425452709e9cd05e5
2023-10-30 12:27:17 +05:30
Pranam Lashkari
30f6c14b9f annotation: fix cancelled modification of autosaved comment
problem:
when a user modifies a comment and its autosaved,
if user then cancels the modification they were still added

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I26c872f0957f0815882c4b1aedae83fe6736b7a2
2023-10-30 12:10:54 +05:30
Pranam Lashkari
91cbc8c404 annotation: fix parent comment being deleted if reply cancelled
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I080f817a3020249de4eefd12b3d23af1141a273d
2023-10-30 04:12:57 +05:30
Pranam Lashkari
4d7df8ae9c annotation: forcefully reselect comment before modifying
select and unselect usually updates the layout but,
in case if it failed we manually do the layout update

problem:
when already selected comment try to modify,
it will not rearrange replies in the thread this caused
overlapping of the comments and bad user experience

fixes: #7527

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Id56a5c35795e1ff75e8c3a92032afce6b8585fcb
2023-10-30 04:12:11 +05:30
Pedro Pinto Silva
d6375f838b Menus (dropdowns) with separator: Fix hidden keyboard focus
When opening a menu as in Calc > Home > Conditional menu and then
press tab: we can successfully cycle through the elements but for some
elements user cannot see the focus.
 - The focus was being set but under the separator. So, better to
 assure that the immediate separator neighbor is set to transparent.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Icb87b3173144356efad101f5e2b9b77e0e8dcd06
2023-10-29 21:02:28 +01:00
Pedro Pinto Silva
2b5eb98296 Multi-level menus (dropdowns): Fix chevron elements
Chevron (Arrow)

- Use existing icon and re-use it instead of a text character
  - sing text depending on font size and the width we were giving
  - could be dangerous
- Fix alignment: before this commit the chevron was almost glued to
the edge
- Make the hover state less dark so the chevron is visible at all times

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I3b79c6b9df324727fd0c217f869d9bb8a4df2d72
2023-10-29 21:02:28 +01:00
Pedro Pinto Silva
9e286c817d JSdialog: Fix ui-separator visual importance
Before this commit separators were being rendered in quite dark color
and thickens make them standout more than the actual interactive
controls surrounding them

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I96c3eaf476cd947f804d855e0fd242a5ab42ee9b
2023-10-29 21:02:28 +01:00
Marco Cecchetti
09c18a4a44 a11y: keep a11y disabled on executing cypress Calc tests
This patch is a temporary workaround for fixing CI failures.
In fact on CI with a11y enabled cypress fails to load spreadsheets.

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: Ic661358cd47600ec9c3a329bef361b8087483017
2023-10-29 09:46:40 +00:00
Pranam Lashkari
123bf5cbb8 UI: avoid changing back to original name after renaming
problem:
filename textbox will revert to original name after user confirms the name
and then again changes to new name after its processed

fixes: #6131

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ibb1645e5e6517b391d475add7b7d421a260e0ba8
2023-10-27 09:49:23 +02:00
Pranam Lashkari
2c720a6a87 annotation: avoid marking comment autosave if its not saved
problem:
After entering the comment modify mode and clicking somewhere else,
to lose comment focus, comment cannot be closed by clicking cancel.

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I05ce2b4f6dcba47d40095bb16fdb56ce5b9c20cf
2023-10-27 12:13:36 +05:30
Caolán McNamara
c1db537978 apply delayed messages after docLayer.map is set
which is done by addLayer, otherwise its possible to handle a
onViewInfoMsg before map is set

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If6e6d15c90de129614bcc2b64705d0b51b5c4e83
2023-10-27 11:52:40 +05:30
Ashod Nakashian
8728cd5ea1 wsd: config cleanup and warning fixes
Change-Id: Idb66227d98f8fcca35307c3598a1fcc6b69e38c6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-26 20:31:45 -04:00
Matthaiks
7b6c5fc332 Translated using Weblate (Polish)
Currently translated at 100.0% (537 of 537 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: I512441369c629a9b9547f0c4487b82ff88842f7c
2023-10-26 22:21:29 +02:00
gallegonovato
be188fb5a2 Translated using Weblate (Spanish)
Currently translated at 100.0% (537 of 537 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: Idd02a2b0e292ae881ef71d6c2f2328c9411fc266
2023-10-26 22:21:29 +02:00
Andras Timar
f986507d12 Translated using Weblate (Hungarian)
Currently translated at 100.0% (537 of 537 strings)

Translated using Weblate (German)

Currently translated at 97.9% (526 of 537 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: I85d4b372890b10a33573f38e0053febe1fa1996d
2023-10-26 22:21:29 +02:00
Marco Cecchetti
24159ac987 a11y: calc: make possible to enable/disable a11y for spreadsheets
Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: Iec00a71ad86e5d6114be9dc6864953284f66a0b0
2023-10-26 22:19:16 +02:00
Pedro Pinto Silva
dd4cb30d39 Mobile: Mobile-wizard: fix paragraph panel layout
We now have a new nice separator widget in online so we can render
separators that are coming from core. However in some cases, such as
mobile, we don't want to clutter the mobile wizard. On top of that we
already have separators.

Also: add comment to the jssidebar.css so it can be found when using
grep, blame etc

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I02a5831eff566367664ed022687ffeea6d7d3a81
2023-10-26 21:27:40 +02:00
Szymon Kłos
e8f31ca649 sidebar: fix paragraph panel layout
This fixes regression from commit c77f1041a5
jsdialog: implement horizontal separator

Where horizontal separator widget was implemented
and now it appears in the sidebar, but as we have grid
layout there - it occupies only half of the sidebar
because we have 2 columns.

Previously there was no separator - hide it.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ie65626011f98ded52e57306fc41d94fc58829d8f
2023-10-26 21:27:40 +02:00
Marco Cecchetti
f6f5325f8d a11y: impress: help screen reader to report shape selection
Avoid screen reader to wrongly report text when a shape or image is
selected:
- Got editable area to be made empty when user is not editing text
- Got default for any input to be prevented (except for some special
cases) when user is not editing text so editable area is kept empty

The selection action and the selected object name (e.g. "Rectangle",
"Presentation Title", etc.) are sent to the client.
That allows screen reader to report: "Presentation Title selected" or
"Rectangle unselected", according to the action type.
Selection text content is reported too when available.

Something alike is reported on cell navigation in a spreadsheet.

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I75a8b66ef8cb7b24b28d749f0b24afe2587de45e
2023-10-26 20:35:20 +02:00
Pedro Pinto Silva
b58d46b450 Calc: Notebookbar definitions: add missing class for collapse tabs
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I9d8729830470c23dd3cb03c7ce0ca75f05b9c249
2023-10-26 16:34:34 +02:00
Andras Timar
86fa67c5f5 remove extra ~
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Iceea26abbf5b25e4b61b1323d9efc1f21044456c
2023-10-26 13:19:24 +02:00
Andras Timar
e1c17111bf Update l10n files for Weblate
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Id6bf34a0e5734e60d634db56c650313e8762e5ca
2023-10-26 09:37:22 +02:00
Rob Pearson
b26d54cfb0 Translated using Weblate (English (South Africa))
Currently translated at 100.0% (530 of 530 strings)

Translated using Weblate (English (New Zealand))

Currently translated at 100.0% (530 of 530 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (530 of 530 strings)

Translated using Weblate (English (Australia))

Currently translated at 100.0% (530 of 530 strings)

Co-authored-by: Rob Pearson <rob.dunedin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_AU/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_GB/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_NZ/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_ZA/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ie623c4118e067b5cd367ceff61e6bf0cd27bd17c
2023-10-26 09:35:50 +02:00
Szymon Kłos
393867f25e notebookbar: a11y: cond format submenu focus & navigation
- focus when opened
- add focus cycle
- convert to grid view

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I86592abb23c1dbe2e7e36d09b46fe0c23957539f
2023-10-26 09:19:24 +02:00
Szymon Kłos
4e0a2a86b0 notebookbar: add more cond format styles
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I57a3e0aaf35a91b1d307b43c90758dd483e6996e
2023-10-26 09:19:24 +02:00
Szymon Kłos
5c449425aa notebookbar: add data bar cond format submenu
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I8151a9bf3d5befc0c36a4849f149c348b3ee7e80
2023-10-26 09:19:24 +02:00
Szymon Kłos
82abf2f3b1 notebookbar: add color scale cond format submenu
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I90f403abaf381d9b4afe93d62bebb3e5b888c381
2023-10-26 09:19:24 +02:00
Szymon Kłos
9a9e856c28 Make cond format submenu reusable
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I208efec5ff08ff5af062a367d9a3e335cb9c5fd3
2023-10-26 09:19:24 +02:00
Szymon Kłos
b08a2526ed jsdialog: convert icon set popup in notebookbar
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I51d4f99e0f28a3b1689099d4620c3587cc162430
2023-10-26 09:19:24 +02:00
Szymon Kłos
c28dcea3c1 jsdialog: custom dropdown anchor
submenus should be opened next to the previous level
on the right side in LTR mode. without that change
we had submenus just under previously selected entry.

anchors "top" and "end" were implemented

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I5b3b677c2347664f4ab97aab3a04da5fe72e3bff
2023-10-26 09:19:24 +02:00
Szymon Kłos
4950f3e8a2 jsdialog: multi-level dropdowns
It is possible to make submenus:
{text: _('Condition...'), items: [
   .... sub-menu entries ....
]}

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0a6687c0a6bc19b4cd6616005571b75ad41eb444
2023-10-26 09:19:24 +02:00
Szymon Kłos
c77f1041a5 jsdialog: implement horizontal separator
it is used in dropdowns eg. conditional formatting in Calc

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I19554c74de2fa861686469acbf2c3025633d0687
2023-10-26 09:19:24 +02:00
Szymon Kłos
ab0867069a jsdialog: use dropdown util for conditional formatting
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I2cccfc34be1293934611457cbb05cb200f369cc4
2023-10-26 09:19:24 +02:00