Commit Graph

1786 Commits

Author SHA1 Message Date
miruka
693ae1c78e Put all nio callbacks in a new separate class 2019-11-08 10:13:50 -04:00
miruka
eee2162575 Serialize Path objects to QML
- media_cache.get_(thumbnail/media) now return a Path instead of str
- When converted to strings in the serialization, the "file://" prefix
  is prepended. This fixes problems when the app is built in release
  mode with QRC resources.
2019-11-07 04:02:41 -04:00
miruka
a8f4a00e5e Remove old broken __main__.py 2019-11-07 03:53:59 -04:00
miruka
acd69108e8 Common func for ModelItem/POSEvent value serializ 2019-11-07 03:43:05 -04:00
miruka
4a6f634f7a Allow picking multiple files to upload 2019-11-06 17:13:15 -04:00
miruka
6953239bc3 Add shortcut to send file from path in clipboard 2019-11-06 17:03:34 -04:00
miruka
25a86bc484 Add shortcut to send file 2019-11-06 16:45:33 -04:00
miruka
5c6b6ef68a Have a dedicated SendFilePicker component 2019-11-06 16:45:30 -04:00
miruka
c6bb41573f Add uploadsBar section to theme 2019-11-06 16:14:48 -04:00
miruka
67cffa854d EventImage: fix empty bubble in the corner 2019-11-06 16:11:12 -04:00
miruka
3acd3ba66a Show broken image icon when image fails to load 2019-11-06 16:09:32 -04:00
miruka
8383b6d3e4 Add radial progress bars to images 2019-11-06 15:47:18 -04:00
miruka
96839ea69a Add forked RadialBar module 2019-11-06 15:30:51 -04:00
miruka
991fef637b Remove original RadialBar submodule 2019-11-06 15:27:21 -04:00
miruka
8eca875499 Use new HCircleProgressBar for HBusyIndicator 2019-11-06 14:30:31 -04:00
miruka
f9fd8055f2 Add HCircleProgressBar 2019-11-06 13:49:48 -04:00
miruka
3cbbd6042b Show upload file size instead of index/upcount 2019-11-06 11:03:08 -04:00
miruka
28dd35fc1b Indeterminate progress bar styling 2019-11-06 10:08:55 -04:00
miruka
6cdd6de1b3 Show local echo icon on pure media events 2019-11-06 09:48:27 -04:00
miruka
18e184d1f0 Cache local media on upload, fix media local echo 2019-11-06 09:43:05 -04:00
miruka
1de82492dd media_cache: remove leftover pdb call 2019-11-06 09:03:50 -04:00
miruka
de41e859be Fix picking same file twice not working 2019-11-06 08:55:47 -04:00
miruka
487446046f Fix upload avatar overlay shown after picking one 2019-11-06 08:52:23 -04:00
miruka
4b47b0f7ec Remove useless UploadStatus.Success 2019-11-06 07:52:43 -04:00
miruka
4c15b7dc62 Fix SVG uploads, fix entire Upload model deleted 2019-11-06 07:50:31 -04:00
miruka
ace79a169c UploadsBar: fix qsTr.arg(arg1, arg2) call 2019-11-06 07:45:28 -04:00
miruka
e45f2c9d2d Fix thumbnail API error when QML gives float sizes 2019-11-06 06:51:55 -04:00
miruka
93a4015369 EventImage: set prop correctly if no thumbnail
Fix cases where a m.image event doesn't have a thumbnail but we tried to
download one anyway, resulting in a DownloadFailed exception.
2019-11-06 06:34:52 -04:00
miruka
92d3390106 Fix CryptDict redefined in media_cache.py 2019-11-06 06:30:17 -04:00
miruka
078cf61b7e Show an uploads bar in chats when uploading files 2019-11-06 06:28:48 -04:00
miruka
91064fc625 Fix error when using upload button more than once 2019-11-05 18:30:51 -04:00
miruka
8f3df28b9d ModelItem: serialize enum members to their values 2019-11-05 18:03:48 -04:00
miruka
7408322fbe Fix/improve image sizes 2019-11-05 09:19:48 -04:00
miruka
e4b784b407 Update TODO 2019-11-05 05:53:42 -04:00
miruka
82104266fe Encrypt uploads in a thread 2019-11-04 15:18:01 -04:00
miruka
3c1d926188 Open decrypted file in browser for crypt images 2019-11-04 14:57:56 -04:00
miruka
ea0cda6aa8 HMxcImage: Fix "invalid write to property httpUrl" 2019-11-04 14:55:26 -04:00
miruka
6586403985 Event/RoomDelegate: consider RoomEncrypted- events 2019-11-04 14:45:20 -04:00
miruka
2d682516e8 Support encrypted file reading & caching
Also don't convert palette images to JPEG when creating thumbnails.
2019-11-04 14:37:48 -04:00
miruka
bf9ced1acd Don't cache local GIFs in memory 2019-11-04 10:53:13 -04:00
miruka
de8d0b5823 Fix image events opened/copied url 2019-11-04 10:46:06 -04:00
miruka
ca09effd6e Download and show full picture for m.image GIFs 2019-11-04 10:29:41 -04:00
miruka
02c6ec4500 Implement Media download 2019-11-04 10:29:18 -04:00
miruka
484eefe86d Fix image URL preview, add Thumbnail.create()
- Make HMxcImage's mxc property work with http too (temporary quick
solution)

- Thumbnail objects can now be initialized with existing bytes and not
  have to download anything.
2019-11-04 07:00:28 -04:00
miruka
337603595a Backend: separate wait_until_(any_?)client_exists() 2019-11-04 06:56:26 -04:00
miruka
e1600389fc Upload 800x600 thumbnails instead of 512x512
Maximum thumbnail size, match Riot's behavior.
2019-11-03 14:08:29 -04:00
miruka
2f19ff493b Rewrite media caching (old image provider)
- Doesn't use pyotherside's image provider feature, for more flexibility
  and simplicity
- Suitable for supporting matrix media events and more later
- Avoid a lot of duplicate files that the old cache created due to
  server not returning what we expect, mistakes in Python/QML code, etc
- Changed file structure
  (e.g. thumbnails/32x32/<mxc id> instead of
   thumbnails/<mxc id>.32.32.crop)

- Backend.wait_until_account_exist: start issuing warnings if the
  function runs for more than 10s, which means in most case a bad user
  ID was passed

- New HMxcImage QML component, used in H(User/Room)Avatar
2019-11-03 13:48:12 -04:00
miruka
55d4035f60 DebugConsole: show "t = ..." instead of "target =" 2019-11-03 13:47:33 -04:00
miruka
b9fbd36661 Restart sync if exception occurs 2019-10-30 11:15:35 -04:00
miruka
ce2a7f1018 Support encrypting uploads
For files and thumbnails.
Also fix the PIL thumbnail() bad argument function call.
2019-10-30 10:34:20 -04:00