Commit Graph

136 Commits

Author SHA1 Message Date
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
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
eab5ae0afe Fix sendbox enter not working 2019-05-06 21:07:59 -04:00
miruka
55e701c24d Improve sidePane expand toggle buttons
Animate them, use an icon that makes more sense, have a componant file
2019-05-06 20:37:41 -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
6bc6998fde Bring back clipping for RoomEventsList 2019-05-02 15:09:17 -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
92b3baa012 Set background image sourceSize to screen size
Saves memory for most displays
2019-05-01 03:25:58 -04:00
miruka
3299aefaf1 Fix Engine.app_dir and leftover Backend.pdb()
Use __file__ instead of sys.argv[0] to determine the current script's
path, which works correctly when importing the package from another dir
2019-05-01 01:32:06 -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
5ad13aed7d Same avatar-content spacing for events and msgs 2019-04-29 23:58:17 -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
67c3ef5906 Disable QML cache, responsible of multiple bugs 2019-04-28 20:37:11 -04:00
miruka
c4fb0c1150 Fix SidePane indent at minimum size 2019-04-28 15:52:26 -04:00
miruka
4433e48611 Fix QtQuick.Layout version, MessageContent wrap 2019-04-28 15:45:42 -04:00
miruka
70ca608961 Lower opacity for boxes in HStyle 2019-04-28 15:38:08 -04:00
miruka
ef60a1129f Clean up QML imports 2019-04-28 15:36:43 -04:00
miruka
f714c85d75 HSpacer component for layouts 2019-04-28 15:22:53 -04:00
miruka
d0089df051 Use Base components without namespace prefix 2019-04-28 15:18:36 -04:00
miruka
89fcfbea82 Colors for controls and PaneToolBar 2019-04-28 15:13:18 -04:00
miruka
b8901dfc5b Use H*Layout totalSpacing wherever possible 2019-04-28 14:54:01 -04:00
miruka
455490b5af Use Loaders for RoomEventDelegate 2019-04-28 14:48:59 -04:00
miruka
7004b4ea3f Reorganize Chat component files
- MessageList renamed to RoomEventList
- MessageDelegate renamed to RoomEventDelegate
- Banner and RoomEventList get their own folders
2019-04-28 14:34:29 -04:00
miruka
99ab6a817a Update/refactor Chat components and banner 2019-04-28 14:20:30 -04:00
miruka
bf9eb7dbc9 Use HColumnLayout in HInterfaceBox 2019-04-28 12:47:51 -04:00
miruka
c5794424ed Capitalize all component folders 2019-04-28 12:45:12 -04:00
miruka
e64b233427 Better default SidePane size 2019-04-28 12:40:42 -04:00
miruka
87c72e32db Update SidePane componants, add Base.HColumnLayout 2019-04-28 12:40:18 -04:00
miruka
2e8e042808 Replace HToolButton usages with HButton
Also change sidePane toolbar: option button and filter rooms field
2019-04-28 12:10:34 -04:00
miruka
80067b5060 Add HScrollableTextArea and make SendBox use it 2019-04-28 11:53:47 -04:00
miruka
25badb693d Use HImage for HStatusAvatar 2019-04-28 11:34:05 -04:00