Commit Graph

23731 Commits (190a3acf78d775d6141a9bba00c1c4e6e5dea145)

Author SHA1 Message Date
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