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)
The documents' metadata.rdf file is now persisted only when a scene in
the document is also persisted; as well as when the document is modified
(trashed / path changed) in the the Documents pane.
Code was cleaned-up a bit too (added a forgotten return value, etc)
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.
- Removed inheritance of UBGraphicsProxyWidget; cleaned up related code
- Added two children classes: UBGraphicsVideoItem and
UBGraphicsAudioItem. UBGraphicsMediaItem is now an abstract class.
- Better encapsulation; the Scene and other external classes no longer
access the mediaObject directly
There is now less distinction between audio and video items to outside
code: apart from the UBSvgSubsetAdaptor, there is no need to know
whether a media item holds a video or audio file. Creation is handled
through the static function `UBGraphicsMediaItem::createMediaItem(URL,
parent)`
Caused by one occurence of "uniboardtool" having been replaced by
"OpenboardTool" instead of "openboardtool".
For consistency's sake, this was changed to openboardtool, but these URL
/ application name changes require a clean-up (all occurences of
"uniboardtool" are commented out; these should either be removed, or the
changes reverted)
The project didn't compile on Windows.. list of modifications:
- Added essential changes that hadn't been committed / pushed (Qt4->Qt5
changes; other misc. changes by Abdel)
- Temporarily disabled podcasts, as the modules don't compile with Qt5.2/
5.5
Currently, the application compiles on Windows, with MSVC2010 32-bit
Due to QWidget::showFullScreen having side-effects on OSX (setting the
dock and menubar to autohide, making it impossible to then set them as
hidden), the calls to that method were replaced with
UBPlatformUtils::showFullScreen(QWidget *). This function then calls
QWidget::showMaximized() on OSX, or QWidget::showFullScreen() on Linux
and Windows.
It is currently still impossible to switch smoothly between showing or
hiding the dock on OSX; current behaviour is to hide it all the time,
even in desktop mode.
Application compiles and runs, with some caveats. Full list of changes:
- minor changes related to Qt4->Qt5 API differences
- Replaced calls to Carbon framework by Cocoa
- Removed registering of AE event handler. Seems to be done
automatically in Qt5.
- temporarily removed Podcast functionality, pending (presumably)
complete re-write due to Quicktime being obsolete in newer OS X
versions.
- Created OBCocoa namespace, and associated files src/core/OBCocoa.h/.mm, to
handle OS X - specific system calls. Currently used only by
UBApplication, but can in the future provide a useful interface between
the cocoa framework and OB, to avoid having too much OSX-specific code
in various files