Web results still show the details which include some metadata about the
image retrieved, for example.
This is now a setting so it can easily be re-enabled if desired (which
could be useful especially if we decide to also display metadata of
local items)
Distance between the last drawn point and the current point is
calculated to be able to discard very short stroke segments (i.e we only
add to the current stroke if the input device has moved more than a
certain distance since the last drawn point).
This commit moves this code from the stroke to the scene, which allows
to calculate distance more accurately: it is now calculated as the
total, absolute distance traveled since the last point, rather than simply the
length of a line between the last point and current one.
This solves an issue where erasing a stroke to the point that only one
(truncated) polygon was left resulted in this polygon reappearing after
reloading the document.
This should not affect any strokes containing more than one polygon.
Previously, items such as audio, video, and widget items could not be
cut and pasted because when the page was saved, any item that had been
deleted was permanently removed (including its source file, in the case
of these mulitmedia items).
This commit prevents the deletion any item in the undoStack
(i.e, items that have been deleted) when the document is persisted,
meaning the source file is still available when pasting the item on
another page (or document).
Note that this can lead to cases where the source file is kept in the
document even when no item is present. This should be a relatively rare
occurence, however.
This ensures that when part of a line is erased,
`UBGraphicsStroke::isNominalLine` will no longer return true. This was
problematic as `UBSvgSubsetAdaptor` uses this to know whether or not to
save a stroke as polyline.
If it saves the stroke as a polyline, then the erased portions of the stroke
reappear after saving.
Therefore, we now force saving of the stroke as a group of polygons when it
has been partially erased.
This mainly changes document mode behaviour in two ways:
1) When deleting 2+ items, a new document was selected in the list. Now, the current document is selected,
or if it has been deleted, a the first document in the list is set as
current document.
2) When deleting the last item in the trash, no document was selected.
Now, the current document is selected instead.
Issue observed was that OpenBoard would crash on some Windows systems
when a video was on the page and that page was saved (due to switching
to document mode, auto saving, or duplicating the page), or when cutting
the video with Ctrl-X.
This was due to QTBUG-32522, where setting the video output for a
QMediaPlayer that is hidden results in a crash.
This commit is a work-around for this Qt issue, and so should be reverted
if and when the upstream issue is fixed.
This fixes two related issues:
1) When taking a partial screenshot of the desktop, then copying it
(Ctrl-C) and pasting it in a new document, it was not saved
2) When a page of one document was copied into another (in document
mode, by dragging the page onto another document), media files
disappeared from the new page.
In some cases, export of a document containing a PDF background to PDF
caused the contents to be truncated.
The "simple" PDF exporter will now set the output page size to be equal
either to the document nominal size or, if the document has a background
PDF item, to the size of this item.
This code was lifted from Open-Sankoré 2.10.
This fixes an issue where erasing part of a stroke that had been moved
or rotated, then clicking "undo" then "redo" would place part of the
stroke in the wrong place.
We can (again) check for updates and, if an update is available, send
the user to the site to download them.
The old format (a .json specifying a version number and download URL)
was kept. The address for this file is now specified in the settings.
Images (UBGraphicsPixmapitem and UBGraphicsSvgItem) can be set as
background via the menu on their frame. Currently, the image is first
centered and un-transformed before being set as background.
The option in the frame appears for any UBGraphicsItem for which
`data(UBGraphicsItemData::ItemCanBeSetAsBackground)` is true.
This is (currently) only enabled for image items.