- 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)`
When both a folder and items it contained were selected, and trashed,
the documents could sometimes be deleted twice and thus, permanently
deleted when one just intended to move them to the trash.
- When clicking a stroke, they aren't moved immediately anymore; a
certain drag distance is necessary, which makes it easy (again) to
select a stroke with a stylus (which tends to move a little as it is
clicked, hence the problem).
- Removed duplicate code; the movement is now managed by
QGraphicsItemGroup::mouseMoveEvent. This prevents use of the transform()
method to get the stroke's transformation matrix; so sceneTransform() is
used instead when copying a strokes group.
- Also fixed an oversight in UBBoardView: Media items couldn't be moved
directly anymore.
This makes it possible e.g to use the colorPicker app in conjunction
with the compass.
Colors will still be updated when one clicks the pen or marker tools.
- Modified UBvgSubsetAdaptor to correctly save and load strokes, so the
transform matrices that were saved are now loaded correctly.
- Added handling of mousePress / Move / Release events to
UBGraphicsStrokesGroup, so that the transform matrix is calculated and
stored after moving a pen stroke directly (by clicking on it, and not on
its frame). Note: this duplicates quite a bit of code that is in
UBGraphicsDelegateFrame. It may be best to go back and modify both
classes so that the same functions can be called when moving a stroke.
- Moved all platform-specific code to UBPlatformUtils
- For now, removed support (on Linux) for checking whether onboard is
running when OpenBoard is started (it wasn't working anyway, but it needs a
cleaner solution for all 3 platforms)
Presumably due to the change in how pen strokes were saved to file (commit
8ed2e24), pen strokes with pressure levels were badly saved. They were
converted to lines instead of polygons, meaning that every time a page
was saved or duplicated, the lines would look worse and worse -- and
artefacts would appear.
This should now be fixed.
- Linked necessary Windows SDK libraries
- Solved compilation errors upon including `wmsdk.h` or other Windows
SDK headers (`interface` keyword wasn't recognized)
Page DPI is now saved as the DPI that was read when opening the file.
While not a perfectly fool-proof fix, it will at least allow files to be
migrated between OB 1.02 and 1.10.