### TODO - v0.37, 17-SEP-2012

Known bugs and restrictions

- The built-in joystick GUI control includes support for trackballs -- this is completely untested due to the lack of controllers with trackballs (it should basically work, but be prepared for bugs and unexpected behavior).
- The icon sizes of all menu actions are not adjusted to the actual font size -- this is a Qt restriction, and I have not yet found a way to work around this restriction... however, it's just a minor/cosmetic issue.
- On UNIX / X11 platforms, the QMC2 variant launcher will try to raise a probably already running other variant -- this feature is very dependent on the window manager which may decide to ignore XMapRaised().
- MAME/MESS output notifiers are not supported on Windows yet.
- The built-in MiniWebBrowser has a fairly restrictive set of features which is tailored to the uses of QMC2. It's not even meant to be a full-featured browser, even though it meanwhile supports most of the typical browser-functions.
- Depending on the complexity of a style / style sheet combination, it may slow down GUI operations (that's no bug, but you should note it).
- X11 only: Embedded emulators that change their display sizes at runtime (usually during startup) may not always be centered correctly.
- Both the 'set repair' and 'set rewriter' functions (ROMAlyzer features) only work on ZIPs! As of yet, there's no support for CHDs or ROM sets stored as unzipped files in individual sub-directores.
- Due to a Qt restriction, a QTabWidget's corner-widget (if any) is only shown when the tab-position is either 'north' or 'south'.
- Windows only: There's a known issue for embedded emulators running in Direct 3D mode ('-video d3d'): full-screen switching will lead to a crash of the emulator. To work around this, you have to release the emulator first; you can re-embed it later from the emulator control panel.

Work in progress

- Adding a Swedish translation -- thanks to Daniel Nylander
- Adding a Greek translation -- thanks to Kostas Albanidis
- Adding a stand-alone CHDMAN GUI (see tools/qchdman/)
- Adding an Italian translation -- thanks to Stefano Cereda
- Adding a Romanian translation (mostly done) -- thanks to Mihai Boisteanu
- Adding a set rename tool to the ROMAlyzer which uses the -listxml outputs from both the old and the current emulator to gather the changes automagically
- Adding support for an optional ROM/CHD database which can be used to store unique copies of all (good) ROMs and CHDs and to retrieve complete sets from it to a local path -- among other things, this can be used to keep different versions of individual ROM/CHD files (due to changing sets) or to just keep your local ROM path clean
- Arcade mode: partially working, disabled by default (use "make WIP=1 ..." for a preview) -- development frozen: a complete rewrite using QML / QtDeclarative is planned

Planned changes, new features and improvements

- Consider adding a built-in PDF reader to directly support system documentation, i. e. AntoPISA's manual collections (would require 'libpoppler' or similar, though, as Qt doesn't include PDF rendering capabilities natively)
- Add YouTube protocol 3.0 support (currently 'experimental')
- Add a nicer 'quick-search' function (replacing the default keyboard-search implementation inherited from QAbstractItemView) to all 4 game/machine list views and the software-list views including a pop-up editor to display and customize the search string
- Add support for persistent cookies to the MiniWebBrowser
- Add extended (reg-exp) filtering for any textual data in any available game/machine list column
- Add support for state-checking & -caching of software-list entries
- Add a driver column to all game/machine-lists
- Add support for multiple images per image category
- Add support for 3D arcade cabinet models from the 3D Arcade project
- Add support for 7z-compressed ROMs to the ROMAlyzer and file-chooser
- Add support for optional coloring of some game/machine list item cells, especially for the driver status column
- Add support for command.dat from http://home.comcast.net/~plotor/
- Allow filtering by category in demo-mode
- Consider adding embedder support on Mac OS X through QMacCocoaViewContainer which can be used to wrap a native NSView (help appreciated!)
- Add a 'record a video' dialog to make the creation of emulator session videos an easier task
- Allow changing the order and visibility of any 'special' widgets (emulator & front-end logs, emulator control, audio player and downloads + tabs on the software-detail widget)
- Add support to hide/show specific categories in both major game lists when the use of catver.ini (MAME/UME) and/or category.ini (MESS/UME) has been enabled
- Add an option to allow for automatic switching to the last viewed detail of each game/machine (do we really need that?)
- Add support for launching emulators in record & playback modes (input recording/playback)
- Morph game/machine favorites, play-history and search results into tree-widgets (like the game/machine list views) and let the user categorize his/her favorites freely
- Add ability to restore, reset (to default), export, import and/or apply individual emulator options by adding a column with respective action (tool) buttons that are enabled/disabled according to the option's current ini-state (import/export are always available)
- Add a backup / restore tool for QMC2's configuration and caches (though it's a trivial task, see Q2.17 in the FAQ)
- Add export / import functionality for YouTube video attachments (to allow for merging of videos found by different people, or to backup / restore discovered videos)
- Add a high-score database
- Add a joystick & keyboard configurator for MAME and MESS
- Add support for MAME/MESS output notifications on Windows
- Add support for even more game/machine images (hiscores, howtos, ...)
- Create an improved setup wizard with QWizard
- Extend the template syntax to include the version an option was added/removed and process such options only if the current MAME/MESS version lies within this range (both new attributes will be optional, though, meaning that if they are omitted QMC2 will process the respective option regardless of the current MAME/MESS version -- just as it works now) (do we really need that?)
- Update MAWS quick download links: the cabinet artwork URLs are no longer found (since the latest MAWS site changes) (MAWS is down for quite some time now... if things don't change, we might drop/replace this feature)