I'm looking for some suggestions on how to implement autocomplete on several different datasets. I'm looking to implement something like what Google Chrome has. You type a word into the location bar and it autocompletes on your bookmarks, recently visited sites, and commonly searched for terms. (see the attached image)

autocomplete-chrome.png

The difference is, I'm doing this for a directory browser. So I need to complete on these 3 datasets
  1. recently visited directory paths
  2. bookmarked directory paths
  3. bookmark names
I can figure out the ui side of things, creating a drop down with bold matching text, etc. I was hoping I could find a wise Qt smith to spark some ideas on how to implement matching side of things... even better if it can be done in a bg thread to avoid locking up the rest of the ui. There's nothing more annoying than interrupting the user when they're typing