Commit Graph

660 Commits

Author SHA1 Message Date
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
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
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
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
ace79a169c UploadsBar: fix qsTr.arg(arg1, arg2) call 2019-11-06 07:45:28 -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
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
7408322fbe Fix/improve image sizes 2019-11-05 09:19:48 -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
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
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
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
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
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
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
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
652cd059c4 Prevent makeObject callback from running twice 2019-10-22 03:40:09 -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
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
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
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
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
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
7211dd8fda Fix account settings name field getting reset 2019-09-10 21:58:28 -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
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
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
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
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
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
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
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
87ff343cc3 Reduce quotes brightness in room subtitles 2019-09-06 14:12:32 -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
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
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
miruka
28d8721fe2 Fix HShortcutHandler not processing shortcuts 2019-08-31 15:34:05 -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
f25a0d7c87 mainUI: be an Item instead of Rectangle 2019-08-30 19:09:21 -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
6953250e50 Adjust padding for Buttons, TextFields, TextAreas 2019-08-30 18:10:25 -04:00
miruka
a6aec2d5bf Fix HButton size on KDE 2019-08-30 17:37:13 -04:00
miruka
a40b274c7d Explicitely unset font.pointSize
Avoid warnings on desktop environments
2019-08-30 17:04:42 -04:00
miruka
546761f591 Fix sidePane toolBar id/property name 2019-08-30 13:48:24 -04:00
miruka
70b82b7b59 Add scroll to top/bottom keybinds 2019-08-30 13:40:56 -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
b651be3c30 Support greentext in RoomDelegate subtitle 2019-08-30 12:07:50 -04:00