Bug 156058 - Jumping to list item in AutoFilter doesn't work on Linux with VCL: gtk3
Summary: Jumping to list item in AutoFilter doesn't work on Linux with VCL: gtk3
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.1.0.0.alpha0+
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks: GTK3 AutoFilter
  Show dependency treegraph
 
Reported: 2023-06-26 11:13 UTC by Raphael
Modified: 2023-07-20 15:49 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
Screenshot displaying the issue (29.89 KB, image/png)
2023-06-26 11:25 UTC, Raphael
Details
Test file with autofilter (14.93 KB, application/vnd.oasis.opendocument.spreadsheet)
2023-06-26 11:26 UTC, Raphael
Details
The search items box doesn't keep the selections but checks only the found results. (122.99 KB, image/gif)
2023-07-03 13:52 UTC, Raphael
Details
Animated gif which shows the problem on Ubuntu Linux (74.00 KB, image/gif)
2023-07-03 14:10 UTC, Raphael
Details
This screenshot shows, how it worked in LibreOffice 6 on Linux. (71.36 KB, image/gif)
2023-07-03 14:18 UTC, Raphael
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raphael 2023-06-26 11:13:09 UTC
Description:
If you focus the list of items in LibreOffice under Windows in the AutoFilter and start typing a word, you jump to the corresponding entry. (Under Linux this also worked in LibreOffice version 6).
Under LibreOffice 7 (tested under Ubuntu) a text field opens when typing, but it is not possible to jump to the corresponding entry.

Steps to Reproduce:
1. Create a AutoFilter on a column with many entries (e.g. month names)
2. Open the AutoFilter by clicking on the arrow in the headline
3. Focus the list of entries by pressing the TAB key four times or click on an item in the list (e. g. if the list contains month names, click on April)
4. Start typing a non-selected or better non-visible entry (Press "S" on the keyboard)

Actual Results:
A text field containing the typed character appears on the bottom of the list but the list entry which starts with that character is not focused.

Expected Results:
The list entry which starts with the typed character should be focused and if the entry is outside the viable area, it should be scrolled to that entry


Reproducible: Always


User Profile Reset: Yes

Additional Info:
I tested this with LibreOffice 7.3.7.2, 7.4.7, 7.5.4 and 7.6.0 on Ubuntu 22.04.2 and 23.04. I also tested it on Linux Mint 21.1 (which is based on Ubuntu 22.04 but using Cinnamon).
On Windows with LibreOffice 7.5.4.2 it is working as expected (only the text field is not displayed when typing in the focused list but this is not my concern).
Comment 1 Raphael 2023-06-26 11:25:33 UTC
Created attachment 188089 [details]
Screenshot displaying the issue
Comment 2 Raphael 2023-06-26 11:26:15 UTC
Created attachment 188090 [details]
Test file with autofilter
Comment 3 Raphael 2023-06-26 11:55:21 UTC
Comment on attachment 188089 [details]
Screenshot displaying the issue

In this example it should be actually jumped to the "September" entry
Comment 4 Raphael 2023-06-26 15:40:41 UTC
I just tried it on Rock-Linux (which is the same as RedHat Enterprise Linux 9.2) with LibreOffice 7.1.8.1 running on Gnome. Also in this case, jumping/focusing a list item by typing it's first letter, isn't working. In this case the text field on bottom of the list doesn't appear (like in Windows). So this extra "search text field" seems to be especially appear in Ubuntu based distributions. 
---
This text field (see also my sceenshot), as I mentioned, is not the reason I am complaining, but the fact that you cannot jump to a list entry under Linux by typing the word or first letter. 
My problem is that I work with lists of over 1000 entries and it is very tedious to find the needed entries in the list by scrolling. Therefore I would be very grateful to get back this additional search/jump function under Linux.
Comment 5 ady 2023-06-26 22:11:17 UTC
(In reply to Raphael from comment #0)
> 3. Focus the list of entries by pressing the TAB key four times or click on
> an item in the list (e. g. if the list contains month names, click on April)

That's the problem. If you want to limit the list to show only specific items that match a search (such as starting with the letter "S"), you should not focus on some item ("April") but rather put the focus/cursor within the "Search items" field.

The "Search items" field is also shown in the screenshot attachment 188089 [details] from comment 1 (linked also in comment 3), located just above the "All" tick box, but it is clear that the focus is not in it.

In most cases, when opening the Autofilter list, the "Search items" field already has the focus, so immediately and directly typing characters (such as the letter S) would limit the autofilter list below it. IOW, no need to press [TAB]; just start typing.

Please test whether using the (adequate) "Search items" field accomplishes the desired effect.
Comment 6 Raphael 2023-06-27 14:20:01 UTC
I am of course aware that there is the "Search items" field, but this seems to perform a different function than the one I need (and which works on Windows). 
I just want to jump to a specific item without changing the selection.
But when you type something into the "Search items" field, you can only select from the entries. 
If the search field is then cleared (to enter another search term) the selection is then reset and all items are then checked.


Example:
1. Open my testfile and open the AutoFilter
2. Enter an "S" in the "Search items" field -> this will cause the list to show only August and September, which are then checked.
3. Uncheck August
4. empty the "Search items" field -> this leads to all items being displayed and unfortunately checked again.

It seems that it is not possible to use the "Search items" field to enter different search terms and select the required entries without losing the current selection when searching for a different term.

Maybe it is the actual bug, that when emptying the "Search items" field all entries are checked? But I rather think this is not a bug, but a feature (which I have never understood), because this was already the case in LibreOffice 6. 
The real bug is that under Linux you can't jump to a list item by typing it when the focus is on the list.
Comment 7 ady 2023-06-28 03:11:42 UTC
(In reply to Raphael from comment #6)

> But when you type something into the "Search items" field, you can only
> select from the entries. 
> If the search field is then cleared (to enter another search term) the
> selection is then reset and all items are then checked.

Please try the following steps:
1. Open attachment 188090 [details].
2. Display the autofilter list.
3. Immediately directly type the letter a [ENTER]

* A partial list is displayed accordingly.

4. Display the autofilter list again

* Only the items that are already displayed according to the filter are marked, and the focus is located within the Search items field again, so you can now type something else (which would replace the resulting list), or change the check box status of any item.

Is this what you are looking for?
Comment 8 Raphael 2023-07-03 13:52:47 UTC
Created attachment 188182 [details]
The search items box doesn't keep the selections but checks only the found results.
Comment 9 Raphael 2023-07-03 14:00:33 UTC
Comment on attachment 188182 [details]
The search items box doesn't keep the selections but checks only the found results.

When entering something to the search items box, the currently checked items are unchecked and only the search results are checked.

This isn't what I want to do. I simply want to jump to an entry in the list, without changing the selected items!

This works in LibreOffice 7 for Windows and worked in LibreOffice 6 for Linux, but doesn't work in LibreOffice 7 on Linux anymore.
Comment 10 Raphael 2023-07-03 14:10:26 UTC
Created attachment 188183 [details]
Animated gif which shows the problem on Ubuntu Linux

When focussing the list in the AutoFilter and typing the begin of a list entry (in this example "Ham"), you cannot jump to the list entry, which is starting with this letter.
Comment 11 Raphael 2023-07-03 14:18:37 UTC
Created attachment 188186 [details]
This screenshot shows, how it worked in LibreOffice 6 on Linux.

In LibreOffice 6 under Linux (and still in LibreOffice 7 on Windows) it was possible to jump to a list entry by focusing the items list and typing the first letters of the item. Jumping to an item in this way doesn't automatically check or uncheck any items. This is, what I need and want back in Libreoffice 7 under Linux!
Comment 12 Adam664 2023-07-08 15:20:08 UTC
Hello and thanks for reporting the bug. Following your steps from comment one, and making sure the focus is on the list of month names, I'm not able to reproduce the bug using: 

Version: 7.5.3.2 (X86_64)
Build ID: 50(Build:2)
CPU threads: 1; OS: Linux 6.3; UI render: default; VCL: kf5 (cairo+xcb)
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

Can you report the version information from the LibreOffice versions giving you the bug, by going to Help and copying the information provided there? I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' after you have reported the version information.
Comment 13 Raphael 2023-07-11 18:42:28 UTC
(In reply to Adam664 from comment #12)
> Hello and thanks for reporting the bug. Following your steps from comment
> one, and making sure the focus is on the list of month names, I'm not able
> to reproduce the bug using: 
> 
> Version: 7.5.3.2 (X86_64)
> Build ID: 50(Build:2)
> CPU threads: 1; OS: Linux 6.3; UI render: default; VCL: kf5 (cairo+xcb)
> Locale: en-US (en_US.UTF-8); UI: en-US
> Calc: threaded
> 
> Can you report the version information from the LibreOffice versions giving
> you the bug, by going to Help and copying the information provided there? I
> have set the bug's status to 'NEEDINFO'. Please change it back to
> 'UNCONFIRMED' after you have reported the version information.

I have tested it under several versions and under all of them I can reproduce the bug. See the detailed version information below. I think the main difference between your version and my versions or the problem is the "VCL: gtk3"

Version: 7.3.7.2 / LibreOffice Community
Build ID: 30(Build:2)
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: de-DE
Ubuntu package version: 1:7.3.7-0ubuntu0.22.04.3
Calc: threaded

Version: 7.4.7.2 / LibreOffice Community
Build ID: 723314e595e8007d3cf785c16538505a1c878ca5
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded

Version: 7.5.4.2 (X86_64) / LibreOffice Community
Build ID: 36ccfdc35048b057fd9854c757a8b67ec53977b6
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded

Version: 7.5.5.1 (X86_64) / LibreOffice Community
Build ID: 2c5e46c1980ec5241359fd65d751dc518205e7af
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded

Version: 7.6.0.1 (X86_64) / LibreOffice Community
Build ID: 776eaf34564cbf3f034a0ba1fd1d5c32ff9ccf1c
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded

Version: 7.6.0.0.beta1 (X86_64) / LibreOffice Community
Build ID: be55b15d98c5f059483845a183fcb5ea8023d27c
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded

Version: 7.5.4.2 (X86_64) / LibreOffice Community
Build ID: 50(Build:2)
CPU threads: 4; OS: Linux 6.2; UI render: default; VCL: gtk3
Locale: en-US (C.UTF-8); UI: en-US
Ubuntu package version: 4:7.5.4-0ubuntu0.23.04.1
Calc: threaded
Comment 14 Raphael 2023-07-11 19:01:54 UTC
Yes, I can confirm, that gtk3 is the problem!

I've just uninstalled the following package:
libreoffice-gtk3

Now it is possible to jump to a list entry by typing the first letter.

But unfortunately the interface looks very outdated now :(
So it would be very nice if someone could fix the problem for gtk3....
Comment 15 Adam664 2023-07-14 16:35:30 UTC
Switched to gtk3 and viola, the bug appears. Confirming the behavior still exists in 

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: e24a3a3c339d7a175ebfeef31a280becda9d5950
CPU threads: 1; OS: Linux 6.3; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded


Bisected using linux-64-7.1 with the following result

commit e55f69bdf1018239bd5eebc90f04ab283a52e6f0
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Fri Jun 12 22:37:17 2020 +0200

    source a16e6122dc62f545df90b9ea4d1f4723c46336b6

Changing earliest affected version to 7.0.0.1alpha+

Setting status to NEW

Adding Cc: to <caolan.mcnamara@collabora.com>