{"action":"created","issue":{"url":"https://api.github.com/repos/mickelson/attract/issues/120","labels_url":"https://api.github.com/repos/mickelson/attract/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/mickelson/attract/issues/120/comments","events_url":"https://api.github.com/repos/mickelson/attract/issues/120/events","html_url":"https://github.com/mickelson/attract/issues/120","id":62859204,"number":120,"title":"Plug-In Request: Search","user":{"login":"millercentral","id":7720102,"avatar_url":"https://avatars.githubusercontent.com/u/7720102?v=3","gravatar_id":"","url":"https://api.github.com/users/millercentral","html_url":"https://github.com/millercentral","followers_url":"https://api.github.com/users/millercentral/followers","following_url":"https://api.github.com/users/millercentral/following{/other_user}","gists_url":"https://api.github.com/users/millercentral/gists{/gist_id}","starred_url":"https://api.github.com/users/millercentral/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/millercentral/subscriptions","organizations_url":"https://api.github.com/users/millercentral/orgs","repos_url":"https://api.github.com/users/millercentral/repos","events_url":"https://api.github.com/users/millercentral/events{/privacy}","received_events_url":"https://api.github.com/users/millercentral/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-19T03:08:24Z","updated_at":"2015-10-04T16:46:21Z","closed_at":null,"body":"Typically my front-end is showing a limited filter of games from the RomList, but occasionally I want to play something specific without scrolling through thousands of games in the All list. it would be great to have a plug in to Search for a specific game.\r\n\r\nWhen invoked, the Search plug in would popup a new overlay window with a virtual keyboard (in a perfect world, you could choose between a horizontal line keyboard, or 5x6 style grid keyboard), moving between letters and selecting with a button press. With each character added to the string, a list is returned of matching games (searching against Name and filename). Selecting an item from the list of results could show a bit more info (like artwork, year, manufacturer, working status), and allow you to launch the game, or add it to favorites.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/mickelson/attract/issues/comments/145365614","html_url":"https://github.com/mickelson/attract/issues/120#issuecomment-145365614","issue_url":"https://api.github.com/repos/mickelson/attract/issues/120","id":145365614,"user":{"login":"liquid8d","id":3782076,"avatar_url":"https://avatars.githubusercontent.com/u/3782076?v=3","gravatar_id":"","url":"https://api.github.com/users/liquid8d","html_url":"https://github.com/liquid8d","followers_url":"https://api.github.com/users/liquid8d/followers","following_url":"https://api.github.com/users/liquid8d/following{/other_user}","gists_url":"https://api.github.com/users/liquid8d/gists{/gist_id}","starred_url":"https://api.github.com/users/liquid8d/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liquid8d/subscriptions","organizations_url":"https://api.github.com/users/liquid8d/orgs","repos_url":"https://api.github.com/users/liquid8d/repos","events_url":"https://api.github.com/users/liquid8d/events{/privacy}","received_events_url":"https://api.github.com/users/liquid8d/received_events","type":"User","site_admin":false},"created_at":"2015-10-04T16:46:21Z","updated_at":"2015-10-04T16:46:21Z","body":"I put some time into creating a basic search interface:\r\n\r\n![Search config](http://i.imgur.com/fUhYsb6.png)\r\n\r\n![Search overlay](http://i.imgur.com/2PB6yZL.png)\r\n\r\nAgain though, as far as I can tell there isn't a way to modify filters/rules. To do a search interface, I'm thinking we need to be able to create/apply a filter/rule, something like fe.apply_rule(\"Title contains xxxx\"); and it would apply that rule to the current filter/list.\r\n\r\nI'm not very good with c++, but I was looking through the code anyways :) I was a little confused on how this could be done. I found the FeFilter and FeRule classes in fe_info.cpp, I see that you can bind functions to the fe table in fe_vm.cpp. I *think* FeSettings::get_rom_info creates the list based on the filter index, so perhaps we'd need to add a new filter to the array and remove it when done - or maybe we can add a rule to the current filter index and remove it when done. I'll keep working on it, and if I can figure it out submit a patch."}}