miruka
190eb58187
Write user files and media atomically
2020-03-13 04:36:22 -04:00
miruka
9d3e2dbfc4
Fix quotes in room subtitles
2020-03-13 03:55:04 -04:00
miruka
7e5896f52b
Fix MediaCache asyncio Semaphore early import bug
2020-03-13 02:46:21 -04:00
miruka
247eb15281
Rename MainPaneToolBar to BottomBar
2020-03-12 17:15:36 -04:00
miruka
77d877047b
Update docstrings
2020-03-12 14:41:00 -04:00
miruka
9bad0132d6
Make upload cancelling instant without visual hack
2020-03-12 13:28:30 -04:00
miruka
abf7251f75
TODO.md cleanups and clarifications
2020-03-10 21:28:32 -04:00
miruka
59296dd22c
Change name and bump version
2020-03-10 10:41:27 -04:00
miruka
8d594e3e83
Fix room at index 0 not highlightable
2020-03-10 06:07:55 -04:00
miruka
f9f558cd34
Fix Thumbnail.from_bytes()
2020-03-09 17:33:07 -04:00
miruka
24180fc346
GUI-report important errors that occur during sync
...
Important = "isn't a server 5xx error"
2020-03-09 13:08:09 -04:00
miruka
46f3f15694
Fix cached thumbnails extensions
2020-03-09 12:10:04 -04:00
miruka
382235875c
Upload thumbnails with the correct extension
2020-03-09 10:10:21 -04:00
miruka
61cc87cf18
Show max file size on upload button tooltip
2020-03-09 09:57:53 -04:00
miruka
ca8dd65f34
Disable buggy composer backspace override
2020-03-09 08:09:58 -04:00
miruka
0fa16400df
Error msg for bad invites in non-federated room
2020-03-09 07:59:23 -04:00
miruka
1f76ceb1e3
Add Qt 5.15 future features to TODO
2020-03-09 05:55:57 -04:00
miruka
c618fb8ba3
Don't upload thumbnail if heavier than original
2020-03-08 08:10:27 -04:00
miruka
e1b26d1ec7
Show thumbnail uploading progress when uploading
2020-03-08 08:05:41 -04:00
miruka
d1e42a72a0
Fix upload pause/cancel
2020-03-08 07:34:38 -04:00
miruka
46232e3fb1
Button icon.cache only exists for Qt 5.13+
2020-03-07 13:08:18 -04:00
miruka
4636a36154
AccountRoomsList highlight delegate scrolling
2020-02-13 05:36:28 -04:00
miruka
ce0a868579
Refix Event.source, JSONify dicts for ListModel
2020-02-12 14:14:09 -04:00
miruka
ae780345e8
Make "Filter members" work again
2020-02-12 08:15:54 -04:00
miruka
8a29143b60
Working Event.event_type & source fields
2020-02-12 06:19:49 -04:00
miruka
9990fecc74
Begin yet another model refactor
...
Use native ListModel which require a lot of changes, but should be
much faster than the old way which exponentially slowed down to a crawl.
Also fix some popup bugs (leave/forget).
Not working yet: side pane keyboard controls, proper highlight,
room & member filtering, local echo replacement
2020-01-06 03:41:14 -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
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
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
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
aaa8411cb9
Room.last_event: be an Event instead of dict
2019-12-19 16:52:21 -04:00
miruka
934d6a79a2
Document nio_callbacks.py, small code improvements
2019-12-18 14:24:55 -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
d7045644f1
Rename and document html filtering stuff
2019-12-18 09:33:22 -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
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
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
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
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
7d8f67bfe2
Retry if initial profile retrieval on login fails
2019-12-16 05:03:57 -04:00
miruka
5765638466
Fix click on room setting buttons not working
2019-12-15 15:23:15 -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
2cfe76fd8e
Wrap image progress bars in loaders, fix cpu usage
2019-12-15 13:02:40 -04:00
miruka
09d94e7390
Update TODO
2019-12-15 03:54:54 -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
17452ea69b
Update TODO
2019-12-13 17:37:31 -04:00
miruka
a493b0cf61
Add "invite members" to room context menu
2019-12-13 17:04:56 -04:00
miruka
8a4c160df6
Working cancel button in settings
2019-12-13 10:14:54 -04:00
miruka
5dc228f197
Improve TODO.md & add section about Qt future
2019-12-12 11:48:16 -04:00
miruka
82e4dff2ab
Fix left rooms appearing as joined rooms
2019-12-12 10:33:52 -04:00
miruka
707ac61ff6
Support and sort invited room members
2019-12-12 10:03:39 -04:00
miruka
1ecd383791
Hide avatar tooltips for broken thumbnails
2019-12-11 15:16:14 -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
001c643406
Implement inviting to room
2019-12-11 12:42:59 -04:00
miruka
3c4c92dbc0
Save/load composer text
2019-12-10 17:04:03 -04:00
miruka
2cd177dc13
Add text remembering ability to HTextField
2019-12-10 15:32:42 -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
852b5818a2
Fix Chat loading spinner position
2019-12-09 15:34:13 -04:00
miruka
13d3f19997
Replace all ==/!= by ===/!==
2019-12-09 11:35:50 -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
455801a641
Use new way to cancel current login for signin btn
2019-12-07 18:45:03 -04:00
miruka
f75d44a0dd
Add temporary "unimplemented" Register box
2019-12-07 12:39:35 -04:00
miruka
883d1c095b
Smooth box size transition between AddChat tabs
2019-12-07 08:18:18 -04:00
miruka
d70260d007
Add visual upload pause button, not working yet
2019-12-06 07:10:22 -04:00
miruka
2fe8c80aa5
Enable high DPI scaling
2019-12-04 11:49:20 -04:00
miruka
470b031a6f
Standardize usage of period in UI sentences
2019-12-04 09:32:07 -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
e4aa3b6572
Handle upload errors
2019-12-02 02:57:47 -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
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
2fd2806514
Support RoomMessageNotice events
2019-11-30 07:10:48 -04:00
miruka
710dd56109
Correct "Empty room" display
2019-11-27 10:04:55 -04:00
miruka
5a70adcc93
Use ES6 template strings
2019-11-18 03:57:13 -04:00
miruka
fc2fb605e3
Prefer using own client for fetching own profile
2019-11-14 16:20:30 -04:00
miruka
fccae0e191
Update TODO
2019-11-12 09:58:41 -04:00
miruka
9f3bb1aa4d
set_avatar_from_file: raise if file isn't an image
2019-11-12 09:48:11 -04:00
miruka
73541ad7a5
download/thumbnail don't need authentification
2019-11-12 09:10:00 -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
484e9e595d
Rename EditAccount to AccountSettings
2019-11-10 09:07:35 -04:00
miruka
14ba4b50b5
Avatars on FindSomeone/JoinRoom pages
2019-11-09 15:19:10 -04:00
miruka
b53acb3113
Implement pageLoader history + CreateRoom cancel
2019-11-08 15:56:20 -04:00
miruka
7bed1eca30
AddChat page
2019-11-08 10:17:23 -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
4a6f634f7a
Allow picking multiple files to upload
2019-11-06 17:13:15 -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
3acd3ba66a
Show broken image icon when image fails to load
2019-11-06 16:09:32 -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
4c15b7dc62
Fix SVG uploads, fix entire Upload model deleted
2019-11-06 07:50:31 -04:00
miruka
e45f2c9d2d
Fix thumbnail API error when QML gives float sizes
2019-11-06 06:51:55 -04:00
miruka
078cf61b7e
Show an uploads bar in chats when uploading files
2019-11-06 06:28: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
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
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
ba527abedc
Add bubbles on top of EventImage to show name-date
2019-10-30 09:25:49 -04:00
miruka
a67d611958
Composer: add an upload button + file dialog
...
Upload not working yet
2019-10-27 15:12:57 -04:00
miruka
040bfe37f8
Improve/fix EventImage size handling
2019-10-27 13:32:22 -04:00
miruka
30ebb7c88e
Support X11 selection mechanism for messages
2019-10-25 08:49:19 -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
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
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
c1a27328d9
Add up/down history browsing to DebugConsole
2019-09-19 18:29:10 -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
692749e72f
Support video events, new media player
2019-09-17 16:30:04 -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
a5095274ba
MatrixClient: RoomMessageMedia support
2019-09-13 22:48:33 -04:00
miruka
8334f88418
Reduce mouse wheel speed in eventList
2019-09-12 20:54:25 -04:00
miruka
7f29716a61
Fix message times being on a separate line
2019-09-12 20:14:02 -04:00
miruka
fcdd960779
Fix avatar tooltips
2019-09-12 19:54:31 -04:00
miruka
2a7ed6143d
Add requirements.txt
2019-09-12 18:10:21 -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
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
b17a958906
Improve TODO.md
2019-09-11 14:38:55 -04:00
miruka
51e544ddf1
Fix triple click not selecting last message char
2019-09-11 01:55:07 -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
d6b8fae30a
matrix_client: leave room before forgetting it
2019-09-10 01:34:01 -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
38781502c6
HBox: make buttons a column if not enough width
2019-09-09 12:37:01 -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
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
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
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
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
9f8bdfc6fb
Fix html quote regex
...
Also allow quoting in title, e.g. "# > blah blah blah"
2019-09-07 01:44:51 -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
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
08e125323c
Add context menu to copy message link URLs
2019-09-06 17:05:49 -04:00
miruka
cb4ceb3a93
Don't copy combined invisible names
2019-09-06 17:05:49 -04:00
miruka
86caf719c7
Pseudo-clipboard safety modifications
2019-09-06 17:05:49 -04:00
miruka
d350e38979
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 17:04:45 -04:00
miruka
e1f24657f1
Fix mouse wheel not working on eventList
2019-09-06 16:08:16 -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
922eac4ea9
Pseudo-clipboard safety modifications
2019-09-06 15:07:19 -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
5eaa877554
Avoid import harmless error messages at the end
2019-09-05 17:51:38 -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
1c41b91ef2
Remove old .pylintrc
2019-09-01 15:58:28 -04:00
miruka
a0509465e6
live-reload: allow specifying a component to load
2019-08-31 21:52:45 -04:00
miruka
9aff5450db
Reduce icons brightness
2019-08-30 20:30:39 -04:00
miruka
ca2ecc75bb
Make uvloop dependency optional
2019-08-30 20:24:13 -04:00
miruka
446dc776b0
Make make install
work
2019-08-30 20:13:38 -04:00
miruka
cc4a33bb04
Write to disk merged base + user config files
2019-08-30 19:43:58 -04:00
miruka
92f6274458
Use QtGraphicalEffects.LinearGradient
...
Instead of using a Rectangle and its gradient prop, since there's no
need for the rotation/scale hack and it gives better quality.
2019-08-30 19:21:51 -04:00
miruka
e506a70767
Fix random shortcuts getting triggered
...
Caused the "window bounces when typing text" bug
2019-08-30 19:06:42 -04:00
miruka
8a7e140163
Improve README instructions
2019-08-30 17:05:22 -04:00
miruka
546761f591
Fix sidePane toolBar id/property name
2019-08-30 13:48:24 -04:00
miruka
6a540f6397
Add keybinds to scroll page up/down
2019-08-30 13:06:54 -04:00
miruka
927323909d
Rename "greentext" to "quote"
2019-08-30 12:29:01 -04:00
miruka
720eb78fe8
Fix displaying local echo html formatting
2019-08-30 11:53:55 -04:00
miruka
aec83c66f3
Fix apply button loading on profile change
2019-08-30 11:42:01 -04:00
miruka
8a2053fcaf
Fix collapsing account with keyboard
...
When collapsing the account and the current page/focus is a room of this
account, switch focus to the account.
2019-08-30 11:24:47 -04:00
miruka
244fc12465
Fix using up/down arrows when focusing sidepane
...
Pause the HTileDelegates setCurrentTimer when the SidePane has focus.
2019-08-30 10:56:38 -04:00
miruka
4587599cf5
Fix sending typing state when no configured alias
2019-08-30 10:49:41 -04:00
miruka
f0612c2a51
Fix daybreak not showing before RoomCreateEvent
2019-08-30 10:33:17 -04:00
miruka
a987cf48e6
Don't add profile events to the timeline (for now)
2019-08-30 10:09:09 -04:00
miruka
19cbfc9cfe
Fix html_filter.py for html_sanitizer 1.7.3
2019-08-30 00:07:41 -04:00
miruka
73af3bd2c5
Reduce button hover/highlight overlay opacity
2019-08-28 19:44:52 -04:00
miruka
ff9f8127d7
UI gradient background, adjust some colors
2019-08-28 19:34:50 -04:00
miruka
1806ac6ac0
Color "upload profile picture" icon
...
Also fix hover zone to span the entire avatar rectangle
2019-08-28 18:47:04 -04:00
miruka
e1da7be253
Gray out disabled button icons
2019-08-28 18:32:16 -04:00
miruka
6cda69ad67
Restore icon colors
2019-08-28 18:21:13 -04:00
miruka
21b44bcf66
Add animated icon to ImportingKeys box
2019-08-28 13:50:29 -04:00
miruka
f8a392883b
Retry decrypting megolm events after a key import
2019-08-28 13:23:12 -04:00
miruka
ce3404a516
Show import keys error in the UI
2019-08-28 11:42:52 -04:00
miruka
f65c0176ba
Better error handling and fixes for key import
2019-08-27 23:51:38 -04:00
miruka
399a35dacb
Rename SendBox to Composer
2019-08-27 23:03:52 -04:00
miruka
ebfebbeae1
Improve import keys password popup
2019-08-27 22:43:57 -04:00
miruka
05b248e31a
Make config file reloading work again
2019-08-27 20:06:58 -04:00
miruka
eb11e7a13a
Disable invite and room sidepane expand icon
...
Their functions are not implemented yet.
2019-08-27 19:51:25 -04:00
miruka
410a42bc59
Show EditAccount page loading until profile ready
2019-08-27 15:07:08 -04:00
miruka
6cb7589cca
Loading icon for accounts until synced
2019-08-27 15:00:50 -04:00
miruka
bf3847dd66
Animate button loading
2019-08-27 14:11:33 -04:00
miruka
f5e52aed4e
Fix qrc resources not working
2019-08-25 15:39:00 -04:00
miruka
3749d1e135
Allow pressing escape to cancel in edit profile
2019-08-22 10:22:21 -04:00
miruka
3082c64666
Show user ID as member tile subtitle
...
Also move member styling in theme to the right place
2019-08-22 05:42:48 -04:00
miruka
6b64800ed7
Fix highlight not set when logging in new account
2019-08-21 17:55:27 -04:00
miruka
b8d43ecfec
Add account logout feature via context menu
2019-08-21 17:45:05 -04:00
miruka
26b01be23c
Add accept invite to room context menu
2019-08-21 16:38:34 -04:00
miruka
076ff743ad
Add forget to room context menu
...
Also show Leave only if not already left, and rename forget-room.svg to
room-forget.svg
2019-08-21 16:29:44 -04:00
miruka
437324bd64
Improve HMenu/HMenuItem style
2019-08-21 16:23:22 -04:00
miruka
6067c8ec96
Add room context menu with Leave/Decline invite
2019-08-21 14:58:57 -04:00
miruka
d2938f8730
Don't linkify image links for outgoing html
2019-08-21 14:14:44 -04:00
miruka
7624ce5fcb
hsluv/hsl(a) functions: wrap around hue
2019-08-21 12:32:14 -04:00
miruka
1886303481
Fix member filtering
2019-08-21 12:17:12 -04:00
miruka
8ef3a6dc33
Fix expand icon size and startup highlight
...
Remove "hide hover highlight when keyboard pressed" feature, too hacky.
2019-08-21 06:02:00 -04:00
miruka
bdf7a63e6f
Increase sign in login method icons size
2019-08-21 04:43:37 -04:00
miruka
46e685847f
Replace HInteractiveRectangle by HTiledelegate
2019-08-21 04:39:07 -04:00
miruka
4abf57c8d4
Make HCheckBox themable
2019-08-20 18:31:20 -04:00
miruka
e012cf6e31
Highlight HButton when tab-focused
2019-08-20 17:43:59 -04:00
miruka
ce128d5ab5
Refactor HButton
2019-08-20 17:41:24 -04:00
miruka
c865de6dc7
Fix wrong collapse keybind: Alt+Shift+(R → L)
2019-08-20 13:01:22 -04:00
miruka
d427465425
Don't animate highlight rectangle sliding on click
2019-08-19 18:32:43 -04:00
miruka
de4d984ded
Use smart case for filters
2019-08-19 18:25:00 -04:00
miruka
109082c8d8
Use a Loader instead of StackView for pageStack
2019-08-19 15:38:45 -04:00
miruka
99bbe7f3ee
Keep the highlighted ListView item centered
2019-08-19 14:46:40 -04:00
miruka
af14038909
Rename filterRooms keybind to FocusSidePane
2019-08-19 13:58:31 -04:00
miruka
6ec193d554
obj.__dict__ calls → obj.serialized or vars(obj)
2019-08-19 11:52:52 -04:00
miruka
4349643345
filter_string is now a class property
...
- Support serializing class properties instead of just dataclass fields
- filter_string is now a property that's always up-to-date
- Account display names matching the current SidePane filter are shown
2019-08-19 11:34:51 -04:00
miruka
165c1b797e
Repair room filter, performance improvements
...
Chnaging delegate heights is a terrible idea that leads to graphic bugs.
Handle filtering (both room and accounts) and collapsing from a function
that sets the JsonListModel source.
2019-08-19 10:28:49 -04:00
miruka
2865d86d19
Refactor SidePane ListView in a flat way
...
Also adjust some colors (accentBackground)
TODO: Repair Filter rooms field
2019-08-18 03:35:28 -04:00
miruka
2e89dcae9e
Add shortcut to focus filter rooms field
2019-08-17 15:58:32 -04:00
miruka
d98b215c0f
Fix plain text messages newlines being ignored
2019-08-17 14:51:04 -04:00
miruka
717680bf0c
No leading 0 for RoomDelegate last event time
...
To save some pixels
2019-08-17 14:22:32 -04:00
miruka
72b5954ce3
Simplify startup and improve its animation
...
- Remove Python.loadingAccounts/willLoadAccounts
- Fix HPage SwipeView bug that caused its inner SidePane to steal focus
- Use overshoot for animation
- Get rid of sidepane flickering
- Set default HNumberAnimation easing.type to OutQuad, specify InOutQuad
for HCheckBox
2019-08-17 14:14:18 -04:00
miruka
1ab79347e9
Refactor HInterfaceBox and SignIn page
...
- Cleaned up code
- Sizes are standardized
- New HCheckBox component
- Replace RememberAccount page by a checkbox on the SignIn page
- The page can now be flicked if it's not tall enough to display
everything
- HNumberAnimation now has an overshoot property that will set the right
easing type, overshoot and adapt the animation factor/duration.
- HImage can now be colorized
2019-08-17 13:04:43 -04:00
miruka
28b5fbd267
Disable login button until ID & password entered
2019-08-16 16:44:28 -04:00
miruka
c7adb5b02f
Show error messages on login screen
2019-08-16 16:30:18 -04:00
miruka
da4bb55f43
RoomDelegate last event time year
2019-08-16 13:44:44 -04:00
miruka
e8b173163d
Add icon to RoomDelegate for invited rooms
2019-08-16 12:55:54 -04:00
miruka
cf8ae13eae
Set local echoes as room last events
2019-08-16 12:23:34 -04:00
miruka
c76ebe4fe2
Improve some texts
2019-08-16 09:47:44 -04:00
miruka
653934be71
Fix declining invitation being ignored
2019-08-16 02:12:37 -04:00
miruka
34edf923d0
Fix past events loading error for invited room
2019-08-15 11:46:40 -04:00
miruka
e027c56047
Add/improve ModelStore and Model __str__
2019-08-15 09:57:58 -04:00
miruka
5f72397afe
HLoader component, use Loader.asynchronous prop
2019-08-11 23:25:22 -04:00
miruka
3c35616eaa
Remove copyright headers in code
2019-08-11 08:34:36 -04:00
miruka
67dde68126
Big performance refactoring & various improvements
...
Instead of passing all sorts of events for the JS to handle and manually
add to different data models, we now handle everything we can in Python.
For any change, the python models send a sync event with their
contents (no more than 4 times per second) to JS, and the QSyncable
library's JsonListModel takes care of converting it to a QML ListModel
and sending the appropriate signals.
The SortFilterProxyModel library is not used anymore, the only case
where we need to filter/sort something now is when the user interacts
with the "Filter rooms" or "Filter members" fields. These cases are
handled by a simple JS function.
We now keep separated room and timeline models for different accounts,
the previous approach of sharing all the data we could between accounts
created a lot of complications (local echoes, decrypted messages
replacing others, etc).
The users's own account profile changes are now hidden in the timeline.
On startup, if all events for a room were only own profile changes, more
events will be loaded.
Any kind of image format supported by Qt is now handled by the
pyotherside image provider, instead of just PNG/JPG.
SVGs which previously caused errors are supported as well.
The typing members bar paddings/margins are fixed.
The behavior of the avatar/"upload a profile picture" overlay is fixed.
Config files read from disk are now cached (TODO: make them reloadable
again).
Pylint is not used anymore because of all its annoying false warnings
and lack of understanding for dataclasses, it is replaced by flake8 with
a custom config and various plugins.
Debug mode is now considered on if the program was compiled with
the right option, instead of taking an argument from CLI.
When on, C++ will set a flag in the Window QML component.
The loading screen is now unloaded after the UI is ready, where
previously it just stayed in the background invisible and wasted CPU.
The overall refactoring and improvements make us now able to handle
rooms with thousand of members and no lazy-loading, where previously
everything would freeze and simply scrolling up to load past events
in any room would block the UI for a few seconds.
2019-08-11 08:27:53 -04:00
miruka
ef36cc6e7a
Add missing dependencies to README
2019-07-25 19:19:39 -04:00
miruka
858c9f337d
Add decryption keys import in account settings
2019-07-25 02:43:52 -04:00
miruka
93a6867735
Set own messages color
2019-07-25 00:10:07 -04:00
miruka
a2469bd994
Don't use user theme in debug mode
2019-07-24 18:46:13 -04:00
miruka
b6290ad3c9
Fix SignIn circle buttons colors
2019-07-24 18:41:40 -04:00
miruka
6638a66578
Finish replacing light-thin icons
2019-07-24 18:25:12 -04:00
miruka
de11b53c4e
Copy default theme to user data dir if not exist
2019-07-24 18:14:43 -04:00
miruka
efa4ad0ae0
Add keybinds to config file
2019-07-24 17:05:27 -04:00
miruka
2be23128b1
Fix button hover overlay colors
2019-07-24 16:44:35 -04:00
miruka
cb25c30cb9
Fix EditAccount currentSpacing
2019-07-24 16:41:32 -04:00
miruka
921a0586cf
Add background image variable to theme
2019-07-24 14:58:16 -04:00
miruka
ec27ecf498
Initial themes implementation, new default theme
2019-07-24 02:14:34 -04:00
miruka
9397687122
Parse theme from a custom simpler format
2019-07-23 03:14:02 -04:00
miruka
cb1b95766c
Remove indents in sendbox with backspace
2019-07-22 18:06:34 -04:00
miruka
4c7815554c
Auto-indent new line in sendbox
2019-07-21 19:12:32 -04:00
miruka
67e06aa739
Remove debug print
2019-07-21 18:26:53 -04:00
miruka
ab2a73dbfc
Set html style for code
2019-07-21 18:17:51 -04:00
miruka
2bd8514e9b
Label link colors
2019-07-21 17:50:01 -04:00
miruka
6e65376612
markdown: don't parse "> ..." as blockquote
2019-07-21 16:08:40 -04:00
miruka
f7d286cdc2
Save/load which accounts are collapsed
2019-07-21 09:26:47 -04:00
miruka
71f78feec6
Define UIState config file
2019-07-21 06:05:01 -04:00
miruka
41eea44fff
Add keyboard shortcuts to flick the events list
2019-07-20 18:08:58 -04:00
miruka
1ffca37021
Fix sendbox modifier+enter for newline not working
2019-07-20 14:37:21 -04:00