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
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
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
5192fe8b55
Click to play/pause animated image
2019-09-12 16:25:05 -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
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
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
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
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
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
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
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
e1f24657f1
Fix mouse wheel not working on eventList
2019-09-06 16:08:16 -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
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
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
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
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
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
1eaec701dc
Fix banners position
2019-08-28 19:39:22 -04:00
miruka
6cda69ad67
Restore icon colors
2019-08-28 18:21:13 -04:00
miruka
3a5d8bff9e
Remove HInteractiveRectangle and HRateLimiter
2019-08-28 12:02:53 -04:00
miruka
399a35dacb
Rename SendBox to Composer
2019-08-27 23:03:52 -04:00
miruka
560981a97e
Remove uneeded HRectangle component
2019-08-27 22:46:31 -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
2ff65af6ab
Prevent alt+letter from writting text in fields
2019-08-22 14:31:13 -04:00
miruka
cc7fbc5ab7
Fix invite icon size when room side pane collapsed
2019-08-22 10:03:43 -04:00
miruka
627a186700
Add tooltips to buttons and room invite button
2019-08-22 09:27:41 -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
b8d43ecfec
Add account logout feature via context menu
2019-08-21 17:45:05 -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
ed96409645
Split HButton components, add HMenu/HMenuItem
2019-08-21 15:45:13 -04:00
miruka
1886303481
Fix member filtering
2019-08-21 12:17:12 -04:00
miruka
46e685847f
Replace HInteractiveRectangle by HTiledelegate
2019-08-21 04:39:07 -04:00
miruka
ce128d5ab5
Refactor HButton
2019-08-20 17:41:24 -04:00
miruka
109082c8d8
Use a Loader instead of StackView for pageStack
2019-08-19 15:38:45 -04:00
miruka
36dd6457ea
Change focus filter rooms keybind to (Alt/Ctrl)+S
2019-08-19 13:18:45 -04:00
miruka
98803e8c23
Hide PyOtherSide error when EventList is destroyed
2019-08-19 13:14:25 -04:00
miruka
543f7ac747
Smarter adjust of messages line height
...
Increase line height is the message is multiline, except if there's an
<img> tag in it (due to a bug in Qt, workaround will be to implement
proper images support)
2019-08-18 03:25:56 -04:00
miruka
d0e77eb061
Increase messages line height again to 1.3
2019-08-17 23:54:32 -04:00
miruka
43f8f4131d
Slightly increase messages line height
2019-08-17 15:49:33 -04:00
miruka
0c493f88d8
Don't set alert if window already focused
2019-08-16 14:44:45 -04:00
miruka
2bb3952225
Show last event time in RoomDelegate
...
Also respect locale for message times
2019-08-16 12:07:22 -04:00
miruka
653934be71
Fix declining invitation being ignored
2019-08-16 02:12:37 -04:00
miruka
8baf336cf9
Room subtitle: show member but not profile events
...
Instead of not showing any kind of RoomMemberEvent.
2019-08-16 01:51:42 -04:00
miruka
729235fe6a
When a room is left, set UI state to default page
2019-08-16 01:31:46 -04:00
miruka
69a3f4377d
Show Default.qml from forget room button callback
2019-08-16 01:26:32 -04:00
miruka
6a7376d498
Update LeftBanner, fix forget button crash
2019-08-15 13:00:15 -04:00
miruka
3270c6dd19
Have inviter display name and avatar for rooms
2019-08-15 12:13:41 -04:00
miruka
947c706638
Improve "nothing events to show yet" message
2019-08-15 11:56:28 -04:00
miruka
34edf923d0
Fix past events loading error for invited room
2019-08-15 11:46:40 -04:00
miruka
5f72397afe
HLoader component, use Loader.asynchronous prop
2019-08-11 23:25:22 -04:00
miruka
fbd7c45fe4
Fix MemberDelegate v padding when collapsed
2019-08-11 23:01:14 -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
efa4ad0ae0
Add keybinds to config file
2019-07-24 17:05:27 -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
5a1d974702
SendBox: insert 4 space on tab instead of huge \t
2019-07-21 18:23:45 -04:00
miruka
843d40ca26
Fix > parsing and local echo
2019-07-21 17:41:43 -04:00
miruka
459880903d
Message stylesheet; turn "> ..." into greentext
2019-07-21 16:53:34 -04:00