Commit Graph

948 Commits

Author SHA1 Message Date
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
miruka
5b4146c854 Fix main pane not updating on Account changes
The pane only updated on Room model changes. If an account with no
joined rooms was added, it would be invisible until a client restart.
2019-12-16 07:01:19 -04:00
miruka
9da0b12e45 Resume accounts faster on client startup 2019-12-16 05:14:26 -04:00
miruka
7d8f67bfe2 Retry if initial profile retrieval on login fails 2019-12-16 05:03:57 -04:00
miruka
18822b9102 Remove unused ImportError.qml 2019-12-16 04:51:52 -04:00
miruka
b307b596d2 Animators are buggy crap, drop them 2019-12-16 04:42:41 -04:00
miruka
aad317126a Fix sign out 2019-12-16 04:11:46 -04:00
miruka
5765638466 Fix click on room setting buttons not working 2019-12-15 15:23:15 -04:00
miruka
88df501f13 Remove now unused pane properties in theme 2019-12-15 15:11:51 -04:00
miruka
5e3a621f8b Respect uiScale for panes 2019-12-15 15:10:50 -04:00
miruka
52956954e5 Fix filter field overflowing at some sizes/zooms 2019-12-15 14:56:40 -04:00
miruka
a9507bdbeb Change HListView transitions to run on scale 2019-12-15 14:36:24 -04:00
miruka
5a3eb2c2e5 Disable room pane buttons startup animation
Looks weird
2019-12-15 13:04:51 -04:00
miruka
2cfe76fd8e Wrap image progress bars in loaders, fix cpu usage 2019-12-15 13:02:40 -04:00
miruka
2d501dca5a Use a Loader for HTile context menus 2019-12-15 05:37:14 -04:00
miruka
59260e108a makeObject(): accept a component as first argument 2019-12-15 05:26:36 -04:00
miruka
986b117fbc Prevent HDrawer resizer events from being stolen 2019-12-15 03:45:46 -04:00
miruka
a8dbd9185a Update matrix client update() usage 2019-12-14 17:40:31 -04:00
miruka
73dfcce8a7 Prevent crash in loading past evnts 2019-12-14 13:50:21 -04:00
miruka
47c53644e7 Fix/improve transfer speed-related stuff 2019-12-14 13:49:31 -04:00
miruka
c5ed3be031 RoomPane flickable: ignore unimplemented views 2019-12-13 18:04:31 -04:00
miruka
c6295225fb Make tab keybinds work on room pane views 2019-12-13 17:59:58 -04:00
miruka
d8639db8ee Fix HSwipeView binding loop 2019-12-13 17:55:41 -04:00
miruka
17452ea69b Update TODO 2019-12-13 17:37:31 -04:00
miruka
ff7393b7c3 HSplitView with state saving and default props 2019-12-13 17:19:47 -04:00
miruka
51c68cf998 Fix Room.given_name possibly being None 2019-12-13 17:18:36 -04:00
miruka
df76efa359 Italicize room name in leave/forget poups
Like for the invite popup now
2019-12-13 17:11:01 -04:00
miruka
843389693e Add room name to invite popup 2019-12-13 17:08:59 -04:00
miruka
a493b0cf61 Add "invite members" to room context menu 2019-12-13 17:04:56 -04:00
miruka
55506dd10e Disable the room settings save button for now 2019-12-13 16:40:48 -04:00
miruka
c8ce50a01c Fix Room.plain_topic accidentally set to None 2019-12-13 15:09:13 -04:00
miruka
8a4c160df6 Working cancel button in settings 2019-12-13 10:14:54 -04:00
miruka
0ab7a008cf Add default... + reset() to field, area & checkbox 2019-12-13 09:56:52 -04:00
miruka
407396e01e Put RoomPane inside a loader 2019-12-13 09:53:11 -04:00
miruka
bd8fa997c4 CreateRoom: Room names must not exceed 255 bytes 2019-12-13 09:22:29 -04:00
miruka
d240de702f Implement (read-only for now) room settings 2019-12-13 09:22:13 -04:00
miruka
f8d5260fd7 Update some icons 2019-12-13 08:31:40 -04:00
miruka
c191adfd0b Rename "Find someone" page to "Direct chat" 2019-12-13 07:17:11 -04:00
miruka
dff7be33f9 AddChat: Simplify EncryptCheckBox subtitle 2019-12-13 07:03:36 -04:00
miruka
621a4e415a HTextField: disabledText and opacity handling 2019-12-13 06:29:58 -04:00
miruka
4cd4386abe Improve HScrollableTextArea disabled handling
Don't hide text if no disabledText is explicitely set, set opacity
using theme.disableElementsOpacity
2019-12-13 06:24:58 -04:00
miruka
2ca79a212f Increase chechbox indicator opacity when disabled 2019-12-13 06:21:30 -04:00
miruka
37023638c0 Hide avatar tooltip if avatar already big enough 2019-12-13 06:21:12 -04:00
miruka
82e4dff2ab Fix left rooms appearing as joined rooms 2019-12-12 10:33:52 -04:00
miruka
438b0d26a4 Don't share room members models between accounts
Is unsafe and creates subtile bugs, like "invite member → member
declines → member disappears from the member list, then reappears a
second after" (race condition)
2019-12-12 10:11:24 -04:00
miruka
707ac61ff6 Support and sort invited room members 2019-12-12 10:03:39 -04:00
miruka
4b13b75617 Restore previous focus after HPopup closed 2019-12-12 08:39:26 -04:00
miruka
1bd012c871 Restore focus to previous element on HMenu closed 2019-12-12 08:36:51 -04:00
miruka
2769d60fdc Add copy room/user ID context menus 2019-12-12 08:32:50 -04:00
miruka
6813a2c9b4 Fix double click on event to open console 2019-12-12 08:20:26 -04:00
miruka
1ecd383791 Hide avatar tooltips for broken thumbnails 2019-12-11 15:16:14 -04:00
miruka
5bef84064d Don't show MemberDelegate subtitle if same as name 2019-12-11 15:12:21 -04:00
miruka
c4ee77ca15 Disable composer/upload button when no permission 2019-12-11 13:54:18 -04:00
miruka
c2b7b458f9 Use the "Binding on ..." syntax whenever possible 2019-12-11 13:03:33 -04:00
miruka
e694f1739b Trim some text fields 2019-12-11 12:46:43 -04:00
miruka
001c643406 Implement inviting to room 2019-12-11 12:42:59 -04:00
miruka
fd2f8c9828 Reorder HButton props 2019-12-11 11:44:59 -04:00
miruka
ed3a3726e1 Don't call onError() for python CancelledError 2019-12-11 10:51:04 -04:00
miruka
1f12a19b48 Utils.makePopup(): allow setting different parent 2019-12-11 07:54:42 -04:00
miruka
e4f1cb6545 BoxPopup: more reliable implicitWidth (margins) 2019-12-11 07:54:13 -04:00
miruka
1c7015bbd2 Prevent HDrawer from being in front of an HPopup 2019-12-11 07:53:27 -04:00
miruka
d56b590edc Rate-limit config files writing 2019-12-10 17:59:04 -04:00
miruka
3c4c92dbc0 Save/load composer text 2019-12-10 17:04:03 -04:00
miruka
98c2efb773 Unified API to save/restore state properties 2019-12-10 16:29:49 -04:00
miruka
2cd177dc13 Add text remembering ability to HTextField 2019-12-10 15:32:42 -04:00
miruka
888df282a8 Rename side pane stuff to main pane 2019-12-10 15:17:41 -04:00
miruka
3a3e0e9dbb Rename some chat components 2019-12-10 15:03:05 -04:00