aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2018-04-27Fix broken User::displayName() logicKitsune Ral
Also, add an assert to Connection::user() to make sure it doesn't create users with invalid ids. Closes #201.
2018-04-27User::rawName(); bonus, bring order to doc commentsKitsune Ral
This new function allows to get the username along with its bridge (basically, undoing the change applied by processEvent for cases when it is undesirable).
2018-04-27User::processEvent: fix bridge postfix not being strippedKitsune Ral
Closes #197.
2018-04-25BaseJob::doCheckReply: catch non-HTTP errors tooKitsune Ral
2018-04-25BaseJob: rewrite error detection using genuine HTTP codesKitsune Ral
Qt Network error codes don't represent well some cases. Closes #200.
2018-04-25Avatar: don't allow null callbacks to be registeredKitsune Ral
2018-04-22Avatar: clear the list of callbacks after completion + general code cleanupKitsune Ral
2018-04-22Code reformattingKitsune Ral
2018-04-16ConnectionsGuard<> template to automatically disconnect subscribersKitsune Ral
Case in point is a room list model (so far in Quaternion, but planned for inclusion to the lib) that stores lists of connections and rooms; upon dropping, e.g., a room from the list the model should disconnect from the room's signals.
2018-04-14jobs/generated: Overload toJson() instead of operator QJsonObject()/QJsonValue()Kitsune Ral
It slightly reduces the header interface and shortcuts the actual call chain (not that it had any performance implications, just easier reasoning).
2018-04-14Mustache templates: Overload toJson() instead of operator ↵Kitsune Ral
QJsonObject()/QJsonValue() It slightly reduces the header interface and shortcuts the actual call chain (not that it had any performance implications, just easier reasoning).
2018-04-14Mustache: {{#producesNonJson?}} -> {{#producesNotJson?}}Kitsune Ral
According to the most recent changes in GTAD.
2018-04-13Support Qt 5.4Kitsune Ral
That is until ubports move to xenial.
2018-04-13converters.h: Support QVariantMap and QVariantHashKitsune Ral
2018-04-13Merge branch 'master' into kitsune-gtadKitsune Ral
2018-04-05Unofficially relax Qt requirement to 5.5.1Kitsune Ral
This is to support uMatriks that still has to compile on xenial codebase.
2018-04-03DirectChatEvent: be careful with range-for over temporariesKitsune Ral
...because temporaries returned by temporaries tend to disappear before you enter the loop body (see the bottom of http://en.cppreference.com/w/cpp/language/range-for#Explanation).
2018-04-03More fixes from static analysisKitsune Ral
2018-04-02BaseJob: set the status upon headers arrivalKitsune Ral
So that DownloadFileJob could figure if it should save the incoming payload to the file or it's the JSON details about the error.
2018-04-02Fixes according to results of static analysisKitsune Ral
Many thanks to clang-tidy and clazy authors for the tools, and to Qt Creator developers for making them easily available in the IDE.
2018-04-02Be more cautious with rvaluesKitsune Ral
Clang on FreeBSD doesn't seem to be playing nice in Release configuration. See the comment in the committed code.
2018-04-02lookup()/dispatch() removed; unique_ptr_cast() and qAsConst() introducedKitsune Ral
qAsConst() is a copy-paste from Qt code and is only supplied by QMatrixClient if Qt is below 5.7. unique_ptr_cast<> is similar to static_cast<> of pointers but deals with unique_ptr's, passing ownership to the newly made pointer.
2018-04-02Room/Connection: accountData()/accountDataChanged()Kitsune Ral
Generic account data are at least readable now (you can get, say, pushers from the library without it even being aware of what a pusher is).
2018-04-01Pass actual changes with Connection::directChatsListChanged()Kitsune Ral
Also: provide Connection::directChats() to get the whole direct chats map.
2018-04-01BaseJob: use QDebugStateSaverKitsune Ral
...instead of copying the whole QDebug object.
2018-03-31Merge branch 'kitsune-install-target'Kitsune Ral
Closes #113.
2018-03-31Move source files to a separate folderKitsune Ral
It's been long overdue to separate them from the rest of the stuff (docs etc.). Also, this allows installing to a directory within the checked out git tree (say, ./install/, similar to ./build/).