Commit Graph

676 Commits

Author SHA1 Message Date
miruka
72c96b3ba5 Start restructuring how the account/room pane work 2020-05-15 20:56:23 -04:00
miruka
fd8cf4ad8d Optimize model field replacements 2020-05-15 20:56:23 -04:00
miruka
2cbedaa892 HLoader as room delegates test 2020-05-15 20:56:23 -04:00
miruka
48a5f54e54 Update TODO 2020-05-15 20:56:23 -04:00
miruka
2cc3f27247 Add Ban to member context menu
Also don't try to load past messages in rooms we've left/been
kicked/banned from.
2020-05-15 20:56:23 -04:00
miruka
3e10a6d530 Don't show popup when focusing unredactable event 2020-04-03 12:58:15 -04:00
miruka
1e049a0159 Unselect before unfocusing messages with keybind 2020-04-03 07:53:36 -04:00
miruka
b48e663007 Cancel sending events when removing local echoes 2020-04-03 07:53:36 -04:00
miruka
f8fe5d812b Imrpove redacted events text 2020-04-03 07:53:36 -04:00
miruka
5ea339ea33 Add keybinds for message removal 2020-04-03 07:53:36 -04:00
miruka
05319af858 Redaction code adjustments + theme addition 2020-04-03 07:53:36 -04:00
miruka
4602366b9c debugConsole: add toggle() conveniance function 2020-04-03 07:53:36 -04:00
miruka
af57218ac6 Update TODO.md 2020-04-03 07:53:36 -04:00
miruka
2a648d7f59 Add invite to room keybind 2020-04-03 07:53:36 -04:00
miruka
1038678a2f Refactor global shortcuts, simplify debug consoles
- Move out all shortcuts from their central file to the component they
  actually belong to

- Get rid of DebugConsoleLoader and the multiple consoles handling mess,
  have only one global console
2020-04-03 07:53:36 -04:00
miruka
78b7cb4a4a Update TODO.md 2020-03-27 07:12:57 -04:00
miruka
c03bf32a7b Theme color for eventList highlight 2020-03-27 05:09:49 -04:00
miruka
af6cdc9013 Rename HListView checking-related functions 2020-03-27 05:05:25 -04:00
miruka
ba86414ddf Implement shift+click/A-B message selection 2020-03-26 23:24:37 -04:00
miruka
4a780e20f4 Make HMenu modal
Prevents accidentally triggering TapHandlers when clicking outside of
the menu to exit it.
2020-03-26 22:00:35 -04:00
miruka
43c018d0a4 Improve "Copy text" text and availability 2020-03-26 22:00:00 -04:00
miruka
18f53829d9 Make composer/eventList ctrl-c work again 2020-03-26 22:00:00 -04:00
miruka
2d471b70f5 Single message text selection for mouses 2020-03-26 22:00:00 -04:00
miruka
3852357614 Start implementing new message selection system 2020-03-26 22:00:00 -04:00
miruka
710dba09ec Remove message text selection hack 2020-03-26 22:00:00 -04:00
miruka
58f34920bc Update TODO.md 2020-03-26 18:54:31 -04:00
miruka
a0e659098d Add compact mode to feature list 2020-03-23 18:15:51 -04:00
miruka
2e6488e6f9 Bump version to v0.4.1
Changelogs:

Added:

- `hideMembershipEvents` setting in config file, controls whether
  events such as "x joined the room" are shown in the timeline

- `hideProfileChangeEvents` setting in config file, controls whether
  display name and avatar change events are shown in the timeline

- Compact mode to make accounts, rooms, messages and room members
  take only one line as well as reducing vertical spacing between them.
  Set by the new `compactMode` setting in config file, and can also
  be toggled with the `keys.toggleCompactMode` keybind which defaults
  to Alt+Ctrl+C

- `keys.focusRoomAtIndex` in config file, a
  `{"<index>": "<keybind>"}` mapping which by default binds
  Alt+1-9 and Alt-0 to focus room 1 to 10 in the current account

- User ID, display names, room ID and room aliases are now
  automatically transformed to matrix.to links and will be rendered
  as mentions by clients.
  In Mirage, this results in user ID/names being colored with the
  same color seen when they send messages

- Track the number of times your user was mentioned in rooms.
  The visual counter is not yet displayed, since there currently is
  no way to mark messages as read and make the counter go down

Fixed:

- Python exceptions occuring in the asyncio loop not being printed
  in the terminal

- Extra newline shown after code blocks in messages

- Constant CPU usage due to button loading animations still being
  rendered while uneeded and invisible

Theme changes:

- Added `controls.avatar.compactSize` property
- Added `.mention` class styling to `chat.message.styleSheet`
2020-03-23 15:06:57 -04:00
miruka
38e57d2ff9 Color user mentions in local echoes too 2020-03-23 14:23:32 -04:00
miruka
b11bd8331b Fix constant CPU usage due to HButtonContent
Unload the animated HBusyIndicator when not needed
2020-03-23 14:04:00 -04:00
miruka
4fdf531631 Fix mention-related KeyError in message callback 2020-03-23 13:43:30 -04:00
miruka
3c64b33cb7 Color user mentions 2020-03-23 13:30:40 -04:00
miruka
c65d51b0e8 Update TODO.md 2020-03-22 12:06:25 -04:00
miruka
c6390238a9 Add settings to hide membership and profile events 2020-03-22 12:04:43 -04:00
miruka
ae272829c5 Fix releases link in INSTALL.md 2020-03-21 19:49:53 -04:00
miruka
60448b39e9 Fix build-appimage.sh for Pillow 0.7.0 2020-03-21 19:14:07 -04:00
miruka
abccee77ed Update TODO.md 2020-03-21 15:42:27 -04:00
miruka
23db284b8d Add building instructions for Gentoo 2020-03-20 14:11:47 -04:00
miruka
ee6ac18671 Show pages headers to go back to pane when needed 2020-03-19 20:33:46 -04:00
miruka
3df27674b2 Add real README.md and INSTALL.md 2020-03-19 19:13:08 -04:00
miruka
2511a03045 Fix event debug returning wrong event json 2020-03-19 18:49:33 -04:00
miruka
60fc2ccffc Replace console icon by reload config 2020-03-19 11:14:28 -04:00
miruka
743ff4df9f Upgrade Midnight theme with a real background 2020-03-19 02:35:50 -04:00
miruka
588dc4eec3 AppImage: compile Python with libreadline-dev 2020-03-18 19:39:37 -04:00
miruka
4ab25ada43 AppImage improvements and fixes
- No need to build manually the olm python 3 bindings, pip does it
- make clean in mirage dir if possible, since having build/ files from a
  compiling that happened from another distro can make the process fail
- Save linuxdeployqt and appimagetools outside of the mirage repo
- Lint the AppDir with the script from pkg2appimage
- From python, restore LD_LIBRARY_PATH, PYTHONHOME and PYTHONUSERBASE to
  their original values. The AppRun laucher overwrites them to properly
  launch the program, but it affects external programs too launched e.g.
  when user clicks a link.
2020-03-18 19:12:38 -04:00
miruka
977e75e95e Bundle default theme fonts 2020-03-15 19:08:12 -04:00
miruka
bbc4a9bb17 Fix HMenuItem icon colors 2020-03-15 19:08:12 -04:00
miruka
64d67234ab Fix room settings background 2020-03-15 19:08:12 -04:00
miruka
b85236d514 Slightly reduce "typing" icon size 2020-03-13 13:04:36 -04:00
miruka
9d7bffcee8 Ignore alias in room with no permission to talk 2020-03-13 12:47:01 -04:00
miruka
298043b3cb Prevent saving alias taken by other account 2020-03-13 12:10:47 -04:00
miruka
8c1c3ef05c Add explanation tooltip for composer alias 2020-03-13 11:35:05 -04:00
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