it shouldn't happen, but return early if it does
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I1733d346ff370827fd882caacebca111f790bbe1
This fixes bug when we opened 2 sessions and
- user A created comment draft but didn't save it yet
- user B then created comment and saved it
Result: comment of user A dissapeared and it wasn't possible
to insert new comment
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Idf1be61dca5e0aabdd885b7bd36a18a4a60507e9
problem:
resolves: #5995
it was just annoying for user when he goes to some other tab or clicks somewhere,
and the comment is saved automatically while they may want to still edit
also this solved another problem where in multiple users case,
if another user switches tab comments were saved even if user was editing it
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Iee32f21803d6a0dbc164bbf9a9bee803228aad7a
Without this commit screenreader will spit some non identified image
blurb
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Idf2cbede00127027e7a1162fc8e182728055936e
Before this commit id was being used directly making:
- Always an English string no matter the language
- Sometimes that alt text was picking digits coming from the
id. Example: Save1
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: If4b4ee550b2d787b30557915015e173859d657a1
So user understands the component is empty.
We cannot add disabled attribute here because we have some cases such
as pivot table where the initial state is empty.
Note:
Ideally we would distinguish from static and dynamic
treeview (static=read only list VS dynamic=list you can remove and add
items). Only after this distinction we can properly add disabled
attribute to the static one
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ide4fb7589b5be611975de4a704b458bb626be0e0
When switching tabs, the client calls _handleSheetGeometryDataMsg which
seems to replay various messages received earlier. And one of those
replays a "graphicselection" attempt, but the new tab doesn't have a
graphic to select and so things go downhill from there.
To reproduce have a shape in one tab, select it, switch to another
tab and without this we get: 'failure error while parsing ExportAs command'
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I735509b14872dc6c74d7092db0083217954ad988
but they don't go through the delta mechanism, so move the assert
to the delta path, the other path is ok wrt gt 256x256
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I2ba4d8affb7645349540f3a5de31d1802f04c53d
Better to reorder these so we have higher probably to meet user's
expectations and fix the priority in which the elements are placed
- Move "Columns" (.uno:FormatColumns) to a higher priority place
- Demote "Title page" (.uno:TitlePageDialog) to a toolitem: This
Button is already present in the insert tab and so we don't need to
have it as a bigtoolitem here
- Move Hyphenate and LineNumbering to be right after breaks
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I6cba0ad920e9ee9ec836f9e06e201f0ff9264f84
so if core is compiled with a cairo using rgba the pixels can
be sent without need to reorder in server or client
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Iaf0410f1eaa605b9ce2716625f6c968bca523ccb
And tile::needsFetch on that result will always return true given the
default of invalidFrom of 0 and the comparison of
return this.invalidFrom >= this.wireId || ...
so the tile return from the cache is unusable.
It is typical for a request not to have a wireId, if we don't use the
cache then doRender will send a timecombine result with wireIds set. But
if we use the cache here we send a response using the wireId of the
request.
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I586406af86b0f503dfc204e20120cc8acebf5b8e
Better to use Download -> 'PDF Document (.pdf) as... both for compact
and tabbed view
it's:
- Less scary
- More meaningful (you can download the pdf as hybrid document etc
- It also signifies that the action of pressing the button is just one
step for more options
Exception:
For when the group_download_as is false (by default is true). In this
case and since we don't allow '...' in button labels on tabbed view
better to fallback to '- Expert'
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ifda092ae3d685d7de3e5f065659733c5af2e2d41
refs commit 2572f011da9a3cb688a33b2360b741805bf31a9f
Added functionality:
- for draw, calc and impress with "download
group" toolbar buttom
- for all the applications with single
download toolbar buttons
- for all the applications in compact
mode (menu)
This is a port from 22.05 + with conflicts solved and the removal of
legacy hasSigning and related
Change-Id: Ibab9d831f1da07cbf38db29a26eeb5b712c4842c
Signed-off-by: luigiiucci <luigi.iucci@collabora.com>
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
When a user selects a different language for the document using
the More... dialog, the system does not apply the selection.
This patch allows the system to send the LanguageStatus command even
when the jsdialog is opened.
refs: #6808
Signed-off-by: Federico Rispo <federico.rispo@zextras.com>
Change-Id: I7a1a39b31db59f1bc5f980d63f3040ffa9b311e5
If COOL is running in debug mode ther is a
check that incoming messages are UTF-8.
We skip this tests if the message refers
to an image pasted.
Signed-off-by: luigiiucci <luigi.iucci@collabora.com>
Change-Id: I4f7e4a647deb22ec2a032d4d6347d910184c0701
We want to keep pre-loaded, and invalidated tiles around so that
we have something to render in lots of cases, particularly for
other parts, and slides. However - we need to know that it is
invalid so we can on-demand fetch something better.
It is very important that this invalid state doesn't race with
tile arrivals ie. in a banal way:
invalidate, req, invalidate, req, tile, invalidate, req, tile
it is unclear whether the latest tile is still invalid; similarly,
if we request(req) a tile and there is no change to it we get no
response.
To disambiguate this, use the monotonic wid to check we are in-sync.
Re-factor:
setup debug tile layer more pro-active.y
rename HasContent to NeedsFetch to be more explicit.
Remove:
previous _invalidCount that was perhaps a similar idea.
previous .loaded concept.
previous _pruneTiles concept - now it seems we can be
confident in cached tiles from other slides and sheets.
Change-Id: Ibc6d3b6050e756ace91a9bd53d3e4efe12b023cf
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
If we just got a new tile from coolwsd - it must be for a reason,
even if it is a pre-fetched tile, lets keep it around if we can
in preference to less recently rendered tiles.
Change-Id: I87eaba7ccca0d6cf22777043e047dd2874da5bca
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
It appears that tile.active has been un-conditionally true for a
good while, and that the tile.retain handling for zoom levels has
not been used for a while.
New tile garbage-collection should give us scope to keep and/or
pre-load tiles for zooming more helpfully if necessary.
Change-Id: I4d493a5eea34bf9dfd84744696303d0ae37bf883
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Before this the read-only label was being added to the status bar even
if the user has writing access but is currently in that transient
read-only mode state (pencil icon is visible)
Don't show read-only label for those cases. We already have the pencil
icon/btn that signifies that.
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I5295564244977388034c7a7930840cb45dfdd629
entries are a tree structure so we need to iterate
through it using a special function
this fixes eg. date filtering in autofilter
where checkboxes didn't work
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I8a263264b2338d8955e0611f267f382768f1153c
make every character separate node to make this possible
also take not selection but node based on event's point
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I561a57e8d6284d8cbb567494dfd51c3470286af6
It converts textarea into contenteditable div.
Input is handled by TextInput.js used for document
and already in the past for formulabar. Replaces
usage of keyevents which are not triggered with
eg. Japanese.
Fixes also #6737
Fixes on mobile #6767 requires: https://gerrit.libreoffice.org/c/core/+/153717
New widget consists of text layer with visible content
and cursor layer with selections and cursor. When clicked
it focuses TextInput.js field for typing.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ieb7cf148a5aba80ab790e0b53c3a5ba27f166b73