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
miruka
8a714fb7a0
Add Default and RememberAccount? pages
2019-04-27 21:07:20 -04:00
miruka
102baccbe5
Login loading icon
...
Add standard mechanism in HButton for loading icon display;
have HImage and HIcon base components.
2019-04-26 21:16:57 -04:00
miruka
dc2f779d4b
Make login button work for login page
2019-04-26 18:47:25 -04:00
miruka
c7dd602687
Fix room forget and buttons bugs
2019-04-26 16:52:26 -04:00
miruka
5988eccdbb
Add login page and forget room system
2019-04-26 16:02:20 -04:00
miruka
34d2bd233d
Set parents for all QObjects
2019-04-22 14:24:45 -04:00
miruka
0df46a0415
Add property notify signals where needed
2019-04-22 11:37:41 -04:00
miruka
4607f53b7a
Show special text when room has no events yet
...
e.g. if invited to a room but there's no history provided by
another account.
Also add a signal for the ListModel.count property.
2019-04-22 11:31:06 -04:00
miruka
d47bf34522
Replace assert statements by normal if/raise
2019-04-22 10:08:42 -04:00
miruka
98969b75c7
Remove unused getcryptdbpath leftover function.
2019-04-22 10:05:08 -04:00
miruka
03dc9be523
Improve hueFromString()
...
More diversed output, without using hashing function.
2019-04-22 10:04:16 -04:00
miruka
237d750d47
Overhaul room list sorting
2019-04-21 20:55:24 -04:00
miruka
424405e3e8
Set invited and left rooms position in model
...
Invited rooms at the start, left rooms at the end, with the bonus effect
of fixing the roomList height problem.
2019-04-21 16:53:16 -04:00
miruka
677117983a
Set hourglass icon when clicking accept/decline
...
PyQtFuture's gotResult signal can now be used from QML/JS.
2019-04-21 16:31:48 -04:00
miruka
99d5fb551c
Make the banner buttons work
...
For invitation accept/decline.
Forget remains to be implemented in nio.
2019-04-21 16:12:53 -04:00
miruka
4dced63b63
Fix banners not live-updating
2019-04-21 15:34:08 -04:00
miruka
ea8f75c729
Organize banners, add LeftBanner
...
Previously there was InviteOffer, now there's a base Banner component,
InviteBanner and LeftBanner.
2019-04-21 15:20:20 -04:00
miruka
909e1c3363
Fix and improve room members event texts
2019-04-21 12:25:55 -04:00