Commit Graph

1340 Commits

Author SHA1 Message Date
miruka
cdd119405e backend.py: remove some unused imports 2019-12-19 16:31:01 -04:00
miruka
090c53898c Fix width for messages with text + image previews
The width of the images weren't taken into consideration to calculate
the message xOffset, resulting in these messages being pushed way past
what they should be and looking very thin
2019-12-19 16:03:00 -04:00
miruka
be0541f2d9 Improve HRepeater width properties 2019-12-19 16:00:37 -04:00
miruka
2229b41af1 New way to open debug consoles
Replace broken old utils.debug(...) (since the utils.js → Utils.qml
transition) with a declarative approach:
a console can now be opened with by placing a `DebugConsoleLoader {}`
anywhere.
mainUI has a default console opened by F1/alt-shit-c when no other
console is loaded.
2019-12-19 14:11:13 -04:00
miruka
f4beb52e0c Remove TESTS.MD 2019-12-19 07:51:26 -04:00
miruka
fb1f9c62e5 Add SPDX ID LGPL v3+ license headers 2019-12-19 07:46:16 -04:00
miruka
d3ee39bf7b Have a separate PageLoader component from UI 2019-12-18 17:04:18 -04:00
miruka
a1f89ca9c4 Fix utils.guess_mime / uploading with 0 byte files 2019-12-18 16:52:39 -04:00
miruka
e6541cd767 Document model.py 2019-12-18 16:41:51 -04:00
miruka
1f41e2ffaa Document Backend attrs, adapt to new ModelStore 2019-12-18 16:24:43 -04:00
miruka
36359b05fa Transfer.qml: fix typo 2019-12-18 16:24:36 -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
934d6a79a2 Document nio_callbacks.py, small code improvements 2019-12-18 14:24:55 -04:00
miruka
d9b27eff9f Document media_cache.py 2019-12-18 13:43:31 -04:00
miruka
c6938903b8 Document matrix_client.py 2019-12-18 13:16:15 -04:00
miruka
05a331382e Improve pyotherside_events.py doc 2019-12-18 10:39:38 -04:00
miruka
d89c83af5b Document theme_parser.py 2019-12-18 09:50:53 -04:00
miruka
845fa40ed8 Improve docs for utils.py 2019-12-18 09:42:56 -04:00
miruka
d7045644f1 Rename and document html filtering stuff 2019-12-18 09:33:22 -04:00
miruka
cfcc190473 Rename QmlBridge to QMLBridge 2019-12-18 08:49:03 -04:00
miruka
ab46ac15e7 Document errors module 2019-12-18 08:46:36 -04:00
miruka
61cd3b2f55 Rename config_files module → user_files + document 2019-12-18 08:41:02 -04:00
miruka
23be12fb60 Document backend & qml_bridge + minor code changes 2019-12-18 08:14:35 -04:00
miruka
87b262ebee Move backend.__about__ stuff into __init__ 2019-12-18 06:55:05 -04:00
miruka
9e372d01d5 Python backend "App" becomes QmlBridge
Is now strictly about setting up asyncio/uvloop and providing the
functions for QML to interact with it and call backend coroutines.

The appdirs attribute is moved to Backend.
2019-12-18 06:44:18 -04:00
miruka
5d7d66f99b Have a QML Future object instead of JS dict 2019-12-18 06:16:24 -04:00
miruka
d675b3a40b Fix HDrawer import versions 2019-12-18 05:02:37 -04:00
miruka
717c5078c7 Move QML Python stuff to its own subfolder 2019-12-18 05:00:27 -04:00
miruka
f4d7636df6 Move Chat/ dir under Pages/ 2019-12-18 04:53:08 -04:00
miruka
2bdf21d528 Rename some filers and folder for clarity 2019-12-18 04:45:09 -04:00
miruka
127f724357 Comment C++ files 2019-12-18 04:32:32 -04:00
miruka
12c7e44d8a Turn event_handlers.js into EventHandlers.qml 2019-12-17 18:10:18 -04:00
miruka
705fb31f88 Fix Utils.flickToBottom() 2019-12-17 18:07:15 -04:00
miruka
2cb64c5346 Turn utils.js into a Utils.qml QtObject
When a .js module is used, every single file that imports it creates
its own duplicated environment in memory for that module.

Instead, use a simple QtObject with all the functions, and declare it in
Window.qml so that it is available to all children everywhere in the
app.
2019-12-17 17:59:53 -04:00
miruka
c16731b239 Fix "transfered" → "transferred" spelling 2019-12-17 17:43:32 -04:00
miruka
b0cf708246 Differentiate invited members in room pane 2019-12-17 09:46:18 -04:00
miruka
216514f19c Don't desaturate disabled button icons 2019-12-17 08:55:04 -04:00
miruka
c99ca8de44 Show progress bar when loading past room events 2019-12-17 08:54:46 -04:00
miruka
026c049d62 Improve message delegate code, fix multiple issues
- Fix the ListView not auto-scrolling like it should when message
  delegates changed height, such as when images were loaded

- Fix messed up delegate positions overlapping each others when
  movements happen

- Fix previous/nextItem binding broken due to imperative modification

- Fix "messageBodyWidth" binding loop
2019-12-17 03:45:00 -04:00
miruka
b3e3fd7bc6 EventFile: be as tall as the message avatars 2019-12-16 18:28:51 -04:00
miruka
1d43d522e6 Strip file:// prefix from copied downloaded paths 2019-12-16 18:22:25 -04:00
miruka
ce23d2c992 Reactivate EventFile for video and audio events
Temporary solution until the media player is ready
2019-12-16 18:19:06 -04:00
miruka
45ff9bba99 EventFile now downloadable 2019-12-16 18:05:09 -04:00
miruka
8215d127c8 Move EventImage.download() to EventMediaLoader 2019-12-16 17:48:58 -04:00
miruka
011b870d0b Don't show EventFile for video/audio links 2019-12-16 17:42:05 -04:00
miruka
1ec8ed466f Implement crude encrypted EventImage downloading
When a message image is clicked in an encrypted room, the full file will
be download (no GUI indication for now, just a print in terminal) and
opened when ready.

Before downloading, copying the image address via right click will put
the full image mxc:// URL in clipboard. After downloading, it will be
the local downloaded image path instead.
2019-12-16 17:36:14 -04:00
miruka
5dbf06ba6c Fix multiple accounts local echo issues
- Messages should now always be in the order they were sent in when
  sending from multiple accounts to a same slow room

- Fixed dead lock that occured when sending a message
  from account A, then from account B, then from account A, in a
  room slow enough so that all of them would be in local echo transition
  at the same time.
2019-12-16 10:53:26 -04:00
miruka
423c657fea Disable HListView animation debug prints 2019-12-16 07:35:39 -04:00
miruka
817ae905fe Backend._any_clients(): only pick a healthy client
When selecting a random client for get_profile(), thumbnail(), or
download() requests, ignore those that aren't currently syncing.
Also warn if we still can't find a healthy client after 30s.
2019-12-16 07:02:42 -04:00