- started shortcut overhaul by updating shortcut storage and underlying objects
- shortcuts will now support multiple modifiers (ctrl, alt, shift) in some places
- the regular shortcut entry control now supports mouse events through a radiobox (although only the duplicate filter will capture and deal with mouse events on the new system!)
- on db creation or update, a new 'duplicate_filter' shortcut set will be generated that includes mouse shortcuts and new duplicate_filter commands
- the duplicate filter now obeys this shortcut set
- duplicate filter shortcut edit cog menu now works, and the active shortcut set will update if edited
- wrote simple duplicate pair status update db code
- added dupe filtering optimisation--given A > B, anything else better than A will be set to be better than B, and anything worse than B will be set to be worse than A
- added dupe filtering optimisation--after any duplicate status change affecting A and B, any 'same file' siblings of A and B will receive the same relationship
- the 'process now' button on review services is now gated by a yes/no dialog that better explains what's about to happen
- the repository buttons on review services will disable when they can't do anything
- repository update processing will now cancel mid-job much faster
- reintroduced the 'service-wide update' button to tag services in review services
- reintroduced the 'clear trash' button to the trash file service in review services
- reintroduced num_files rating service reporting in review services
- fixed mouse scroll wheel events from the ratings hover window not being correctly processed by the main media canvas
- added some 'touch' event detection to try to better deal with media dragging through a touchscreen
- import folders will now 'action' their import paths as they go, rather than only at the end of their import run
- the new taglists are now better at remembering their selection through a content change
- opening a file or path from a non-windows client should now create a non-child process for open/xdg-open calls that block (so closing the client should not then close the child process movie player application or whatever)
- added unit tests for the new shortcut object
- added unit tests for the new application command object
- fixed unit tests for the updated shortcuts object
- misc cleanup