aboutsummaryrefslogtreecommitdiff
path: root/libqmatrixclient.pri
AgeCommit message (Collapse)Author
2018-08-03Refactor event itemsKitsune Ral
* TimelineItem and a newly introduced PendingEventItem are now inheriting from the common EventItemBase class * PendingEventItem has its own status and annotation, serving to track transition of the item through pending states
2018-07-27Initial support for local echoKitsune Ral
The Room class has gained a new internal container, unsyncedEvents, storing locally-created Event objects that are about to be sent or are sent but not yet synced. These objects are supposed to be complete enough to be displayed by clients in a usual way; access to them is provided by Room::pendingEvents() accessor. A set of pendingEvent* signals has been added to notify clients about changes in this container (adding, removal, status update). Yet unsent events don't have Event::id() at all; sent but yet unsynced ones have Event::id() but have almost nothing else except the content for now (probably a sender and an (at least local) timestamp are worth adding). Also: SendEventJob is removed in favor of GTAD-generated SendMessageJob.
2018-07-22qmake: use object_parallel_to_sourceKitsune Ral
2018-07-19qmake/CMake: Add lib/application-service/definitions/*Kitsune Ral
2018-07-04Break down event.* into smaller filesKitsune Ral
We now have event.*, roomevent.*, stateevent.* and eventloader.h. If you only use event leaf-classes (such as RoomMemberEvent) you shouldn't notice anything.
2018-07-01CleanupKitsune Ral
2018-06-04converters.*: FixesKitsune Ral
Qualify functions properly; add converters.* to libqmatrixclient.pri
2018-05-28Move out prettyPrint() from Room to util.hKitsune Ral
So that it could be used outside of room context.
2018-05-06Remove unused job classes.Kitsune Ral
2018-05-06Optimise #includes, eliminate some excess blank lines in lib/csapiKitsune Ral
2018-05-04New home for the generated code - lib/csapiKitsune Ral
2018-05-04Preempt job/setroomstatejob.* with jobs/generated/room_state.*Kitsune Ral
The template part (not exposed in the auto-generated class) goes to Room::Private::requestSetState(). Also, Room::setMemberState() to interface with User class.
2018-05-03Preempt jobs/joinroomjob.* with jobs/generated/joining.*Kitsune Ral
Enables responding to third-party invites.
2018-05-03GetRoomEventsJob (replaces RoomMessagesJob) + refactoringKitsune Ral
1. Updates in this commit (see further) allow to generate and build GetRoomEventsJob from message_pagination.yaml; this job completely preempts RoomMessagesJob. 2. EventsBatch<> is no more a thing; there's EventsArray<> to replace it but it's loaded from a JSON array rather than an event batch (a JSON array inside another JSON object). SyncJob that used it extensively has been moved to "conventional" containers (Events, RoomEvents and the newly introduced StateEvents). RoomMessagesJob that also used EventsBatch<> is decommissioned (see above). 3. RoomEventsRange is now an alias for Range<RoomEvents>, defined in util.h (otherwise almost the same). 4. Connection::getMessages() is no more. Use Room::getPreviousContent() and Connection::callApi<GetRooMEventsJob>() instead. 5. Moving things around in Room, since SyncJob now supplies state events in more specific StateEvents, rather than RoomEvents.
2018-04-30Build systems: add jobs/generated/definitions to the mixKitsune Ral
2018-03-31Make and install CMake config package; provide examples/CMakeLists.txt using itKitsune Ral
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/).
2018-03-24Introduce DirectChatEvent (parse only, no processing yet)Kitsune Ral
2018-03-05Support server-side read marker (m.full_read)Kitsune Ral
Closes #183. There's also the m.read part but it can be done sometime later, as it's pure optimisation.
2018-03-05ReadMarkerEvent; TagEvent remade with less boilerplate codeKitsune Ral
tagevent.h -> accountdataevents.h now has a macro to define more simplistic events along the lines of simplestateevents.h but inheriting from Event instead. TagEvent and ReadMarkerEvent(m.fully_read) are defined using this macro. ReadMarkerEvent is also wired through event.* (but not further yet).
2018-02-26TagEvent: m.tag events parsingKitsune Ral
Using them in rooms and connection comes in the next commit.
2018-02-01Make qmake warning spec compatible with msvcRoman Plášil
2018-01-14DownloadFileJobKitsune Ral
Instead of exposing a QIODevice as GetContentJob does it gets a filename and saves the incoming payload into it.
2018-01-14BaseJob::Data -> RequestData; support QIODevice* input/outputKitsune Ral
2017-12-30QMatrixClient::NetworkAccessManager (singleton Qt NAM that remembers ignored ↵Kitsune Ral
SSL errors) Closes #145.
2017-12-26NetworkSettings: store proxy configurationKitsune Ral
No credentials, just type, host, and port.
2017-12-25qmake: Use QMAKE_CXX_FLAGS_WARN_ON rather than QMAKE_CXX_FLAGSKitsune Ral
Because the damn thing puts QMAKE_CXX_FLAGS before what's put by CONFIG, and CONFIG injects -W -Wall that cancels -Wno-unused-parameter.
2017-12-25qmake: Use the compiler specified in the environment; revert to CONFIG += c++14Kitsune Ral
qmake doesn't follow standard CC and CXX environment variables and its CONFIG produces CXX_FLAGS added after QMAKE_CXX_FLAGS. Big thank you to The Qt Company :-|
2017-12-25qmake: Use -std=C++14, not -std=gnu++1y substituted for CONFIG += c++14Kitsune Ral
2017-12-25Polished warnings configurationKitsune Ral
The whole thing should go without or almost without warnings with GCC and with Clang (MSVC is another story and I don't care about it much).
2017-12-25Fix CIKitsune Ral
Old GCC was still invoked; qmake-based builds weren't switched to C++14.
2017-12-10RedactionEvent and RoomEvent::redactedBecause()Kitsune Ral
A RoomEvent now has an optional pointer to a RedactionEvent that is non-null if the room event is redacted. transactionId and serverTimestamp are only filled if the event is not redacted. There's no way to construct a redacted event as of yet.
2017-11-01StateEvent; EventContent::SimpleContent; event types refactoringKitsune Ral
* StateEvent<> is a new class template for all state events. It provides a uniform interface to the state content, as well as a means to serialize the content back to JSON. In addition, StateEvent now parses the "prev_content" JSON object, so one can refer to the previous state now (a notable step to proper reflection of state changes in the displayed timeline in clients). * EventContent::SimpleContent, together with StateEvent<>, forms a generalisation for simple state events, such as room name, topic, aliases etc. that boil down to a single key-value pair. DECLARE_SIMPLE_STATE_EVENT is a macro defined to streamline creation of events based on SimpleContent, providing API back-compatibility for events defined so far. As a result, a very concise simplestateevents.h replaces all those room*event.* files. * Event/RoomEvent::fromJson() code is squeezed down to plain type lists passed to makeIfMatches() "chained factory" function template. TypeId is mandatory for an event type to be included into that factory. * Event::toTimestamp() and Event::toStringList are completely superseded by respective fromJson<>() converters.
2017-10-27Support m.room.avatar eventsKitsune Ral
The events are detected in /sync output, and avatars for rooms are loaded from respective URLs. Clients can use Room::avatar() method to request a pixmap of a certain size, and react to avatarChanged() in order to update the UI when new pixmaps/avatars arrive. avatarChanged() signal is overloaded with two tasks - the first firing merely indicates that a new avatar is available (without actual pixmap yet available) while the second firing means that an actual pixmap has arrived (all this is entirely transparent for clients, they just should update their pixmaps from Room::avatar() every time when Room::avatarChanged() is emitted).
2017-10-27Fixed building with qmakeKitsune Ral
2017-10-20Better support of qmakeKitsune Ral
qmc-example.pro added; better CONFIG for libqmatrixclient; refreshed files list. Closes #104
2017-10-20Try using wildcard for qmake project fileRoman Plášil
2017-09-23Update qmake build fileRoman Plášil
2017-06-27Enable sending RoomMessageEventsKitsune Ral
1. PostMessageJob is now SendEventJob, which reflects two things: first, it's a PUT instead of a POST (POST for /send is not supported by the latest spec anyway), so that we could enable tracking transaction ids for local echo in the near future; second, it's no more just about messages, the job can support sending any room events (topic changes etc.). 2. Room::postMessage() now uses the new RoomMessageEvent API to send m.room.message events.
2017-06-02Fix qmake compilationRoman Plášil
2016-09-13Update libqmatrixclient.priDavid A Roberts
2016-07-26Update libqmatrixclient.priDavid A Roberts
2016-04-11Rename package.priDavid A Roberts