Bug 149496 - Drag&dropping content within formula bar doesn't do anything
Summary: Drag&dropping content within formula bar doesn't do anything
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.1.0.3 release
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks: GTK3 Regressions-weld-InputBar
  Show dependency treegraph
 
Reported: 2022-06-09 02:18 UTC by Aron Budea
Modified: 2024-06-10 05:43 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample ODS (10.78 KB, application/vnd.oasis.opendocument.spreadsheet)
2022-06-09 02:18 UTC, Aron Budea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aron Budea 2022-06-09 02:18:27 UTC
Created attachment 180645 [details]
Sample ODS

- Open the attached spreadsheet,
- Expand formula bar using the triangle button,
- Click into the cell that has several lines of text, select a piece of it, and drag it someplace else within the formula bar.

=> The dragged content is copied to the new place in the formula bar (instead of being moved), but not in the cell view in the sheet, and leaving cell edit mode discards the change.

The issue mostly only concerns gtk3 VCL plugin, dragging is fine with gen VCL plugin, but the discarding problem (3. change below) affects both.

This changed in several steps.

1. Until this commit, bibisected using repo bibisect-linux-64-7.1 drag&drop moved the selected text as expected.
From this commit, drag&drop in the formula bar stopped working.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=e087e25f05e689091cbf1c4f91b6e93878ac17ec
author		Caolán McNamara <caolanm@redhat.com>	2020-10-05 14:19:05 +0100
committer	Caolán McNamara <caolanm@redhat.com>	2020-10-16 12:54:14 +0200

"weld InputBar"

2. This commit (bibisected using repo bibisect-linux-64-7.2) made drag&drop work, but instead of moving content to its new place, it started copying it.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=1320afe376bc52bc64995ba976391ec21db6ccde
author		Caolán McNamara <caolanm@redhat.com>	2021-04-29 09:49:11 +0100
committer	Caolán McNamara <caolanm@redhat.com>	2021-04-30 13:41:08 +0200

"allow dnd into weldeditview"

3. Then after the following commit by Noel (bibisected using repo bibisect-linux-64-7.2), the change from dragged content isn't propagated to the cell view while still editing the cell, and is lost after finishing cell editing.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=60d35f767781de4b8f1e7b264b12015f655c647d
author		Noel Grandin <noel.grandin@collabora.co.uk>	2021-07-06 18:51:38 +0200
committer	Noel Grandin <noel.grandin@collabora.co.uk>	2021-07-08 11:53:49 +0200

"tdf#132740 don't broadcast if modified status has not changed"

There also used to be a crash when closing Calc without leaving cell edit mode after dragging, but that seems to have been fixed between 2. and 3. sometimes, maybe it was bug 141769.
Comment 1 Aron Budea 2022-06-09 02:28:42 UTC
(In reply to Aron Budea from comment #0)
> 3. Then after the following commit by Noel (bibisected using repo
> bibisect-linux-64-7.2), the change from dragged content isn't propagated to
> the cell view while still editing the cell, and is lost after finishing cell
> editing.
> 
> https://cgit.freedesktop.org/libreoffice/core/commit/
> ?id=60d35f767781de4b8f1e7b264b12015f655c647d
Since that's a 7.2 backport, let's note its 7.3 original as well:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=73c9ef661d9ef6237d3fd3c259fd040a545b44cf
Comment 2 QA Administrators 2024-06-09 03:14:55 UTC Comment hidden (obsolete)
Comment 3 Aron Budea 2024-06-10 05:43:18 UTC
This particular case is fine in 24.8.0.0.alpha1+ (f6ea343e6fb2dc3539823dee60c9c6f96fc16275) / Ubuntu.

However, these slightly modified steps still don't work properly, and they haven't worked even before the regression (eg. in 6.4 latest):
- Open the attached spreadsheet,
- Expand formula bar using the triangle button,
- Click into the cell that has several lines of text, select a piece of it, and drag it someplace else within the formula bar,
- Press Ctrl+Z.

=> Undo happens in the formula bar, but not within the cell. Pressing Enter finalizes the change without the undo part.