This fixes an issue where if one document was imported with a different
DPI than the current one, any document created thereafter would have
this same value (which could then cause problems if a PDF was added to
that new document).
Saving this value to UBDocumentProxy not only makes more sense, it also
fixes this issue.
The previous solution didn't really have any effect; only a handful of
settings were in the mUserSettings or mAppSettings at the moment it was
called. The better solution is to just call value() in the constructor
of UBSetting, which means the setting is cached as soon as it is
created.
- Defined constants in UBSettings for highlighter preview circle colors
- Switch between light and dark colors when changing backgrounds
- For eraser: use color settings that were defined in UBSettings (they
were ignored since the preview circle was added)
Some settings were changed between v1.02 and 1.10 (current), and some
of these changes cause OpenBoard to crash at launch. This commit adds
a function to check for these specific new settings, and wipe the old
values if they are found.
This avoids problems when the user upgrades from 1.02 without deleting
their configuration file.
(This is an alternative to having a post-install script, which would be
ineffective in a multi-user configuration)
This should cut down on disk access. Instead of loading and saving
settings directly through QSettings instances (which occasionally
read and write to their associated file; but there is no way to control
how often this happens), they are now added to a QHash for in-app
access.
Save() and load() functions were also added to enable manually saving
the settings, and loading all settings from file, respectively.