aboutsummaryrefslogtreecommitdiff
path: root/gui/recorderdialog.cpp
AgeCommit message (Collapse)Author
2020-01-04GUI: Introduce dynamic layoutsBastien Bouclet
Prior to this change, a GUI layout was only affected by the screen size. Now, a layout can additionally be influenced by the GUI dialog and widgets that uses it. This capability is leveraged to implement the following features: * Layout elements that are not bound to a GUI widget do not take space. This means that dialogs where the widgets shown depend on for example a feature being enabled at configure time no longer have blank spaces. * Widgets can define a minimal required size for their contents not to be cut. For now this is only used for buttons so their width is always sufficient for their caption not to be cut. This mechanism could be applied to other widget types in the future.
2019-11-03BASE: Change the command line interface to use engine-qualified game namesBastien Bouclet
Qualified game names have the following form: engineId:gameId. Unqualified game names are still supported as long as they are not ambiguous. However they are considered deprecated and are no longer displayed by the --list-games command.
2019-11-03ENGINES: Change targets to have an 'engine ID'Bastien Bouclet
The engine ID identifies which engine should be used to launch the target. Also remove the 'single ID' system. Different games from engines that used that system now have different game IDs. Also-By: Matthew Hoops <clone2727@gmail.com>
2018-05-10ENGINES: Change MetaEngine::findGame to return a plain game descriptorBastien Bouclet
2018-01-27GUI: Implement dirty-checking for widget redrawsBastien Bouclet
2017-12-03BASE: Remove bad casts between incompatible Plugin typesColin Snover
Previously, a C-style cast was used to convert a Common::Array<Plugin *>, populated with pointers to StaticPlugin and DynamicPlugin instances, to a Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a *sibling* class to StaticPlugin/DynamicPlugin, so this cast was invalid and the results undefined. The methods for retrieving subclasses of plugins can't be easily changed to just generate an array of temporary wrapper objects that expose an identical API which dereferences to the preferred PluginObject subclass because pointers to these objects are retained by other parts of ScummVM, so the wrappers would needed to be persisted or they would need to just re-expose the underlying Plugin object again. This indicated that a way to solve this problem is to have the callers receive Plugin objects and get the PluginObject from the Plugin by explicitly stating their desired type, in a similar manner to std::get(std::variant), so that the pattern used by this patch to solve the problem. Closes gh-1051.
2016-04-14JANITORIAL: Reduce GUI header dependenciesOri Avtalion
2015-10-11I18N: Mark additional string for translationThierry Crozat
2014-02-18GUI: Make GPL headers consistent in themselves.Johannes Schickel
2013-07-15GUI: Allow the event recorder dialog to be closed.Johannes Schickel
This is a regression from 6e4217e1ba1df9fd2ee4cd0d61151ed7dfc53021. setResult does not automatically close the dialog. However, Dialog::handleCommand will close the dialog when kCloseCmd is received.
2013-07-14RECORDER: Fix indentingSven Hesse
2013-07-14JANITORIAL: Remove trailing whitespaceSven Hesse
2013-07-14RECORDER: Fix CID 1046887. Missing break in switchEugene Sandulenko
2013-07-14RECORDER: Fix CID 1046882. Uninitalized variablesEugene Sandulenko
2013-05-17RECORDER: Implement Events RecorderEugene Sandulenko