summaryrefslogtreecommitdiffhomepage
path: root/options/group.hpp
AgeCommit message (Collapse)Author
2016-09-16gui/main-window: exit program when config not writableStanislaw Halik
Note, it opens the config in read-write mode to check if it's writable. This might present a race condition when config is saved. However, we're expecting all config saving to be done in the user interface thread. Add a check for it however.
2016-09-09add support for migrationsStanislaw Halik
They're run from the UI thread so can even be interactive.
2016-08-25options: use non-generic comparison for bundle modification checkStanislaw Halik
The generic QVariant comparison works badly for QList<QPointF>. Create a comparator between two QVariants for base_value in value<tp> ctor, using QVariant::value<tp> which returns right results once it's converted to tp. If a value was registered for a name in a bundle, use that comparator as the comparator for that name. In case conflicting value types were registered always use generic comparison for that name. std::type_index needs to be used here since value<t> can be instantiated in different modules (libraries), resulting in different value for the comparator function pointer. Move group::operator== to bundle type to avoid circular include for connector.h. Also use element_type more consistently in value<tp>.
2016-08-17options: support deferred writes when saving bundlesStanislaw Halik
The mapping window has 13 bundles total in use. Setting them all can take up to a large fraction of a second on some windows filesystems. Do a single config write instead.
2016-08-17move options framework into its own libraryStanislaw Halik
- adjust usages - add support for QList signals and metatype