aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-25ReceiptEvent: code cleanupKitsune Ral
2018-02-24Merge branch 'kitsune-room-specific-userinfo'Kitsune Ral
2018-02-24User: store avatars on the heap; use two containers to store ↵Kitsune Ral
avatars-to-rooms mapping Because they are uncopiable, unlike pointers to them; and a combination of QHash of avatars and a QMultiHash of rooms is much more convenient than a std::vector<std::pair<...>>.
2018-02-24User/Room: signal that a user/member is about to change the nameKitsune Ral
Enables to address QMatrixClient/Quaternion#284. Also fixes a gibberish condition in Room::Private::renameMember() that led to improper warnings and a too early return.
2018-02-24Support per-room user traitsKitsune Ral
User::Private stores two new maps (for display names and avatars respectively) and is able to retrieve and store names/avatars on a per-room basis. The "most used" trait is stored separately and room lists are not kept for it (because most people have a single name and a single avatar across all or most rooms). TODO: The avatar container should be replaced with something less clumsy; the current code doesn't even compile with MSVC. A "handle" copyable structure that would hold the Avatar is one of options. Closes #141.
2018-02-24Don't copy event content in accessorsKitsune Ral
2018-02-23Room: user() and memberJoinState(); code cleanupKitsune Ral
Room::user() came instead of Room::Private::member() and memberJoinState() came instead of Private::hasMember.
2018-02-23Avatar: provide common logic for uploading; don't store ConnectionKitsune Ral
Although the setting part of the work is class(User or Room)-specific, the uploading part is common, so Avatar provides it now. Also: there's no need to store Connection, as it's only used in get() and upload() - just pass it as the parameter to the methods.
2018-02-23RoomMemberEvent: make it sendableKitsune Ral
To do that, both RoomMemberEvent and MemberEventContent got respective constructors. Also: the fallback value for unknown _received_ membership types is now Undefined; it's not allowed in member events for sending (will fail on assertion now) because the server requires membership to be explicitly set.
2018-02-23BaseJob: In case of 4xx errors, fill the status with the message from the ↵Kitsune Ral
response
2018-02-20BaseJob: added Abandoned statusKitsune Ral
For a very brief period between calling BaseJob::abandon() and deletion of the job object.
2018-02-19Fix a typo in the previous commitKitsune Ral
A symptom that you suffered from it is you don't see any usernames whatsoever, and after restarting room names are also gone (to fix that, delete cache files).
2018-02-07RoomEvent/RoomMemberEvent: do not store what can be calculated on the flyKitsune Ral
Basically, segments of originalJsonObject() are used as-you-go instead of parsing them upon event creation.
2018-02-07MediaThumbnailJob::parseReply: Do not ignore underlying errorsKitsune Ral
2018-02-05Merge pull request #170 from QMatrixClient/kitsune-expose-download-urlsKitsune Ral
Expose download URLs
2018-02-03Merge branch 'kitsune-expose-download-urls' into kitsune-gtadKitsune Ral
2018-02-03Room: urlToDownload() and urlToThumbnail()Kitsune Ral
Closes #168.
2018-02-03thumbnailInfo() for event content classes and RoomMessageEvent: hasThumbnailKitsune Ral
2018-02-03DownloadFileJob, MediaThumbnailJob: augment generated makeRequestUrl() methodsKitsune Ral
2018-02-03jobs/generated: Generate job-specific makeRequestUrl() methodsKitsune Ral
2018-02-03BaseJob::makeRequestUrlKitsune Ral
A static method that constructs a request URL for this job and the passed set of parameters.
2018-02-03GTAD: Generate job-specific makeRequestUrl() methodsKitsune Ral
2018-02-03BaseJob::makeRequestUrlKitsune Ral
A static method that constructs a request URL for this job and the passed set of parameters.
2018-02-03Merge branch 'master' into kitsune-gtadKitsune Ral
2018-02-02Add CII Best Practices badge to the flair sectionKitsune Ral
2018-02-01On Windows, make sure the downloaded file has a proper extensionKitsune Ral
Closes #287.
2018-02-01Log transferred bytes in PROFILER categoryKitsune Ral
2018-02-01Room::fileNameToDownload: get a sensible initial name for the file pickerKitsune Ral
Works (at least, should work) with both Qt Widgets and QML.
2018-02-01Merge pull request #167 from Quiark/masterKitsune Ral
Move forgetRoom over to slots #166
2018-02-01Move forgetRoom over to slots #166Roman Plášil
2018-02-01Merge pull request #164 from Quiark/masterKitsune Ral
Make qmake warning spec compatible with msvc
2018-02-01Make qmake warning spec compatible with msvcRoman Plášil
2018-02-01Add GCC 4.9.2 to the workaround path for FileTransferInfo codeKitsune Ral
Closes #161. Doesn't make GCC 4.9.2 officially supported but libqmatrixclient can be compiled with it as of now.
2018-02-01AppVeyor CI configurationKitsune Ral
Compared to the (very similar) Quaternion project configuration, this one adds qmake-based building with MSVC 2017 (MSVC 2015 can be added if anybody needs it).
2018-01-31Connection::createdRoom() signalKitsune Ral
2018-01-30Merge branch 'kitsune-create-room'Kitsune Ral
Closes #34.
2018-01-30User: Fixes in newly introduced methodsKitsune Ral
2018-01-30User: Fixes in newly introduced methodsKitsune Ral
2018-01-30Fix compilation with ClangKitsune Ral
Did two QChar::isDigit() overloads, one static and one member, confuse it?
2018-01-30Fix compilation with ClangKitsune Ral
Did two QChar::isDigit() overloads, one static and one member, confuse it?
2018-01-30Room: setName(), setCanonicalAlias()Kitsune Ral
2018-01-30Fix compatibility with Qt before 5.10Kitsune Ral
2018-01-30Fix compatibility with Qt before 5.10Kitsune Ral
2018-01-30Connection: expose the list of users; use an ordered mapKitsune Ral
It's still an open question whether it's better to store a separate sorted index of users, next to an unsorted one; but a sorted list of users is of much more use in GUI than an unsorted one.
2018-01-30Connection: more Q_PROPERTYs, newUser signalKitsune Ral
2018-01-30Connection::createRoom and Connection::createDirectChatKitsune Ral
2018-01-30Connection class cleanupKitsune Ral
createRoom and createUser renamed to roomFactory and userFactory (because createRoom will mean a different thing); unneeded #include moved to the cpp file.
2018-01-30CreateRoomJob: Update to the latest Spec versionKitsune Ral
2018-01-30User: fullName, isGuest, better doc commentsKitsune Ral
User::fullName() is used in Room::roomMembername now. That string construction may be further cached now if it ever becomes a bottleneck.
2018-01-30RequestData: use autoKitsune Ral
Should improve compatibility with compilers that don't like conversions between different std::unique_ptr<> types.