Bug 136901 - Sheet tab dragging is broken with RTL UI
Summary: Sheet tab dragging is broken with RTL UI
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Sheet-Tabs-Bar RTL-UI
  Show dependency treegraph
 
Reported: 2020-09-20 19:28 UTC by ori
Modified: 2023-03-10 19:06 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
Screencast (5.36 MB, image/gif)
2023-02-23 09:14 UTC, Heiko Tietze
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ori 2020-09-20 19:28:52 UTC
Description:
On the clac when you want to drag the Tabs to the right, you are draging them to the left. And when you want to drag the Tabs to the left, you are draging them to the right.

see that video:
https://youtu.be/bIF9ClCnpIM



Steps to Reproduce:
1. see the video
2. same
3. same

Actual Results:
see the video

Expected Results:
see the video


Reproducible: Always


User Profile Reset: Yes



Additional Info:
see the video
Comment 1 ori 2020-09-20 19:30:38 UTC
Of course I forgot to mention that it is on the Hebrew language and also this problem is caused due to incompatibility between the movement of the tabs in the English language and the movement of the tabs in the Hebrew language
Comment 2 ori 2020-10-06 13:20:02 UTC
I received an email regarding the bugs I added, but I do not know exactly what I am supposed to do. You did not write any questions so what exactly do you need from me?
Comment 3 Eyal Rozenberg 2021-02-14 22:30:26 UTC
I can semi-confirm this issue.

First, this happens with an RTL UI (e.g. Hebrew); not with LTR UI.

In my experience, with RTL sheets:

* 'Guidance' triangles for drag destinations are usually not drawn; and occasionally drawn in an unexpected position, e.g. if I drag the 3rd tab from the right, two positions to the right (i.e. to the right edge of the sheet-tab deck) - I see a triangle on the left edge of the leftmost tab.
* Dragging sheet-tabs and releasing them sometimes fails to do anything, in scenarios in which it did result in a position switch with an LTR UI.
* Dragging a sheet-tab one full position to the right, or more, brings it to the left of the deck, regardless of its initial position.

In my experience, with LTR sheets (and again, RTL UI):

* 'Guidance' triangles for drag destinations are usually not drawn; if I drag a tab past the beginning (the left edge) of the tab deck, then a triangle is drawn on the left side of the last (rightmost) tab.
* Dragging a tab due left and releasing it moves it to the rightmost position, regardless of its initial position (and the fact I didn't release it to the right of its initial position).
* Dragging a tab due right and releasing it also places it in the rightmost position.

In summary - sheet-tab deck dragging is totally messed up w.r.t. RTL and really needs to be fixed.

Tested on:

Version: 7.1.0.3 / LibreOffice Community
Build ID: f6099ecf3d29644b5008cc8f48f42f4a40986e4c
CPU threads: 4; OS: Linux 5.9; UI render: default; VCL: gtk3
Locale: he-IL (en_IL); UI: he-IL
Calc: threaded
Comment 4 QA Administrators 2023-02-16 03:25:54 UTC Comment hidden (obsolete)
Comment 5 Heiko Tietze 2023-02-23 09:14:50 UTC Comment hidden (off-topic)
Comment 6 Michael Weghorn 2023-02-23 09:44:06 UTC Comment hidden (off-topic)
Comment 7 Heiko Tietze 2023-02-23 09:56:00 UTC Comment hidden (off-topic)
Comment 8 ady 2023-02-23 13:33:36 UTC
(In reply to Eyal Rozenberg from comment #3)
> I can semi-confirm this issue.
> 
> First, this happens with an RTL UI (e.g. Hebrew); not with LTR UI.
> 
> In my experience, with RTL sheets:
> 
> * 'Guidance' triangles for drag destinations are usually not drawn; and
> occasionally drawn in an unexpected position, e.g. if I drag the 3rd tab
> from the right, two positions to the right (i.e. to the right edge of the
> sheet-tab deck) - I see a triangle on the left edge of the leftmost tab.
> * Dragging sheet-tabs and releasing them sometimes fails to do anything, in
> scenarios in which it did result in a position switch with an LTR UI.
> * Dragging a sheet-tab one full position to the right, or more, brings it to
> the left of the deck, regardless of its initial position.

Repro. I'll add (LO 7.4.5):
* Under the above conditions, if the tab is effectively moved somewhere, it is always moved to the left-most position. It is as if the 'Guidance' triangles are "locked" in that left-most position, and so the destination is always in that position (when / if the movement succeeds).


> 
> In my experience, with LTR sheets (and again, RTL UI):
> 
> * 'Guidance' triangles for drag destinations are usually not drawn; if I
> drag a tab past the beginning (the left edge) of the tab deck, then a
> triangle is drawn on the left side of the last (rightmost) tab.

It is always drawn at the same position: the left-side of the right-most tab. IOW, unifying the behavior with either RTL sheets or LTR sheets, both on RTL UI, the 'guidance' triangles are always located and fixed at the left-most side of the "last" tab (as of LO 7.4.5).

> * Dragging a tab due left and releasing it moves it to the rightmost
> position, regardless of its initial position (and the fact I didn't release
> it to the right of its initial position).

Again (LO 7.4.5), unifying... the 'guidance' triangles are always located and fixed at the left-most side of the "last" tab, and the grabbed-sheet is always moved to the "last" position, no matter what direction you move it or between which 2 tabs you release the mouse button.

IOW (as of LO 7.4.5), the sheet ends at the "last" position, while the 'guidance' triangles are displayed to the left-side of the "last" tab, whether it is RTL or LTR sheets (always on RTL UI). These are 2 different bugs, shown in one action.

> * Dragging a tab due right and releasing it also places it in the rightmost
> position.
> 
> In summary - sheet-tab deck dragging is totally messed up w.r.t. RTL and
> really needs to be fixed.

Agreed.

> 
> Tested on:
> 
> Version: 7.1.0.3 / LibreOffice Community
> Build ID: f6099ecf3d29644b5008cc8f48f42f4a40986e4c
> CPU threads: 4; OS: Linux 5.9; UI render: default; VCL: gtk3
> Locale: he-IL (en_IL); UI: he-IL
> Calc: threaded

Tested on (please note that this is on RTL UI):

Version: 7.4.5.1 (x64) / LibreOffice Community
Build ID: 9c0871452b3918c1019dde9bfac75448afc4b57f
CPU threads: 4; OS: Windows 10.0 Build 19044; UI render: default; VCL: win
Locale: en-US (es_AR); UI: he-IL
Calc: CL

Now, on (also RTL UI):

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: dbbfcb7e098c1c16f932785ef62ef7d3d819ad1a
CPU threads: 4; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: en-US (es_AR); UI: he-IL
Calc: CL threaded

There is one difference. Instead of the "last" positioned tab, it is always fixed at the "left-most" positioned tab; i.e. the "last" positioned tab for RTL sheets and the "first" positioned tab on LTR sheets, both on RTL UI.

So, still a (slightly different) mess as of current 7.6.0.0.alpha0+.
Comment 9 Heiko Tietze 2023-02-25 07:00:13 UTC
Confirming with SAL_RTL_ENABLED=1. The trigger position for the tabs is completely messed up. The kf5 issue comes on top of it and is unrelated.
Comment 10 Stéphane Guillou (stragu) 2023-03-06 09:18:51 UTC
Was already somewhat broken in OOo3, in RTL UI, trying to drag-and-drap from left to right. But has gotten worse over time, in my opinion.

Ubuntu 20.04 with GNOME 3.36.8
OpenOffice.org 3.3.0
OOO330m20 (Build:9567)