Age | Commit message (Collapse) | Author |
|
MSVC is not good at dealing with type parameter packs of member functions, which is what the whole mixin magic in UrlBasedContent<> relied on. So it's one more level of inheritance instead of mixins now.
|
|
Closes #121; closes #122.
|
|
The whole inheritance/templating structure has been considerably simplified by using a trick with mixin classes; thanks to that, *Info classes are no more templated, they are just mixed together by the almighty UrlBasedContent<> template (but the same can easily be done outside of it, as LocationContent implementation shows). RoomMessageEvent has gained hasFileContent(); it's also possible to easily get a FileInfo core object just by calling msgEvent->content()->fileInfo().
|
|
|
|
|
|
Connection::getThumbnail(QString,...) is better fitting to retrieve
images for QML image providers - one doesn't need to create a QUrl
(which if made naively ends up being incorrect) and also doesn't need to
stack up "mxc://" before the mediaId. Just call Connection::getThumbnail
with the id the QML engine gives you.
|
|
Instead of exposing a QIODevice as GetContentJob does it gets a filename
and saves the incoming payload into it.
|
|
To support the upcoming DownloadFileJob
|
|
|
|
|
|
|
|
|
|
The whole inheritance/templating structure has been considerably simplified by using a trick with mixin classes; thanks to that, *Info classes are no more templated, they are just mixed together by the almighty UrlBasedContent<> template (but the same can easily be done outside of it, as LocationContent implementation shows). RoomMessageEvent has gained hasFileContent(); it's also possible to easily get a FileInfo core object just by calling msgEvent->content()->fileInfo().
|
|
|
|
|
|
|
|
Connection::getThumbnail(QString,...) is better fitting to retrieve
images for QML image providers - one doesn't need to create a QUrl
(which if made naively ends up being incorrect) and also doesn't need to
stack up "mxc://" before the mediaId. Just call Connection::getThumbnail
with the id the QML engine gives you.
|
|
Instead of exposing a QIODevice as GetContentJob does it gets a filename
and saves the incoming payload into it.
|
|
To support the upcoming DownloadFileJob
|
|
|
|
|
|
Fixes some signedness warnings
|
|
|
|
placeholder
An unqualified bind() seems to upset some build environments; also, use a User* value at hand instead of binding it at the moment of signal-slot triggering.
|
|
"crop" thumbnail type didn't seem to be ever used. Once GTAD is able to generate enums, the respective code will show up in GetContentThumbnailJob and this parameter can be reintroduced in MediaThumbnailJob. As of now, just rely on the default "scale" value.
|
|
|
|
properly convert numbers to strings in query
The query should be set in constructor body because there's no reason to pass non-required parameters into the query.
As for numbers to strings conversion - there was an attempt to use QJsonValue(a).toString() for that. That doesn't work; QJsonValue does not turn numbers to strings.
|
|
|
|
|
|
Enable specifying headers in the request and checking/using headers in the response.
|
|
|
|
This allows smooth pipelining of files to and from the network.
|
|
|
|
Otherwise isJobRunning() is of no great use.
|
|
Closes #149.
|
|
|
|
With all the liberty that pimpl idiom gives it's easy to get away without proper const's; but let's be consistent :)
|
|
|
|
|
|
std::bind belongs to <functional>, don't rely on implicitly including it from other standard headers.
|
|
"crop" thumbnail type didn't seem to be ever used. Once GTAD is able to generate enums, the respective code will show up in GetContentThumbnailJob and this parameter can be reintroduced in MediaThumbnailJob. As of now, just rely on the default "scale" value.
|
|
|
|
properly convert numbers to strings in query
The query should be set in constructor body because there's no reason to pass non-required parameters into the query.
As for numbers to strings conversion - there was an attempt to use QJsonValue(a).toString() for that. That doesn't work; QJsonValue does not turn numbers to strings.
|
|
Plus a bit of fooling around with linebreaks.
|
|
|
|
Thanks to the latest GTAD. initializeDefaultValue is a partial that in turn inserts a type-specific {{>initializer}} if there is a non-trivial default value.
|
|
All of these new exclusions have parameters named 'signed', 'unsigned' and 'default' which are C++ reserverd words. GTAD does not give a proper workaround for these yet (see #24) so exclude them for now.
|
|
|
|
|
|
|