D 2015-03-23T14:36:57.762 L Roadmap N text/x-markdown P 1c3e2ac6b21222a44ed843d9244c042b0127cbf3 U tinus W 2895 # ZPreview Roadmap Listed below are the features and changes I want to implement. Marked in _italics_ are features that have already been implemented in the source code. ## 1.0.3 * When selecting a new file, try the current renderer first * _Also support Shift+Ctrl+Alt from ZTreeWin (~ instead of ^)_ * Add command-line parameter for `zbar.dat` location * Add button to close error panel * Add dialog to check for updates (branch [feature/auto-update](timeline?r=feature/auto-update)) * Save and load settings - window size and position of all forms - 'checked' property of all View actions - preferential order of renderers - which engines and/or renderers have been disabled - list of WLX plugins to load * Improve error handling during automatic selection of renderer * Refactor user interface for preview engines and renderers - add engine management dialog (to enable/disable renderers, _change their order of preference_, and perhaps associate specific renderers with specific file extensions) - remove current buttons to enable/disable engines (this can be done from the abovementioned dialog) - 'flatten' current "preview engine" menu with a series of buttons, one for each engine. Each button will show a menu with the renderers that engine supports. ## Later versions * Add hex viewer renderer (branch [feature/hex-viewer](timeline?r=feature/hex-viewer)) * Add preferences dialog - whether to check for updates (and how often) - when we last (successfully) checked for updates - list of WLX plugins to load * Add main menu to the preview form * Add options to change the view mode; - when showing images: 1:1 or fit to window * Add a toggle to fix the current renderer, and try to use that for all selected files * Correctly respond to pre-commands in the zbar.dat file, to prevent preview engines from locking a file when ZTreeWin wants to delete or move it. * When minimized or hidden, disable all preview handlers. * Keep track of changes in zbar.dat in a separate thread, so the user interface becomes more responsive. * Handle Ctrl-Shift-←↑→↓, Page Up/-Down, Home, End etc. (perhaps delegate that to the preview engines) - images in 1:1 view mode, scroll the image - Windows Preview Handlers: try sending WM_SCROLL messages to the handler * Add an 'About' window ## Long-term ideas * Add possibility to assign a custom shortcut (from ZTreeWin or the program itself) to each renderer * Add user interface to edit all shortcuts * Have each renderer's CouldShowFile return yes/no/maybe instead of a boolean; only show 'maybe' when it makes sense * Decouple the sentinel file, and allow other means of specifying the file to preview (modularize the input) * Handle multiple available zbar.dat files * Have renderers return a score for a specific file type, and choose the one with the best score Z 6f8aa0a7199f4d7e4be17978528f7b76