Commit Graph

2182 Commits

Author SHA1 Message Date
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
41fdd19d2c Fix messages avatar size 2019-05-15 17:01:58 -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
c67e1bfc79 Fix hiding members pane not giving space to chat 2019-05-15 02:25:40 -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
2a687f8eee Standardize animation durations 2019-05-14 15:15:10 -04:00
miruka
20f8e83a01 Fix RoomSidePane hide animation being too quick 2019-05-14 15:07:43 -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
4024eee460 Animate HButton color changes 2019-05-13 12:50:04 -04:00
miruka
f2c84d5260 Snap to buttons width → restores auto-sizing 2019-05-13 12:37:35 -04:00
miruka
645aa73183 Allow quick hiding/expanding of RoomSidePane
by clicking the button corresponding to the currently active view
2019-05-13 12:02:52 -04:00
miruka
125a70bea6 Make RoomSidePane follow buttons size again
Also add selected button color
2019-05-13 10:52:26 -04:00
miruka
ca6c55a3e7 Fix MembersView ListView being too wide 2019-05-12 21:36:08 -04:00
miruka
7e44134dfc Fix RoomHeader buttons not taking enough height 2019-05-12 21:29:52 -04:00
miruka
fa12d3f4ec Adjust RoomSidePane autosize max width
Set it to the RoomHeader's buttons implicitWidth
2019-05-12 19:03:51 -04:00
miruka
b35e635be4 RoomHeader buttons and RoomSidePane size/collapse
RoomSidePane's size and collapsing is not bound anymore to the
RoomHeader buttons.
2019-05-12 19:01:02 -04:00
miruka
b9b6d2fcb3 Animate SidePane width only when collapsing
To avoid RoomHeaderButton collapse bug due to the "slowly" changing
Chat width.
2019-05-12 16:28:48 -04:00
miruka
46d5704eb6 RoomSidePane: respect user manual resizing 2019-05-12 16:01:18 -04:00
miruka
f9a5902545 Improve SidePane auto-sizing and appearance 2019-05-12 15:57:18 -04:00
miruka
97c1dda4ba Add a basic member list pane to rooms 2019-05-12 13:17:42 -04:00
miruka
8f965a3e72 Remove blur effect, causes too much trouble 2019-05-11 17:51:49 -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
dcdf165c4f Update TODO.md 2019-05-09 19:48:49 -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
af8c0c6811 HButton: reduce hover/press overlay opacity 2019-05-08 13:26:10 -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
ca04e4c4a4 Message/EventContent delegates improvements
- Rectangle > Column > Labels instead of ColumnLayout > Labels with
  rectangle backgrounds hack

- Use basic Row and Column instead of Layouts, for simplicity and
  performance

- Get rid of a binding loop that happened sometimes when local echo icon
  disappeared

- Max bubble width when lots of screen space available
  now depends on font size, instead of always being 600
2019-05-08 11:18:22 -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