15 Commits

Author SHA1 Message Date
miruka
1df7cb8014 Add copyright header to source code files
Copyright notice as per
https://reuse.software/spec/#format-of-copyright-notices

Fixes #134
2021-03-03 17:12:08 -04:00
miruka
df3f1fb645 Remove all Backend "get_any_client"-using methods
thumbnail() and download() were remaining.
Use a direct and carefully chosen MatrixClient's methods instead to
avoid problems mentioned in the previous commit 7502c1.
2020-08-24 09:54:43 -04:00
miruka
db5d9b57f8 RoomDelegate subtitle: lazy-fetch missing profiles 2020-07-27 04:32:00 -04:00
miruka
d127ad978c Correctly handle initial sync member events
Previously, member events in initial syncs (unless user had "hide member
events" and "hide profile events" set to false in their config) were
completely discarded with the help of a sync filter, instead of simply
being hidden like events loaded from room backfilling.

This was done due to the common case of rooms getting only
userconfig-ignored/hidden events on startup (especially with the
low number of initial events requested for lazy initial sync),
and thus having nothing to show as "last message" in
the room list (room delegate subtitles).

Other problems resulted from this, like missing join/leave events
when the config was set to hide profile events but not other
member events, and the "Members not synced" (#54) in encrypted room
with recent discarded member events.

The discarding filter is no longer used. Instead, if a room in the room
list has no visible "last message" and is currently visible to the user,
messages will be lazily fetched until we find something adequate or the
room goes out of view.
2020-07-27 03:59:41 -04:00
miruka
3c7b78d4ca Reorder QML files to follow coding conventions
https://doc.qt.io/qt-5/qml-codingconventions.html#qml-object-declarations
2020-07-12 01:27:44 -04:00
miruka
12b6b74881 Disable room context menu entries while offline
Except "Copy room ID"
2020-07-10 13:15:01 -04:00
vslg
5abdc1f779 Fix changes requested (#101)
- Fix code formatting issues.
- Document `Presence`.
- Improve `Presence.__lt__()` performance by
  defining a dict outside the method.
- Make presence ball radius relative to uiScale
  and configurable from theme.
2020-07-10 13:14:18 -04:00
vslg
a3c9ac20c6 Make offline presence to stop sync
Setting the presence of an account to offline
will make the client to end sync task and will
prevent messages from being sent.

Setting it to online again or any other presence
will start sync task again.

Left:
- Local echo to presence change
- UI Control to affect all members presence
- Block more requests to be sent (e.g. member
  actions)
2020-07-10 13:14:18 -04:00
miruka
475b07793d Rename Account/Room → AccountDelegate/RoomDelegate 2020-06-26 07:20:24 -04:00
miruka
9990fecc74 Begin yet another model refactor
Use native ListModel which require a lot of changes, but should be
much faster than the old way which exponentially slowed down to a crawl.
Also fix some popup bugs (leave/forget).

Not working yet: side pane keyboard controls, proper highlight,
room & member filtering, local echo replacement
2020-01-06 03:41:14 -04:00
miruka
a1256cf20a Turn Clipboard into a singleton 2019-12-27 09:06:42 -04:00
miruka
9bd739a0db Fix focus and simplify popup-opener menu items
Introduce a HmenuItemPopupSpawner component that takes care of reacting
to onTriggered signals and calling the utils.makePopup() function.

The combination of this new component used in HMenu to open a HPopup
now correctly takes and restore focus to the right element when closed.
2019-12-20 10:30:50 -04:00
miruka
fb1f9c62e5 Add SPDX ID LGPL v3+ license headers 2019-12-19 07:46:16 -04:00
miruka
f4d7636df6 Move Chat/ dir under Pages/ 2019-12-18 04:53:08 -04:00
miruka
2bdf21d528 Rename some filers and folder for clarity 2019-12-18 04:45:09 -04:00