miruka
4752abf6e5
Add a batch set_fields method to Model
2020-07-10 13:14:17 -04:00
miruka
0a2d274824
Add verified devices indicator to room header
2020-07-10 13:14:17 -04:00
miruka
7f66ebb786
Re-add local highlights similar to 0.5.0
2020-06-26 05:59:16 -04:00
miruka
aa8dbce3a7
Re-add local unread "counter" similar to 0.5.0
2020-06-26 05:59:11 -04:00
miruka
3791a08eea
Terminology: room mention count → highlight count
2020-05-31 19:13:19 -04:00
miruka
7b5aa8ffe1
Store room member read markers in model
2020-05-31 00:38:48 -04:00
miruka
b399de6776
Remove account collapse bug workaround
...
Unable to reproduce the bug where collapsing an account with lots of
rooms corrupts the ListView, did updating to Qt 5.14.2 do something?
With the workaround removed, the 0.2s delay when removing batch of
ListView items (e.g. when filtering) is gone.
2020-05-30 23:08:21 -04:00
miruka
de894ab4bb
Protect proxy/filter models with write_lock
2020-05-30 23:08:21 -04:00
miruka
c0118c4e28
Rename Model._write_lock → Model.write_lock
2020-05-28 14:13:14 -04:00
miruka
c8f3a4937c
Fix potential exceptions on AllRooms model __init__
...
Calling super().__init__ may result in source model items being added,
which needs the self.account and self._collapsed attributes to
already exist.
2020-05-22 16:47:15 -04:00
miruka
b3b12014ee
Workaround collapsing large account ListView bug
2020-05-22 07:31:00 -04:00
miruka
8c9b5267e9
Update and add missing new docstrings
2020-05-21 20:45:15 -04:00
miruka
66f9a17111
No need for origin_*body Event keys
...
Also fixes lack of original message text when
replying to non-message events.
2020-05-20 06:38:25 -04:00
miruka
fb35a6ec14
Implement replying to event in backend
2020-05-20 06:19:13 -04:00
miruka
63af4be1e2
Defer fetching user profiles for events
...
Previously, events for which the sender, target (state_key) or remover
was missing from the room members would have their profile fetched
from network when registering the event into models.
This could cause very slow past events loading times for rooms, since
the event registering function (which contained the profile retrieval
directives) is run sequentially event-by-event.
Missing profiles are now lazy-loaded when events come into the
user's view in the QML timeline.
2020-05-20 03:42:40 -04:00
miruka
dfd7d509a4
Fix item losing its parent model when filtered out
2020-05-15 20:56:23 -04:00
miruka
bbb74b7b90
Remove nio <0.11 asdict workaround
...
Mirage 0.5.0 requires nio 0.11+
2020-05-15 20:56:23 -04:00
miruka
9b5b3a9f06
Support a order
key for accounts in config
2020-05-15 20:56:23 -04:00
miruka
eff203032c
Python implementation of account collapsing
2020-05-15 20:56:23 -04:00
miruka
4d3c26abd4
Gather both Accounts and Rooms in all_rooms model
2020-05-15 20:56:23 -04:00
miruka
97fdc214dd
No need for special model attributes in Backend
2020-05-15 20:56:23 -04:00
miruka
f4dca1c2c9
Fix SyncId type hint & remove debug prints
2020-05-15 20:56:23 -04:00
miruka
37a9332aed
Python filtered models for room members
2020-05-15 20:56:23 -04:00
miruka
200f25d23e
Python filter for AccountsBar
2020-05-15 20:56:23 -04:00
miruka
0e49b5f972
Write-lock when refiltering
2020-05-15 20:56:23 -04:00
miruka
c502aa4245
Add model batch removal optimization for filtering
2020-05-15 20:56:23 -04:00
miruka
5432958121
Working python proxy/filter for room list
2020-05-15 20:56:23 -04:00
miruka
eee198b238
Add python proxy/filter models
2020-05-15 20:56:23 -04:00
miruka
ac0907fad7
ModelItem can only have one parent model again
2020-05-15 20:56:23 -04:00
miruka
592a9fe8e7
Have id field on ModelItem base class
2020-05-15 20:56:23 -04:00
miruka
9f7d30f248
Add account total unread/mentions indicator
2020-05-15 20:56:23 -04:00
miruka
fcf88209f2
Single room list approach, account bar scrolls
2020-05-15 20:56:23 -04:00
miruka
393a56a50a
Model items can now have multiple parent models
2020-05-15 20:56:23 -04:00
miruka
fd8cf4ad8d
Optimize model field replacements
2020-05-15 20:56:23 -04:00
miruka
2a0a3765fc
Add kick to room member context menu
2020-05-15 20:56:23 -04:00
miruka
4f8dc98d13
Sort mentioned/unread rooms by last event date
2020-05-15 20:56:23 -04:00
miruka
0ba8c6eecf
Make all events able to increment unread/mentions
2020-05-15 20:56:23 -04:00
miruka
f3aa9f0c5f
Sort rooms with mentions, then unreads first
2020-05-15 20:56:23 -04:00
Emi Simpson
6ee20a2717
Added limited local read/unread tracking
2020-05-15 20:56:23 -04:00
miruka
4bae3cf90e
Fix AttributeError with matrix-nio 0.11+
2020-05-14 13:58:34 -04:00
miruka
f8fe5d812b
Imrpove redacted events text
2020-04-03 07:53:36 -04:00
miruka
05319af858
Redaction code adjustments + theme addition
2020-04-03 07:53:36 -04:00
vSLG
e60a7f6dac
Make "Remove" option conditional in context menu
...
Refactor code in the backend so things can work
better
2020-04-03 07:53:36 -04:00
vSLG
fc878e7537
Fix event redaction and remove junk code
2020-04-03 07:53:36 -04:00
vSLG
db1afc980e
Add RedactionEvent support on backend
2020-04-03 07:53:36 -04:00
miruka
688f36b7f1
Event: add [(text, link)] mentions attributes
2020-03-23 15:39:14 -04:00
miruka
ef2504ecae
Visual unread mentions counter
2020-03-22 23:55:48 -04:00
miruka
8a99ccd976
Make retry_decrypt_events() work for good
2020-03-15 19:08:12 -04:00
miruka
adbe2d88ee
Fix dict changing size problem in retry_decrypt_..
...
Also add a copy() method to models, and make them able
to not have a sync_id (in which case they won't send pyotherside
events).
2020-03-15 19:08:12 -04:00
miruka
77d877047b
Update docstrings
2020-03-12 14:41:00 -04:00
miruka
e8d4823227
Unset parent_model when deleting item in model
2020-03-12 13:28:30 -04:00
miruka
46f3f15694
Fix cached thumbnails extensions
2020-03-09 12:10:04 -04:00
miruka
61cc87cf18
Show max file size on upload button tooltip
2020-03-09 09:57:53 -04:00
miruka
d1e42a72a0
Fix upload pause/cancel
2020-03-08 07:34:38 -04:00
miruka
ce0a868579
Refix Event.source, JSONify dicts for ListModel
2020-02-12 14:14:09 -04:00
miruka
9a0969adf5
Fix Event.source for messages we send
2020-02-12 08:10:59 -04:00
miruka
f922204644
Optimize Model insertions (blist + bisect)
2020-02-12 07:43:03 -04:00
miruka
7020706ff1
items.py: rebase fix
2020-02-12 06:27:21 -04:00
miruka
e982de1c61
Make Event.inline_content & links pure attrs
2020-02-12 06:21:43 -04:00
miruka
8a29143b60
Working Event.event_type & source fields
2020-02-12 06:19:49 -04:00
miruka
b992db9bfe
Use typing.TYPE_CHECKING to avoid inner imports
2020-02-12 05:56:18 -04:00
miruka
a653a6160a
Get SortProxyFilterModel stuff working?
...
Came back from a break and forgot what I was fixing
2020-02-12 05:56:18 -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
44e5de02f8
font color → span mx color for outgoing HTML
...
Also remove HTML_PROCESSOR `filter_inline` and `from_markdown_inline`
methods. `filter` and `from_markdown` now take an `inline` argument.
2019-12-22 09:35:21 -04:00
miruka
aaa8411cb9
Room.last_event: be an Event instead of dict
2019-12-19 16:52:21 -04:00
miruka
fb1f9c62e5
Add SPDX ID LGPL v3+ license headers
2019-12-19 07:46:16 -04:00
miruka
e6541cd767
Document model.py
2019-12-18 16:41:51 -04:00
miruka
6fa2d91b69
Simplify and document ModelStore
2019-12-18 16:24:25 -04:00
miruka
5f1044e96a
Document model items
2019-12-18 15:00:34 -04:00
miruka
d7045644f1
Rename and document html filtering stuff
2019-12-18 09:33:22 -04:00
miruka
2bdf21d528
Rename some filers and folder for clarity
2019-12-18 04:45:09 -04:00