Today I notice a new behavior in Gramps. When working with any field that has a drop-down list, the type-ahead to search feature no longer works. I see this in the Attribute tab and also the Internet tab when adding a new item of either type. It is seriously slowing down my work.
Clicking the down-arrow brings up the full list. Once I find the item I want, clicking on it will choose it. However, those lists are not sequenced and (even worse!) come up with a different sequence at every invocation.
I cannot find any setting either in Gramps or in Fedora system settings to change this behavior. I suspect it is really a GTK setting, but I could not find anything relevant by searching.
Start typing in any drop-down and this will display all types, coded and custom starting with that letter and will further filter as more letters are typed.
It was working like that just a week ago. I have not applied any
changes - not even a machine reboot.
Recalling the old behavior - In an Internet dropdown, if I typed exactly
two characters then it would find a match. Type a third and no matches
would be found even if one existed. The attributes dropdown did not do
that.
You could try the Rebuild Secondary Indexes tool. I have no idea if dropdown lists are rebuilt or not. The documentation is lacking in specifics beyond gender and names.
Or make sure you have the current backup .gramps file and do an import into a new, empty database.
A third option is run Check and Repair. Every user should run CR every so often even if you are not experiencing any issues. I try to remember to run it every 6-8 months.
Since you indicate that this is a change in behavior, it is not a result of a bug in the code.
The plot thickens … I am not convinced this is a Gramps problem even
though - so far - that is the only place I see it.
I did “check and repair” on the database. I did “rebuild secondary
indexes”. The problem still existed. I created a new database and
imported the current backup. Problem still existed.
Then I discovered a new wrinkle! This is odd … If I start typing in
a dropdown list, it does not display any entry. BUT! If I type two or
three characters and ==> then hit backspace once <==, the matching
entries show up! If I continue typing characters, it continues to
narrow down the choices.
The next time I open a dropdown list, the action has to be repeated.
Also, hitting backspace as the first typed character does not work.
Hmmm… I have a bit over 25,000 people in the database with 3180
unique surnames. That’s a lot, but I have heard of much larger.
Predictive typing in the person list works as usual. I click once on
any name, then start typing. A text box appears showing what I have
typed and the marker in the big list starts jumping to the first match.
Same with the places list which is a bit over 14,000 entries.
The four places I have seen it so far are person attributes (25
entries), Internet URL types (18 entries), place types (34 entries) and
surnames (3180 entries). I have not added any items to the first three
lists in several months.
The Type Cleanup tool did not show any obvious problems.
As an additional test, I went to another computer. It is also running
Fedora 44 and Gramps 6.0.8. I imported my production database.
Dropdown lists present the same behavior as on my main system.
It would be interesting to see if this is actually a GTK problem. I
don’t know how to test that. Can anyone suggest another application
that might be a good test?
Update! I found another application which does almost the same thing.
Tellico. I am pretty sure it is written in Python.
Tellico seems to have two different kind of dropdown lists. One has an
arrow in the field. For example - Media Type. In those fields it
brings up the first matching entry as soon as you start typing.
Other fields have a list behind them but no arrow. For example - Artist
Name. In those fields the filtered list of entries does not appear
until you type a few characters and then hit the backspace once.
Exactly as in Gramps.
I think this confirms what I suspected might be the case. The problem
is not in Gramps. I suspect some sort of interaction between GTK and
Python.