Skip to content

Port EphySearchEngineManager to GListModel and the list box + row to it

Vanadiae requested to merge Vanadiae/epiphany:search-manager-glistmodel into master

I'm pushing here today as I don't think I'll have time to finish it this week, so at least it's pushed somewhere. I do intend to finish it when I get time for it, which hopefully shouldn't be too far away.

TODO:

  • ephy-search-engine-row.c isn't yet fully ported. There's a bunch of commented lines w/ FIXME/TODO in the list box code, for things that should be moved from the list box to the row w/ notify:: and items-changed signals. Mostly done and working.
  • Actually build this and run it (yes, I haven't yet run it at all :) Done. Works pretty fine.
  • Thoroughly test all features and edges cases to make sure I didn't break anything Mostly done.
  • Make tests for the manager/engine code (test signal emissions too if possible?) Initial tests should be done.

I'm a bit embarassed to use only one commit for the whole thing, but for the time being it's easier to rebase that way. And anyway, if I didn't put everything in one commit, there would be some commits that wouldn't build alone. Not sure what's the policy here. The tests can be put in a separate commit of course though, but those don't weight in too much LOC count wise.

Fixes #1441 (closed)

Fixes #1318 (closed)

Helps !1053

For #1318 (closed), I just detected if the engine is either at the beginning or at the end, but I didn't bother checking every single words for bangs as my main use case for the original issue was when I forgot to insert the bang to use a particular engine, in which case I inserted the bang at the end to correct myself but that currently doesn't work. Now it's fixed with this MR.

Edited by Vanadiae

Merge request reports