miruka
10dabca1d9
Use monospace font for error popup traceback
2019-12-28 04:55:34 -04:00
miruka
5f3ecef408
Merge branch 'style' into 0.3
2019-12-27 16:35:56 -04:00
miruka
ce733c6641
Catch signal exception when imported from thread
2019-12-27 09:28:46 -04:00
miruka
a1256cf20a
Turn Clipboard into a singleton
2019-12-27 09:06:42 -04:00
miruka
f34d2a1c6d
Turn CppUtils into a Singleton
2019-12-27 08:58:24 -04:00
miruka
e7caa0b8ef
Use a C++ implementation of hsluv
2019-12-27 08:23:32 -04:00
miruka
77f851c319
Respect uiScale to decide how to align our msgs
2019-12-26 11:12:33 -04:00
miruka
35fd57be56
Improve HDrawer complience/behavior with zoom
2019-12-26 11:09:40 -04:00
miruka
fc7f7256a1
Fix RoomPane buttons background static height
2019-12-26 10:51:41 -04:00
miruka
f977d9acf2
GUI popup for uncaught asyncio loop exceptions
2019-12-26 10:17:54 -04:00
miruka
511681ae4d
Report uncaught Python exceptions with a GUI popup
2019-12-26 09:24:54 -04:00
miruka
eff64fabd6
Catch any nio.ErrorResponse to raise MatrixErrors
2019-12-26 08:16:04 -04:00
miruka
4f1e4fcf1c
Remove excess period
2019-12-22 11:36:31 -04:00
siedes
f3e87eb3fc
Minor spelling and wording corrections
2019-12-22 11:29:33 -04:00
miruka
74d21224ab
Hide account icons when MainPane gets too small
2019-12-22 09:35:21 -04:00
miruka
ab786173d9
MainPane: leave more space to chat in small window
2019-12-22 09:35:21 -04:00
miruka
e9efca76d4
HDrawer: snap around default size when resize-drag
2019-12-22 09:35:21 -04:00
miruka
b4df752f8a
Improve MembersView when RoomPane collapsed
2019-12-22 09:35:21 -04:00
miruka
44e5de02f8
font color → span mx color for outgoing HTML
...
Also remove HTML_PROCESSOR `filter_inline` and `from_markdown_inline`
methods. `filter` and `from_markdown` now take an `inline` argument.
2019-12-22 09:35:21 -04:00
miruka
335d931b0a
Turn markdown color names into hex codes
...
Not all clients may know the same color names or even support them, hex
codes are unambiguous.
2019-12-22 09:35:15 -04:00
miruka
b0d77d74a9
Add custom markdown syntax for coloring text
...
<color>(text to color) where color can be a SVG color name,
3 characters hex or 6 characters hex code.
Can be used to send colored message from the composer. Other clients
that follow the matrix spec should be able to display them (e.g. riot,
even if it can't send them)
2019-12-20 14:44:31 -04:00
miruka
be61a34ec0
Event context menu entry to open debug console
...
Replaces the hidden double-click-on-empty-space feature
2019-12-20 10:39:10 -04:00
miruka
9bd739a0db
Fix focus and simplify popup-opener menu items
...
Introduce a HmenuItemPopupSpawner component that takes care of reacting
to onTriggered signals and calling the utils.makePopup() function.
The combination of this new component used in HMenu to open a HPopup
now correctly takes and restore focus to the right element when closed.
2019-12-20 10:30:50 -04:00
miruka
d9b7118f45
load_past_events: raise instead of logging errors
2019-12-20 09:30:57 -04:00
miruka
5e26188dfe
Fix & improve EventImage thumbnail sizes
2019-12-20 09:12:16 -04:00
miruka
be6292a521
RoomPane leave more space for chat in small window
2019-12-20 07:38:42 -04:00
miruka
5857f4e398
Better defined maximum sizes for the panes
2019-12-19 19:27:39 -04:00
miruka
535e380f40
Remove unused theme supported*PlusSpacing
2019-12-19 19:04:07 -04:00
miruka
aaa8411cb9
Room.last_event: be an Event instead of dict
2019-12-19 16:52:21 -04:00
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
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
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
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
miruka
652cd059c4
Prevent makeObject callback from running twice
2019-10-22 03:40:09 -04:00
miruka
8416eb33e3
main.cpp: remove useless includes
2019-09-26 17:46:55 -04:00
miruka
579ec94094
Don't vertically center message avatars
2019-09-19 19:36:09 -04:00
miruka
9de34d4d3f
Fix own medias in events positions
2019-09-19 19:28:28 -04:00
miruka
a3d2fc9b98
Fix debug console history when editing entry text
2019-09-19 18:43:25 -04:00
miruka
d9addff8ef
Put message debug thing in EventContent
2019-09-19 18:39:45 -04:00
miruka
c1a27328d9
Add up/down history browsing to DebugConsole
2019-09-19 18:29:10 -04:00
miruka
7b482de727
DebugConsole must now be created from components
...
Remove the default console from UI.qml and add a utils.js function
to create one quickly.
Using this function from the component we actually want to debug gives
the console full access to that component's scope, children IDs, etc.
2019-09-19 16:47:35 -04:00
miruka
d20ab5a348
Refactor EventContent
...
Use proper layouts and get rid of multiple annoyances/bugs like
text-wrapping randomly happening in the middle of words, background
rectangles being too large, a certain binding loop, etc
2019-09-19 15:49:29 -04:00
miruka
4c4d747ecf
Add AudioPlayer & EventAudio
2019-09-17 23:23:47 -04:00
miruka
f19d337817
Move hover preview height from settings to theme
2019-09-17 16:39:45 -04:00
miruka
692749e72f
Support video events, new media player
2019-09-17 16:30:04 -04:00
miruka
76ffdfd28a
Fix HTile left/right click handling
2019-09-14 18:52:43 -04:00
miruka
c6395ff940
EventDelegate context menu, EventFile click
...
Improve/extend choosing the cursor shape, how context menu handles the
current hovered thing, and open link on EventFile click
2019-09-14 18:33:32 -04:00
miruka
a80f294610
Add EventFile (unfunctional for now)
2019-09-14 17:49:25 -04:00
miruka
38e781c9f7
Fix HButton/HTile focus and click
2019-09-14 17:39:17 -04:00
miruka
784cb3b19c
Split HTileDelegate into HTile and HTileDelegate
2019-09-14 16:05:57 -04:00
miruka
fe087ba724
Expose new CppUtils class with formattedBytes()
2019-09-14 15:42:24 -04:00
miruka
69aea0e37f
EventImage: open/copy original image on clicks
2019-09-14 01:06:53 -04:00
miruka
45b6714bcb
Hide EventContent contentLabel if no text
2019-09-14 00:56:38 -04:00
miruka
451038641e
Display RoomMessageImage events
2019-09-14 00:46:54 -04:00
miruka
0db34cc3c8
Add EventMediaLoader
...
Handles loading of URL previews and will handle all
matrix media messages types.
2019-09-14 00:36:19 -04:00
miruka
8ad13b033d
Event: optional (inline_)content, auto-gen inline
2019-09-13 23:02:11 -04:00
miruka
a5095274ba
MatrixClient: RoomMessageMedia support
2019-09-13 22:48:33 -04:00
miruka
a2ab7b3090
Add event callback for RoomUnknownMessage
2019-09-13 19:58:45 -04:00
miruka
d3a02deb46
Update version to 0.2.3
2019-09-12 20:59:12 -04:00
miruka
8334f88418
Reduce mouse wheel speed in eventList
2019-09-12 20:54:25 -04:00
miruka
f6b2c59fdc
Remove quadruple click message selection
...
A tripple click is too easily detected as a quadruple when the user
actually did a triple.
2019-09-12 20:17:43 -04:00
miruka
7f29716a61
Fix message times being on a separate line
2019-09-12 20:14:02 -04:00
miruka
ebf6d36c01
Transparent black for hovered avatar background
...
Also add theme property to change it.
2019-09-12 20:04:46 -04:00
miruka
fcdd960779
Fix avatar tooltips
2019-09-12 19:54:31 -04:00
miruka
7313d6cf1d
Remove debug print in HImage
2019-09-12 17:39:28 -04:00
miruka
0b60b2b5bc
Add autoplay GIF setting
2019-09-12 17:32:48 -04:00
miruka
1f58cfeae8
Add GIF pause overlay
2019-09-12 17:27:26 -04:00
miruka
5192fe8b55
Click to play/pause animated image
2019-09-12 16:25:05 -04:00
miruka
125d1e24aa
Support GIFs
2019-09-12 16:16:35 -04:00
miruka
f8811f4e0c
Disable underscore emphasis syntaxes for markdown
2019-09-11 17:25:50 -04:00
miruka
5676a369b2
MemberDelegate: fix missing right padding
2019-09-11 16:49:40 -04:00
miruka
2e3d21aa31
HToolTip: fix binding loop
2019-09-11 16:47:13 -04:00
miruka
0e6b6c830d
Support inline HTML/links for room topic
2019-09-11 16:01:37 -04:00
miruka
e53f6ed292
Fix selection disappearing after delegates unload
...
Make delegates update their selection when they're loaded again.
2019-09-11 15:49:00 -04:00
miruka
d998b471f0
Fix text selection start drag delay
2019-09-11 15:25:57 -04:00
miruka
51e544ddf1
Fix triple click not selecting last message char
2019-09-11 01:55:07 -04:00
miruka
72bcb9bbe3
Update version to v0.2.2
2019-09-10 22:07:41 -04:00
miruka
60663ed040
Leave non-image links out from Event.previe_links
...
normal links preview isn't implemented yet, which caused any message
with a link to take at least 256px due to the preview repeater.
2019-09-10 22:07:06 -04:00
miruka
7211dd8fda
Fix account settings name field getting reset
2019-09-10 21:58:28 -04:00
miruka
7797b0e1eb
HtmlFilter: Remove excess newlines
...
To avoid additional blank lines with HTML/CSS using `white-space: pre`
2019-09-10 21:22:42 -04:00
miruka
b3135601ed
Stop supporting starting without pyotherside
2019-09-10 20:49:01 -04:00
miruka
d6b8fae30a
matrix_client: leave room before forgetting it
2019-09-10 01:34:01 -04:00
miruka
988ab94772
Fix ForgetRoomPopup destruction/callback
2019-09-09 20:56:10 -04:00
miruka
3e01eeef71
LeftBanner: use ForgotRoomPopup
2019-09-09 20:24:29 -04:00
miruka
b7b309ad4c
SignIn: increase box width again
...
To avoid the Login button loading icon from making the button grid
switch to column mode.
2019-09-09 14:50:45 -04:00
miruka
82f0c273e7
LogoutPopup: implement export keys button callback
2019-09-09 14:49:54 -04:00
miruka
7c0bed79a9
ImportKeys/ExportKeys separate dialog componants
2019-09-09 14:42:58 -04:00
miruka
15add6d91c
Confirm account logout and propose exporting keys
...
Key export button callback not implemented yet.
2019-09-09 12:58:13 -04:00
miruka
85bdbcf5be
Move HBox stuff from HPopup to BoxPopup
2019-09-09 12:50:00 -04:00
miruka
38781502c6
HBox: make buttons a column if not enough width
2019-09-09 12:37:01 -04:00
miruka
a3b56519f7
ForgetRoomPopup: improve texts
2019-09-09 12:35:19 -04:00
miruka
2f7fbd2621
Profile: fix eliding, increase wide width needed
2019-09-09 11:35:46 -04:00
miruka
81f54641ba
SignIn: increase box width to avoid eliding
2019-09-09 11:24:42 -04:00
miruka
035ab1add6
HMenu: Fix width calculation (padding)
2019-09-09 11:21:49 -04:00
miruka
d7fc0ad0b8
HButtonContent: Enable label eliding
2019-09-09 11:20:59 -04:00
miruka
4ffa3470c7
Confirm forgetting room with popup
2019-09-09 09:24:45 -04:00
miruka
88042cd111
Confirm leaving room with popup
2019-09-09 09:12:51 -04:00
miruka
c38cc9d3df
Move popups to their own folder
2019-09-09 08:57:38 -04:00
miruka
6b26aa6d0b
load_past_events: Catch RoomMessagesError
2019-09-09 08:26:09 -04:00
miruka
3ef32b4c04
Use verb when possible instead of "OK" for buttons
2019-09-09 08:20:24 -04:00
miruka
9f8ac6ca9f
Auto-focus OK only for ClearMessagesPopup
2019-09-09 08:16:05 -04:00
miruka
7f995c749f
HPasswordPopup: enable OK if password not empty
2019-09-09 07:49:07 -04:00
miruka
e5893c5569
HBox: Add arrow keys navigation
...
Also rename enterButtonTarget to clickButtonOnEnter
2019-09-09 07:41:48 -04:00
miruka
7f89604789
button/checkbox: highlight on activeFocus
...
Not just tab-induced focus.
2019-09-09 07:19:06 -04:00
miruka
af17151c11
Fix shortcut focus issue?
2019-09-09 06:47:36 -04:00
miruka
6f7695ad22
HBoxPopup: split text into summary and details
2019-09-09 06:32:29 -04:00
miruka
9286f54cd5
Rename HOkCancelPopup to HBoxPopup
2019-09-09 06:25:08 -04:00
miruka
2611e86517
Confirmation popup to clear messages
2019-09-09 06:23:46 -04:00
miruka
f40e853078
Word-wrap name label for messages
2019-09-08 21:56:15 -04:00
miruka
d547df62fb
Fix HPasswordPopup valid/wrong icon color
2019-09-08 12:19:40 -04:00
miruka
aae26672de
Split HPasswordPopup into HPopup, HOkCancelPopup
2019-09-08 12:17:42 -04:00
miruka
aefb314999
Fix exporting key to a path that doesn't exist yet
2019-09-08 12:17:08 -04:00
miruka
df753b5262
Say "change profile picture" if avatar already set
2019-09-08 11:53:01 -04:00
miruka
e93c251624
Add clear messages shortcut
2019-09-08 11:51:03 -04:00
miruka
db0de237e6
Add message context menu entry to clear events
2019-09-08 11:40:39 -04:00
miruka
405573bb2d
Fix room subtitle quotes: second+ quote not green
2019-09-08 10:48:58 -04:00
miruka
916f6d8327
Update version to v0.2.1
2019-09-07 23:14:31 -04:00
miruka
a87f98fae0
Add key exporting to account settings
2019-09-07 19:17:32 -04:00
miruka
11486ab51d
Add homeserver URL field to login screen
2019-09-07 17:24:58 -04:00
miruka
8113ba468d
HTextField: remove ugly _tf property
2019-09-07 17:02:09 -04:00
miruka
31e1daa046
Set placeholder text color for text field and area
2019-09-07 17:00:12 -04:00
miruka
c5bd5a1eb1
Add transparency to typing members bar
2019-09-07 16:55:07 -04:00
miruka
134543728e
Add escape to exit and clear room filter field
2019-09-07 16:48:23 -04:00
miruka
a15fba92cb
Add clearRoomFilterOnEnter setting, default true
2019-09-07 16:39:14 -04:00
miruka
a731013a8c
Fix Utils.minutesBetween()
...
minutesBetween(
new Date(2019, 01, 01, 13, 20, 00), new Date(2019, 01, 01, 14, 20, 00)
)
returned 0 instead of 60, the fixed function property return numbers of
minutes after 60.
2019-09-07 16:33:16 -04:00
miruka
a6b154c207
Composer scrollbar: invisible unless really needed
2019-09-07 15:48:13 -04:00
miruka
66129a9eb2
Remove seconds from message dates
...
Makes them easier to read
2019-09-07 15:16:03 -04:00
miruka
78119d1ef0
Wrap text in <pre>
2019-09-07 14:34:14 -04:00
miruka
cde0c15a68
Add full name/topic tooltip to room header
2019-09-07 14:14:04 -04:00
miruka
66871aefe6
Set a (max) content width for HToolTip
2019-09-07 14:00:01 -04:00
miruka
fd543f3204
Re-fix quote parsing
2019-09-07 02:22:42 -04:00
miruka
9f8bdfc6fb
Fix html quote regex
...
Also allow quoting in title, e.g. "# > blah blah blah"
2019-09-07 01:44:51 -04:00
miruka
07fb63aa1e
rstrip excess \n from html filter output
...
Caused the event time to be incorrectly shown on its own on a new line
for messages that were ~600px
2019-09-07 00:19:36 -04:00
miruka
393d404242
Fix name alignment for own messages on left
2019-09-06 23:36:37 -04:00
miruka
6e40f29ebe
Consider preview thumbnails to calculate msg width
...
Also move thumbnails width setting from settings.json to the theme
2019-09-06 23:36:37 -04:00
miruka
ea9caa69f6
Change cursor shape when image hovered
2019-09-06 23:36:37 -04:00
miruka
be481b778a
Fix message width making time on its separate line
2019-09-06 23:36:37 -04:00
miruka
7c42066d75
Eventdelegate: Merge menu print and debug console
...
Also fix avatar-message spacing
2019-09-06 23:36:14 -04:00
miruka
5674d0c7b7
Use a component to display image link previews
2019-09-06 23:34:40 -04:00
miruka
3c4ca7d433
Fix past loading not triggering in some cases
2019-09-06 17:05:49 -04:00
miruka
0651fbd100
Make page scrolling less slippery
2019-09-06 17:03:52 -04:00
miruka
14e01159c6
Increase max flick velocity for HListView
2019-09-06 16:51:26 -04:00
miruka
c35492ca62
Restore HListView scrollbar
2019-09-06 16:46:04 -04:00
miruka
164f09c939
Add theme property to control hovered avatar size
2019-09-06 16:14:39 -04:00
miruka
812fc3aff7
Background color for HMenu instead of transparent
2019-09-06 16:11:25 -04:00
miruka
e1f24657f1
Fix mouse wheel not working on eventList
2019-09-06 16:08:16 -04:00
miruka
d353056db9
Fix scroll to top/bottom
2019-09-06 15:20:22 -04:00
miruka
f6a24ec020
Remove overshoot check for smartVerticalFlick()
...
Keyboard flicking feels better witohut rather than just abruptly
stopping or not doing anything if the user is already at the top/bottom
of the flickable.
2019-09-06 15:07:19 -04:00
miruka
ddce551360
Add option to target message for debug console
2019-09-06 15:07:19 -04:00
miruka
01f8bc3d6c
Add context menu to copy message link URLs
2019-09-06 15:07:19 -04:00
miruka
bf2004ed84
Don't deselect area text from label container
2019-09-06 15:07:19 -04:00
miruka
85aaf7bcce
Don't copy combined invisible names
2019-09-06 15:07:19 -04:00
miruka
9936a7e2ee
Fix ctrl-c behavior
2019-09-06 15:07:19 -04:00
miruka
922eac4ea9
Pseudo-clipboard safety modifications
2019-09-06 15:07:19 -04:00
miruka
5ce71834f9
Fix clicking a link breaking scroll shortcuts
2019-09-06 15:07:19 -04:00
miruka
b867584784
Make qrc path aliases the same as filesystem ones
2019-09-06 15:07:19 -04:00
miruka
ddd1587b7d
Update version to v0.2.0
2019-09-06 15:07:19 -04:00
miruka
e6a133598f
Prevent non-left buttons from drag-scrolling
2019-09-06 15:06:35 -04:00
miruka
24a976e3ee
Fix clicking on eventList top/bot making it scroll
2019-09-06 15:06:35 -04:00
miruka
6a346264be
Improve multiple clicks message selection
...
- Triple click selects the message body without date or name
- Quadruple click (yes) selects the entire message with name and date
- Quadruple click on the name label does the same
2019-09-06 15:06:35 -04:00
miruka
32fde57ba7
Make message display names selectable
2019-09-06 15:06:35 -04:00
miruka
b610a404af
Clear selection if event list loses focus
2019-09-06 15:06:35 -04:00
miruka
522d078d7b
Accept ctrl-c to copy selected messages
2019-09-06 15:06:35 -04:00
miruka
131a20e9c5
Add context menu to copy selected messages
2019-09-06 15:06:35 -04:00
miruka
016f76167f
Initial implementation of message selection
2019-09-06 15:06:35 -04:00
miruka
aaaff814a1
Update version to v0.1.3
2019-09-06 15:04:19 -04:00
miruka
87ff343cc3
Reduce quotes brightness in room subtitles
2019-09-06 14:12:32 -04:00
miruka
fd0cd35152
Enable logging of nio errors
2019-09-06 14:05:47 -04:00
miruka
f5cbbd0a44
Reduce needed width to show room times
...
Also remove excess spacing between the title and time
2019-09-06 14:04:18 -04:00
miruka
5eaa877554
Avoid import harmless error messages at the end
2019-09-05 17:51:38 -04:00
miruka
dc209bc5d4
Press esc to hide debug console
2019-09-05 16:28:06 -04:00
miruka
58d491a2b3
Add basic JS/QML debug console
2019-09-05 15:43:00 -04:00
miruka
eab6d1c2ee
Fix linkify regex to allow # characters
2019-09-04 05:10:53 -04:00
miruka
970b0c82d3
Disable long press to open context menu
...
Interferes with drag-scrolling for HTileDelegate
2019-09-02 19:35:18 -04:00
miruka
6b18ac6d26
Fix members list overlapping with filter field
2019-09-02 13:24:25 -04:00
miruka
175caba2e9
Ignore member events where prev_content == content
2019-09-02 13:21:46 -04:00
miruka
d5dbb1368f
Fix RoomHeader icon paddings
2019-09-01 20:33:05 -04:00
miruka
a0509465e6
live-reload: allow specifying a component to load
2019-08-31 21:52:45 -04:00