miruka
5ab13e3e16
Improve SortProxyFilter, room members filtering
...
- Simplify SortProxyFilter
- Better custom filtering algorithm
- Rename "ascending" (default True) to "reverse" (default False)
- Add "Filter members" field to RoomSidePane MembersView
2019-05-16 15:39:44 -04:00
miruka
07d0515731
Sort/filter room members based on display name
2019-05-15 16:46:56 -04:00
miruka
226e9b0a85
Add missing attributes to SortFilterProxy __repr__
2019-05-15 16:03:55 -04:00
miruka
68b6899de1
Add sortedMembers to Room ListItems
2019-05-15 15:59:43 -04:00
miruka
1a4ac0f432
Make Room.members a properly updating ListModel
2019-05-14 20:20:54 -04:00
miruka
606771735a
ListModel.updateItem() ignore_roles → no_update
2019-05-14 19:44:40 -04:00
miruka
0b32bf2738
RoomEvent: eventId property, which is now mainKey
2019-05-14 19:39:31 -04:00
miruka
40a19bf570
ListModel: check for duplicate mainKey on insert
...
Also add updateAll() method
2019-05-14 19:32:52 -04:00
miruka
45c928ea17
Rename ListModel.update() to updateItem()
2019-05-14 19:06:59 -04:00
miruka
a3e080c9a0
Fix local echoed messages having a wrong time
2019-05-14 15:03:12 -04:00
miruka
6af1c0e27c
Fix history events overwriting real lastEventDate
2019-05-13 13:20:39 -04:00
miruka
2da7214af1
HListView component with animations
2019-05-13 13:15:03 -04:00
miruka
d82cb50e30
Implement room filtering
2019-05-11 17:13:53 -04:00
miruka
bb86c39fe7
Simplify SortFilterProxy init
2019-05-11 16:40:53 -04:00
miruka
bbc4c15ad3
Rework Backend, models and items organization
2019-05-11 15:52:56 -04:00
miruka
6051ba187a
Improve PyQtFuture repr
2019-05-10 20:46:07 -04:00
miruka
7ff3448fed
Improve ListModel, ListItem, SortFilterProxy repr
...
Newlines and indentation
2019-05-10 20:41:35 -04:00
miruka
76fc03e8a1
Reorder ListItems
2019-05-09 20:20:24 -04:00
miruka
17fdaf6bd6
ListModel.clear(): Do nothing if already no data
2019-05-09 16:11:15 -04:00
miruka
df088a8daa
Optimize ListModel setProperty() and update()
...
Avoid emiting dataChanged signals when nothing actually changed
2019-05-09 16:09:46 -04:00
miruka
4367f52ce5
Support user devices added or deleted at runtime
2019-05-09 15:54:31 -04:00
miruka
d1dfd2673f
Add lastSeenIp/Date to Device ListItem
2019-05-09 14:22:50 -04:00
miruka
1a90bb4331
Add Backend.devices ListModelMap
...
The Device ListModels will be populated after login.
2019-05-09 14:07:57 -04:00
miruka
a15f6b0bac
Add repr()/__repr__() to ListModelMap
2019-05-09 13:55:02 -04:00
miruka
f065c699f1
Fix default account device name
2019-05-08 13:50:46 -04:00
miruka
7b3b886f10
Show banner when unverified devices in room
...
The banner replaces the SendBox, to prevent sending messages when nio
will raise an OlmTrustError.
2019-05-08 13:45:25 -04:00
miruka
a672b725de
send msg: try claiming keys and sharing session
...
The sharing will fail for now, until device verification is implemented.
2019-05-08 12:12:43 -04:00
miruka
a15e2a5c9d
Ensure messages are sent in order, one at a time
2019-05-08 10:37:46 -04:00
miruka
d08f43e6be
Add new queuing features to @futurize
...
- max_instances renamed to max_running
- consider_args parameter:
if True, $max_running of this function with the same arguments can be
running, else:
$max_running of this function, no matter the arguments, can be running
- discard_if_max_running:
if True and there are already the maximum possible number of running
functions running, cancel this task (previous default behavior), else:
Wait for a spot to be free before running
2019-05-08 10:32:45 -04:00
miruka
0bd98a321d
Invalidate outbound sessions on room forget
2019-05-06 23:37:49 -04:00
miruka
e9592a7289
Query other users's device keys
2019-05-06 23:27:31 -04:00
miruka
5ff82471fc
Upload E2E keys to server if needed
2019-05-06 23:08:36 -04:00
miruka
15da828c70
Pass a store dir path to nio HttpClient
2019-05-06 22:42:48 -04:00
miruka
9023d28c43
Add Backend.getDir(), Backend.getFile()
...
Replaces Backend.getPath()
2019-05-06 21:57:44 -04:00
miruka
a9964ab0f9
Fix roomCategoryDelegate height stuck to 0
2019-05-06 21:37:34 -04:00
miruka
a3d0f32dc5
ClientManager._get_standard_path → Backend.getPath
2019-05-06 21:28:54 -04:00
miruka
25bb082f5a
Fix invisible room categories still taking space
2019-05-06 14:20:43 -04:00
miruka
d6714141e0
Update chatPage properly when roomCategory changes
2019-05-06 14:06:28 -04:00
miruka
cdf6190cba
Fix room sorting for good
...
Do it the right way with a QSortFilterProxyModel.
2019-05-06 13:07:00 -04:00
miruka
0e5c5619cf
Support directly defined pyqtProperty in ListItem
2019-05-02 18:09:01 -04:00
miruka
e124dcbff7
Bring back room movements on new events
2019-05-02 16:10:41 -04:00
miruka
51386821bc
Make clientManager easier to use
...
- Backend.clientManager renamed to Backend.clients
- clientManager is now a Mapping subclass
Before/After from Python:
backend.clientManager.clients[thing] → backend.clients[thing]
From QML:
Backend.clientManager.clients[thing] → Backend.clients.get(thing)
2019-05-02 14:58:42 -04:00
miruka
52d538e995
Merge Backend and QMLModels
...
Backend.models.accounts → Backend.accounts
Backend.models.roomEvents → Backend.roomEvents
2019-05-02 14:31:47 -04:00
miruka
047225fded
Rework models hierarchy, room categories models
2019-05-02 14:20:21 -04:00
miruka
ada44cf6f7
Various ListModel and ListItem improvements
...
Type hints, pyqt types, comments,
better __repr__ for ListItem, repr() for ListModel
2019-05-01 17:31:02 -04:00
miruka
12ce4cdb30
Rework startup and Application-Engine relation
...
- Application and Engine will be started by __init__.run() independently
- Exiting app will disconnect clients
- Signals like SIGINT (Ctrl-C) are now handled for proper exit
2019-05-01 01:23:38 -04:00
miruka
012e89f6cb
Improved ListModel and ListItem
...
- New ListItem implemented using a metaclass, which makes defining new
ListItem subclasses much cleaner and shorter
- ListModel functions taking an index now accept either an int
(list index) or str (value of a main key)
- getWhere() gone, simply use get(a_main_key_value) now
- updateOrAppendWhere replaced by update()/upsert()
2019-04-29 23:51:37 -04:00
miruka
216ae312c5
Remove html-sanitizer custom attrs workaround
...
Fix merged upstream (1.7.2).
2019-04-28 20:39:45 -04:00
miruka
99ab6a817a
Update/refactor Chat components and banner
2019-04-28 14:20:30 -04:00
miruka
f65ea9dd0d
Just import nio
...
Instead of nio.events, nio.responses, etc.
All the classes are already available at nio.
2019-04-28 01:17:12 -04:00