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
miruka
f65425957b
Builtin ability to remember size for HDrawer
2019-12-10 15:01:56 -04:00
miruka
8c8ba221d3
HDrawer resizer: use MouseArea's pressed prop
2019-12-10 14:23:14 -04:00
miruka
0578844eef
Rename some HDrawer props for more clarity
2019-12-10 14:19:25 -04:00
miruka
29cf78fe18
SidePane: default size if no custom one in state
2019-12-10 14:10:01 -04:00
miruka
ad6f111793
Fix & improve keyboard and mousewheel flicking
2019-12-10 11:49:46 -04:00
miruka
e70a1d459b
Correct SidePane behavior when no accounts present
2019-12-10 04:18:17 -04:00
miruka
b32d88cd95
Fix users that left a room not deleted from model
2019-12-09 15:34:29 -04:00
miruka
852b5818a2
Fix Chat loading spinner position
2019-12-09 15:34:13 -04:00
miruka
bd8bf6120e
Fix taking focus for chat
2019-12-09 14:13:38 -04:00
miruka
2e780d7c6a
HDrawer: provide real visible size prop→fix issues
2019-12-09 13:54:05 -04:00
miruka
6627c6341a
Fix DebugConsole retained history size
2019-12-09 13:51:50 -04:00
miruka
9c70e08668
Restore focus to previous item on console exit
2019-12-09 13:34:56 -04:00
miruka
37d8d5c68d
History persistence for DebugConsole
2019-12-09 13:21:12 -04:00
miruka
718aef8414
Make DebugConsole keyboard-scrollable
2019-12-09 13:00:42 -04:00
miruka
6e6fa0ad35
Improve console size, add variables info
2019-12-09 12:56:25 -04:00
miruka
f5b0cbb204
Make new console when needed & destroy old console
2019-12-09 12:32:46 -04:00
miruka
f125b6d60e
Minor DebugConsole improvements
...
Startup animation, top position by default, add F1 shortcut
2019-12-09 12:27:40 -04:00
miruka
9b9cf274ac
DebugConsole: take active focus on startup
2019-12-09 12:20:58 -04:00
miruka
e7abcced5f
Fix a HDrawer weird size issue
2019-12-09 12:16:23 -04:00
miruka
7d50e8c6a8
HDrawer: enable behaviors based on orientation
2019-12-09 12:10:04 -04:00
miruka
66e3a07401
RoomSidePane header buttons background
2019-12-09 12:03:35 -04:00
miruka
13d3f19997
Replace all ==/!= by ===/!==
2019-12-09 11:35:50 -04:00
miruka
3b78d12f9c
Rename HTabbedBoxes to HTabContainer
2019-12-09 09:29:57 -04:00
miruka
7ecdefa7f3
Set x/y only on DebugConsole, not HDrawer
2019-12-09 08:11:46 -04:00
miruka
a5e01fd3b9
Rename HDrawer "width" props, add horizontal prop
2019-12-09 08:10:03 -04:00
miruka
99034c7587
Make DebugConsole use HDrawer
...
Also add some help, commands to quicly set the position, and support
vertical orientations for HDrawer
2019-12-09 08:01:01 -04:00
miruka
5609ae2817
Refactor Chat/RoomSidePane
2019-12-09 05:25:31 -04:00
miruka
06a6a4c08d
Rewrite SidePane using QQC Drawer
...
Cleaner approach, gets rid of the HPage swipe view hack, better
performances, a lot less complex
2019-12-08 14:43:41 -04:00
miruka
5326726c4f
Improve default window size for small screens
2019-12-08 14:40:56 -04:00
miruka
9a074e6097
Improve bad event types messages
2019-12-08 12:46:25 -04:00
miruka
c2f5a5bcbc
Use normal QtQuick.Shortcut
2019-12-08 12:43:39 -04:00
miruka
793db51a60
Improve add-account.svg
2019-12-08 10:32:25 -04:00
miruka
93a6d706b8
Rename "Recovery" page to "Reset"
2019-12-08 05:31:02 -04:00
miruka
77a1d854c2
Add signin remember checkbox info
2019-12-08 05:30:30 -04:00
miruka
c3570c9d82
Update recovery/register texts
2019-12-08 05:30:04 -04:00
miruka
c3f1ca95f9
Increase HBox spacing
2019-12-08 05:29:37 -04:00
miruka
f58e2cbf7a
Change add account icon, prevent checkbox overflow
2019-12-08 05:08:59 -04:00
miruka
b267ef6562
SignIn screen tweaks
...
- Put the server field after user & pass, it makes more sense to have
the default focused field at the start
- Hide the currently unimplemented login method selection
- Rename Recovery tab to Reset (shorter)
2019-12-08 03:49:17 -04:00
miruka
f5fde35482
Remove checkbox default padding
2019-12-08 03:49:07 -04:00
miruka
455801a641
Use new way to cancel current login for signin btn
2019-12-07 18:45:03 -04:00
miruka
6f589dbda5
Implement cancelling python coros from QML
...
This was needed to implement the cancel button featue on the login
screen
2019-12-07 18:33:33 -04:00
miruka
4a93a24f74
cancel_previous(): use @functools.wraps
2019-12-07 17:09:13 -04:00
miruka
7deb21c182
Rename "logout" things to "sign out" + update icon
2019-12-07 12:45:20 -04:00
miruka
0f1a6c7df1
Add temporary Recovery box
2019-12-07 12:39:56 -04:00
miruka
f75d44a0dd
Add temporary "unimplemented" Register box
2019-12-07 12:39:35 -04:00
miruka
a2ffaf4a67
More consistant spacing for HBox & SignIn
2019-12-07 11:05:46 -04:00
miruka
956dc52174
Simplify box, tabs and popups size handling
2019-12-07 10:59:43 -04:00
miruka
7235611d54
Refactor SignIn, adjustments to HCheckBox & HBox
2019-12-07 09:38:36 -04:00
miruka
150744ab8a
main.cpp: put setAttribute before creating app
2019-12-07 09:05:57 -04:00
miruka
28b3727e88
New HTabbedBoxes component, base AddChat on it
2019-12-07 08:56:32 -04:00
miruka
883d1c095b
Smooth box size transition between AddChat tabs
2019-12-07 08:18:18 -04:00
miruka
099a98a5da
Click anywhere on errored upload bar to close it
2019-12-06 18:47:34 -04:00
miruka
54395fff44
Fix upload icon height
2019-12-06 18:40:39 -04:00
miruka
737e102629
Color upload icon but not text on pause/error
2019-12-06 18:37:18 -04:00
miruka
74efce589b
Remove periods at the end of room info events
2019-12-06 18:23:25 -04:00
miruka
4ada039384
Upload UI/code improvements
2019-12-06 16:44:25 -04:00
miruka
54df551b08
Rename theme "uploadsBar" to "fileTransfer"
2019-12-06 09:22:38 -04:00
miruka
150a783c28
Split UploadBars into a new FileTransfer/ dir
2019-12-06 09:20:34 -04:00
miruka
8ae4bbb6cf
Fix uplaod item delete, pause and cancel bugs
2019-12-06 08:59:35 -04:00
miruka
e51f1f2c79
Implement upload pause function
2019-12-06 08:44:45 -04:00
miruka
d354480840
Work around Qt hover bug for tooltips
2019-12-06 08:21:48 -04:00
miruka
d70260d007
Add visual upload pause button, not working yet
2019-12-06 07:10:22 -04:00
miruka
6c92f4cad1
Hide tooltips when window not hovered anymore
2019-12-06 07:07:40 -04:00
miruka
d893c4f534
SidePane: consider uiScale for manualSize
2019-12-05 10:59:29 -04:00
miruka
97cf7b6dcd
EventImage: respect uiScale
2019-12-05 10:51:57 -04:00
miruka
a555ad0e19
Upload stats
2019-12-05 10:00:23 -04:00
miruka
3aff20006c
Handle OSError happening in send_file()
2019-12-05 09:51:31 -04:00
miruka
b3f93b969c
Fix RoomMessageUnknown not seen as general event
2019-12-04 18:27:56 -04:00
miruka
9d89409379
Support UnknownEvent and UnknownEncryptedEvent
2019-12-04 18:20:30 -04:00
miruka
2fe8c80aa5
Enable high DPI scaling
2019-12-04 11:49:20 -04:00
miruka
c3dfb523b6
Don't bind ctrl+backspace to zoom reset
...
ctrl+backspace is used to delete previous word in a text field
2019-12-04 10:06:00 -04:00
miruka
b25f3f3e51
FindSomeone: reject invalid user ID
2019-12-04 10:00:29 -04:00
miruka
a992b51ac5
Fix being able to make room with inexistant user
2019-12-04 09:43:04 -04:00
miruka
470b031a6f
Standardize usage of period in UI sentences
2019-12-04 09:32:07 -04:00
miruka
915c96f174
Fix power icons position when room pane collapsed
2019-12-04 09:17:13 -04:00
miruka
34e0ec7c7d
Implement UI zooming
2019-12-04 09:08:38 -04:00
miruka
87a81ed1a7
Use real UUIDs for pendingCoroutines
2019-12-04 06:22:04 -04:00
miruka
26e63e4ab2
Use new nio AsyncClient.mxc_to_http()
...
Has the correct behavior for all servers,
e.g. mxc://privacytoosl.io/id → https://chat.privacytools.io/ ...
2019-12-02 06:42:48 -04:00
miruka
3919b964ca
Add ability to cancel uploads
2019-12-02 05:06:21 -04:00
miruka
ae009c7412
Serialize Python UUIDs to strings for QML
2019-12-02 04:40:29 -04:00
miruka
bbb872e5dc
Improve HButton behavior on small fixed size
2019-12-02 04:40:01 -04:00
miruka
92bfb02446
UploadBars: tooltip and expand text on error/click
2019-12-02 03:19:43 -04:00
miruka
e4aa3b6572
Handle upload errors
2019-12-02 02:57:47 -04:00
miruka
08694388dd
Serialize Python types to their __name__ attribute
2019-12-01 12:21:37 -04:00
miruka
3e214dc26b
Don't use Animators for ListView transitions
...
They're buggy
2019-12-01 11:24:20 -04:00
miruka
9e9737d8ad
Don't use HOpacityAnimator in ListView, flickering
2019-11-30 16:27:34 -04:00
miruka
df0020e62c
Fix EventImageTextBubble shown when no text
2019-11-30 15:03:07 -04:00
miruka
c5a8be9ef9
Use new HScaleAnimator instead of HNumberAnimation
2019-11-30 14:59:48 -04:00
miruka
29cdc0f3f8
Use HRotationAnimator instead of HNumberAnimation
2019-11-30 14:37:04 -04:00
miruka
68d7c11c58
Add HX/YAnimator, used instead of HNumberAnimation
2019-11-30 11:45:24 -04:00
miruka
6a442da16f
Use OpacityAnimators instead of NumberAnimations
2019-11-30 11:41:19 -04:00
miruka
d1e1ed07dd
Hide EventImage bubbles on hover
2019-11-30 11:15:54 -04:00
miruka
db36ab6a74
No html styling in processedEventText() + cleanups
2019-11-30 08:20:41 -04:00
miruka
c8095f4874
EventContent: rename eventSender to senderText
2019-11-30 08:01:00 -04:00
miruka
2fd2806514
Support RoomMessageNotice events
2019-11-30 07:10:48 -04:00
miruka
3b2ab048fb
Rework import keys pass confirmation
...
- Show button as loading until the import is done, *then* close popup
- Remove the dedicated backend password checking function, we can use
import_keys() directly now
- Handle all the possible errors that could be thrown from python
2019-11-30 05:55:27 -04:00
miruka
a09e811e56
Remove old import dialog cruft
2019-11-30 05:55:27 -04:00
miruka
580f92e0be
Color member name on hover in sidepane
2019-11-30 05:55:27 -04:00
miruka
a01de1f3d6
Add power icons for room members
2019-11-30 05:55:23 -04:00
miruka
a35526a0b5
Show higher power-level room members first
2019-11-30 04:04:24 -04:00
miruka
61c2919c7f
Sort members and undated rooms case-insensitively
2019-11-30 03:59:44 -04:00
miruka
710dd56109
Correct "Empty room" display
2019-11-27 10:04:55 -04:00
miruka
81ce4635fc
Linkify alias in m.room.alias events
2019-11-27 06:30:42 -04:00
miruka
f187a5f0ab
Handle m.room.avatar, improve name/topic/alias
...
- Display the new room's avatar as an EventImage
- Show "x removed the room's avatar" if it's set to none
- Show "x removed the room's y" for empty name/topic/canonical alias
events instead of "x changed the y to ''"
2019-11-27 06:18:06 -04:00
miruka
e57ffdae3f
Room.__lt__(): use tuple comparison
2019-11-26 16:18:48 -04:00
miruka
2754fff0df
Fix set_avatar_from_file()
2019-11-26 15:52:04 -04:00
miruka
2b288bdfc6
Import/export keys improvements
2019-11-23 11:14:14 -04:00
miruka
1d3ca08957
Reintroduce (reduced) event list cacheBuffer
...
This is needed until we have proper url preview support
2019-11-22 10:36:59 -04:00
miruka
6eff9e0513
Animate HBox apparition
2019-11-22 10:35:53 -04:00
miruka
66d7428da2
Don't disable loading tab buttons
2019-11-22 04:51:55 -04:00
miruka
301384dc57
Fix collapse buttons always disabled
2019-11-22 04:50:40 -04:00
miruka
60c64ad96f
Fix logout
2019-11-22 04:27:20 -04:00
miruka
5a70adcc93
Use ES6 template strings
2019-11-18 03:57:13 -04:00
miruka
2123f5a66f
Improve upload code, based on nio PR #76
2019-11-17 13:31:00 -04:00
miruka
25ce08891d
Fix which EventImage url gets opened/copied
2019-11-16 08:06:56 -04:00
miruka
fc2fb605e3
Prefer using own client for fetching own profile
2019-11-14 16:20:30 -04:00
miruka
f727645342
Fix progress bar indeterminate ←→ normal switching
2019-11-12 18:22:57 -04:00
miruka
7e5bd5299e
Fix logout not properly stopping the sync task
2019-11-12 18:19:48 -04:00
miruka
c2590abe12
Fix saved_accounts.add bad arguments
2019-11-12 18:12:41 -04:00
miruka
ea980e0241
Show coro uuid when logging py exception from QML
2019-11-12 18:12:08 -04:00
miruka
c4a65b0cff
Remove big cacheBuffer from EventList
2019-11-12 10:00:32 -04:00
miruka
9f3bb1aa4d
set_avatar_from_file: raise if file isn't an image
2019-11-12 09:48:11 -04:00
miruka
5f04628178
No need to str(path) anymore for model item Upload
2019-11-12 09:46:29 -04:00
miruka
37f5f5973c
Clarify upload data type, guess_mime seek on end
2019-11-12 09:37:21 -04:00
miruka
47bfad1d72
Move Size type alias to utils
2019-11-12 09:26:43 -04:00
miruka
ef391d1eb1
Make utils function accept Path, str, bytes and IO
2019-11-12 09:24:58 -04:00
miruka
5832c3ca2d
Raise on init if homeserver url is missing scheme
2019-11-12 09:13:45 -04:00
miruka
73541ad7a5
download/thumbnail don't need authentification
2019-11-12 09:10:00 -04:00
miruka
4cc2ebf6e3
Use exceptions for get_profile
2019-11-12 08:47:03 -04:00
miruka
6558bdc87f
Put custom exceptions in their own file
2019-11-12 08:38:43 -04:00
miruka
290d3e9f6b
Simplify Backend.get_profile
2019-11-12 08:34:08 -04:00
miruka
3ebb11aa69
Raise on room send error instead of logging
2019-11-12 07:45:54 -04:00
miruka
5a04bbaa93
Remove leftover debug console call
2019-11-11 11:07:38 -04:00
miruka
a7e505a387
Document utils.py
2019-11-11 09:26:35 -04:00
miruka
746a9259db
SignIn: cancel previous task when clicking button
2019-11-11 09:12:31 -04:00
miruka
c9ddd4ee80
Change error msg when server URL may be invalid
2019-11-11 06:57:33 -04:00
miruka
7f48c1b35d
Properly handle login errors with new exceptions
2019-11-11 06:39:11 -04:00
miruka
de7053f196
Improve MatrixError.from_nio, use it for upload()
2019-11-11 06:08:31 -04:00
miruka
dbdb7b9bb0
Make thumbnail min/max size configurable via theme
2019-11-11 05:43:17 -04:00
miruka
deedc8c7aa
Fix EventFile sizing/elliding
2019-11-11 05:34:46 -04:00
miruka
4b76725006
Bring back EventFile (also for video/audio for now)
2019-11-11 05:26:32 -04:00
miruka
717b18fede
Fix HPage and EventList flickTarget conflict
2019-11-10 09:38:16 -04:00
miruka
f2ab84c754
Add tab navigation shortcuts (for AddChat)
2019-11-10 09:28:57 -04:00
miruka
484e9e595d
Rename EditAccount to AccountSettings
2019-11-10 09:07:35 -04:00
miruka
e3165d0a7c
HPage: fix header text vertical centering
2019-11-10 08:58:47 -04:00
miruka
c0adf8353b
Add account settings keybinds
2019-11-10 08:54:45 -04:00
miruka
e32747d434
Keybinds: remove old sidepane workaround binds
2019-11-10 08:50:50 -04:00
miruka
4920ef8155
Keybinds: Alt(+Shift)+N for add new chat/account
2019-11-10 08:49:51 -04:00
miruka
f552a16d51
HPage: set shortcuts.flickTarget on init
...
This makes any HPage by default keyboard-scrollable, notably
the new AddChat pages.
2019-11-10 08:44:36 -04:00
miruka
35a3ae2558
Change default collapse keybind to Alt+O
2019-11-10 08:36:54 -04:00
miruka
e2a7b690b3
Keybind: collapse first account if none selected
2019-11-10 08:34:05 -04:00
miruka
5d4840dcd8
Add shortcut to add new chats
2019-11-10 08:32:17 -04:00
miruka
14ba4b50b5
Avatars on FindSomeone/JoinRoom pages
2019-11-09 15:19:10 -04:00
miruka
72c480471a
Add encryption check box to FindSomeone page
2019-11-09 14:57:46 -04:00
miruka
793024434f
Set icon for starting direct chat
2019-11-09 14:29:19 -04:00
miruka
de59948214
When leaving room, try to go to previous page
2019-11-09 14:25:48 -04:00
miruka
46ff911bfa
Add FindSomeone page
2019-11-09 14:20:53 -04:00
miruka
0aedc1a7d0
Prevent "failed to convert null" qt warning
2019-11-09 13:41:12 -04:00
miruka
b34387ad79
Implement enabling encryption when creating room
2019-11-09 13:38:21 -04:00
miruka
e7283f48f1
Create/JoinRoom: fix clickButtonOnEnter
2019-11-09 11:18:49 -04:00
miruka
35a4030cc0
Hide previous errors when clicking accept buttons
2019-11-09 11:15:24 -04:00
miruka
02888eb63d
Change join/create room button icons
2019-11-09 11:10:25 -04:00
miruka
66fe230044
JoinRoom: enable join button if field is not empty
2019-11-09 10:48:48 -04:00
miruka
fa25c101ff
Fix HRepeater childrenImplicitWidth property
2019-11-09 10:48:05 -04:00
miruka
5d4b699104
CreateRoom: show message if creation fails
2019-11-09 10:39:43 -04:00
miruka
c34676e5a0
Turn JoinRoom field red on error
2019-11-09 10:34:54 -04:00
miruka
e95a23ef90
Handle JoinRoom errors, error clases overhaul
2019-11-09 10:20:16 -04:00
miruka
dbcca17192
Add JoinRoom page
2019-11-09 09:52:16 -04:00
miruka
a9a99e4a65
Add ctrl+tab keybind to go to last page
2019-11-08 16:01:09 -04:00
miruka
b53acb3113
Implement pageLoader history + CreateRoom cancel
2019-11-08 15:56:20 -04:00
miruka
ad34d2d171
Implement room creation functions
2019-11-08 15:32:12 -04:00
miruka
bfbeb83ce5
Size CreateRoom box correctly if window too small
2019-11-08 10:31:07 -04:00
miruka
37e6ced259
Readd nio_callbacks.py
2019-11-08 10:20:48 -04:00
miruka
0ebbbc4a27
HCheckBox: fix bad default subtitle text value
2019-11-08 10:17:23 -04:00
miruka
2f20361f5c
AddChat: make SwipeView non-interactive
...
Prevent accidentally switching tab by pressing left/right arrow (?)
2019-11-08 10:17:23 -04:00
miruka
8742b7803c
Tabs theme, even/odd color, no gaps between tabs
2019-11-08 10:17:23 -04:00
miruka
8c111904a5
AddChat: move create room tab to last position
2019-11-08 10:17:23 -04:00
miruka
11c8af7c19
Show the creator or future room's avatar
2019-11-08 10:17:23 -04:00
miruka
d6fd518334
Add HTabButton component
2019-11-08 10:17:23 -04:00
miruka
7bed1eca30
AddChat page
2019-11-08 10:17:23 -04:00
miruka
45951554a5
Add "+" button to account delegates
2019-11-08 10:17:23 -04:00
miruka
83ff9bf61d
Put all nio callbacks in a new separate class
2019-11-08 10:17:23 -04:00
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
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
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
miruka
b6609c5435
DebugConsole: remove debug print
2019-10-30 09:26:02 -04:00
miruka
ba527abedc
Add bubbles on top of EventImage to show name-date
2019-10-30 09:25:49 -04:00
miruka
2e4a7904d5
Play m.image events GIFs, rename some properties
2019-10-30 06:47:59 -04:00
miruka
b11c9d5675
Use lanczos filter and optimize saved thumbnail
2019-10-30 05:47:22 -04:00
miruka
adeec71fac
Log warning when thumbnailing fails
2019-10-30 05:36:54 -04:00
miruka
48bcc91582
Never upscale images when thumbnailing
2019-10-30 05:34:32 -04:00
miruka
412a86762e
Generate thumbnail when uploading images
2019-10-29 16:42:56 -04:00
miruka
7a5a1fc650
Print python exception tracebacks
2019-10-29 13:34:55 -04:00
miruka
001d6eff71
Initial upload implementation
2019-10-28 15:27:36 -04:00
miruka
820cc68373
Rename MatrixClient.send_markdown() to send_text
...
Because it deals with text command parsing too
2019-10-28 13:51:46 -04:00
miruka
662b60d7a8
Separate _function for local echoing
2019-10-28 13:49:55 -04:00
miruka
09a50f8bc7
Separate _function for general message sending
2019-10-28 13:34:59 -04:00
miruka
6eb3a378bc
Proper upload exceptions, handle in QML set avatar
2019-10-28 08:06:22 -04:00
miruka
5894481dc5
Python exceptions can now be handled via QML
...
callCoro/callBackendCoro can now take onSuccess(result) and
onError(type, args, errorObject) callbacks.
2019-10-28 06:26:02 -04:00
miruka
fe4eff62c5
Add basic loading indicator to images
2019-10-27 16:35:58 -04:00
miruka
a67d611958
Composer: add an upload button + file dialog
...
Upload not working yet
2019-10-27 15:12:57 -04:00
miruka
8c41142b43
HFileDialogOpener: provide better default title
2019-10-27 15:07:58 -04:00
miruka
eb582424b9
Ensure typing bar is invisible when reduced
2019-10-27 14:51:46 -04:00
miruka
040bfe37f8
Improve/fix EventImage size handling
2019-10-27 13:32:22 -04:00
miruka
bf4517b146
Disable non-image media support for now
2019-10-27 12:10:44 -04:00
miruka
07e6d74b91
Fix HTML escaping for markdown parsing
...
Use mistune's escape option instead of `html.escape()` which messes up
links.
2019-10-27 12:06:19 -04:00
miruka
3bc185f4e6
Change X11 selection only if any text selected
2019-10-25 09:02:21 -04:00
miruka
30ebb7c88e
Support X11 selection mechanism for messages
2019-10-25 08:49:19 -04:00
miruka
6aac5a9edb
Replace QML clipboard hack by proper new Clipboard
2019-10-25 08:42:04 -04:00
miruka
30823a9bf5
Add C++ Clipboard class accessible from QML
2019-10-25 08:36:24 -04:00
miruka
7090ff601f
Don't have local echoes stay fixed at the bottom
2019-10-24 10:28:07 -04:00
miruka
986e39cdc2
Fix quotes rendering in inline filtered html
...
Before:
a
>x
b
>z
This message would have been shown all gray in the client due to it not
beginning with a >. Now, the colors are properly shown for both quotes
and the non-quote text in between.
2019-10-24 09:43:40 -04:00
miruka
39b4706c75
Have return symbols in inline filtered html
...
Before: "foo\nbar" was rendered as "foobar"
Now: "foo\nbar" is rendered as "foo ⏎ bar" (U+23CE unicode).
2019-10-24 09:08:10 -04:00
miruka
756edc90dd
JS: use slice() instead of splice()
...
slice() does the same as splice() without the unintended effect of
transforming the array.
2019-10-24 08:09:33 -04:00
miruka
5522de5165
html_filter: don't remove \n in <pre> content
2019-10-24 08:06:50 -04:00
miruka
c4b05befa4
html_filter: html escape markdown before filtering
...
Fixes the problem where a user sends e.g. "hi <test>" and the "<test>" is
removed because it's seen as a bad html tag.
2019-10-24 07:27:13 -04:00