Commit Graph

23 Commits

Author SHA1 Message Date
James Graham
5482aad7ba Inline Edits
Edit text messages inline instead of in the chatbar
2023-02-12 13:46:23 +00:00
James Graham
eee93e0f1f Chatbar Refactor
This is mostly a stylistic rework of the chatbar but there are some buxfixes / improvements in here as well. The aim was to make the chatbar so it's size was managed in the same manner as the timeline in both bubble and compactmode in the same manner as network/neochat!476.

The other features are:
- Replies, attachments and edits now look like they are inside the chatbar and use a similar styling to edits in message bubbles
- Replies and edits now part of the message so they arte part of the ScrollView and will scroll away when the text is long
- ~~The emoji picker is now a popup so it doesn't mess with the timeline layout when activated~~ (done in network/neochat!697)
- ~~Emoji dialog is now no longer required as the picker itself is a popup now~~ (no longer the case see above)
- The scrollbar now sits on the right of the chatbar actions rather than weirdly to the left
- The action icons will always stay in the same place even as the chatbar gets taller


Updated\
![2022-12-10_14-13-41.mkv](/uploads/ccbe14843834a19bf98ef0028e023eae/2022-12-10_14-13-41.mkv)

Scrollbar behaviour before
![chatbar_refactor_scrollbar_before](/uploads/2f3b91a79eb302ccf83dd35e51004e6a/chatbar_refactor_scrollbar_before.png)

Scrollbar behaviour after
![chatbar_refactor_scrollbar_after](/uploads/fcab044d8a4338ed9bcff6721b65e89c/chatbar_refactor_scrollbar_after.png)
2023-01-24 18:02:19 +00:00
Xaver Hugl
e0d508d3dd hide the time header in chats if it would be transparent
Text over other text without a background is unreadable and looks horrible,
it's better to not have the header at all
2023-01-16 21:18:17 +01:00
James Graham
884484922d Fix Room Initial Position
When the room is changed set the roomlist view to the bottom making sure that it isn't in some random place.

BUG: 456647
2022-12-28 17:36:17 +00:00
James Graham
2e3c2c2424 Fix roompage sectionBanner visible check
change check to `messageListView.sectionBannerItem != undefined` so that the command line isn't spammed with qrc:/RoomPage.qml:263:13: Unable to assign [undefined] to bool
2022-12-19 16:00:41 +00:00
Gary Wang
507bd44bbf Add Quick Reaction to EmojiDialog 2022-12-07 14:44:05 +00:00
James Graham
b5d8acf9de Use EmojiDialog popup in chatbar
This converts the emoji dialog in the chatbar to be the same popup as for reactions. This includes:

- EmojiPicker and ReactionPicker were already similar and are made identical, as such ReactionPicker no longer needed
- Emoji dialog used for both reactions and chatbar emojis
- Add some parameters to allow for different use cases (include custom emojis and whether selection closes the popup)

![image](/uploads/c71bb5ffdc6914efad654998a886ade6/image.png)
2022-12-06 14:49:25 +00:00
James Graham
af40860315 Fix roompage up/down button highlights
Set the focus to the chatbar after clicking the jump up/down buttons so that they don't stay highlighted.
Also remove messageListView.headerItem.height as part of the down button margin calc as it no longer exists

BUG: 456075
2022-11-28 18:43:52 +00:00
James Graham
bad15cadd1 Fix link preview persisiting when room changed
Clear the hovertext on room change

BUG: 461036
2022-11-27 12:07:46 +00:00
Tobias Fella
3697146f44 Revert "Implement selection across multiple MessageDelegates"
This reverts commit 405c2c3d2d.
2022-11-27 02:18:14 +01:00
Tobias Fella
405c2c3d2d Implement selection across multiple MessageDelegates
BUG: 457669
2022-11-26 18:10:45 +01:00
Tobias Fella
99ad4130d9 Disable DropArea in flatpak
The droparea doesn't support flatpak and dropping something leads to a crash

BUG: 455990
2022-11-26 15:30:11 +01:00
James Graham
7ce02ef0db Improve read marker
- Update from deprecated readMarkerEventId to lastFullyReadEventId for quotient 0.7.
- Removed duplicate code for marking read from the read marker delegate.
- Make sure that mark as read only trigger at the end of the timeline
- Allow the read marker to be highlighted when jumped to
2022-11-22 20:25:04 +00:00
James Graham
699f38b575 Fix Unclickable Invite in RoomPage
Move the invite PlaceholderMessage inside the ListView so mouse events can be received.

Fixes network/neochat#558
2022-11-20 19:17:27 +00:00
James Graham
cd257137ba Fix typing indicator causing markAllMessagesAsRead
Move the typing indicator out of the listView header so it doesn't resize the view when appearing and disappearing causing all messages to be marked as read

BUG: 457666
2022-11-20 16:48:36 +00:00
James Graham
d7f3284aa2 Room Page Up/Down buttons always on top
Ensure that in the small number of cases where the room page up down buttons overlap messages due to the screen being thin that they are always on top

BUG: 461718
2022-11-17 14:35:59 +00:00
James Graham
95bdaf7b3d Make it so that when the window is wide enough the compact mode messages are indented slightly so that they don't overlap the up and down buttons 2022-11-15 17:54:07 +00:00
James Graham
460997bca3 Refactor Timeline Container
Update the base item in the timeline container to be a column layout. This means that all the items can be laid out automatically without the need to set lots of manual settings and anchoring. 

The overall height calculation for the delegate is vastly simplified (in fact it is removed) which deals with the fact that there were still instances where the manual calculation didn't work e.g. a delegate with a reaction followed by another message from the same user didn't give the correct bottom margin (see below)

before:
![timelineContainer_height_bug](/uploads/5b14568294698198dee8412f6cd19be0/timelineContainer_height_bug.png)

after:
![timelineContainer_height_bug_fix](/uploads/c5828f1b793817fd0ed523c3580a2ecc/timelineContainer_height_bug_fix.png)

This also improves upon the recently changed hover highlight behaviour. The previous patched moved it to cover the avatar as well as the bubble however it also covered the section and reaction when present which didn't look good. The highlight now only covers the avatar and bubble

before:
![highlight_bug](/uploads/0d08dc769ff737e0fb4981243d02d5f3/highlight_bug.png)

after:
![highlight_bug_fixed](/uploads/536ed672d0f1bb6cbe6c45777fed4b53/highlight_bug_fixed.png)

This also cleans up some of the margins in both bubble and compact to ensure consistency.
2022-11-11 17:05:14 +00:00
James Graham
a4c445d1a5 Add a section label at the top which shows the date label of the next section
**Updated**

Add a section label at the top which shows the date label of the next section up. This means that the user will always be able to see the date of all messages on screen.

![image](/uploads/ecbcdc0740877ea0d72e735176353036/image.png)

From the feedback given I've added a background at the top. I also added an underline to the heading which applies both at the top and in the listView since they use the same component. I added it originally for the top because I felt it looked a bit weird having messages appear from behind a heading background the same colour as the listView background.

Note: I know the gaps between messages are not right. I had to set the spacing in the listView to 0 to prevent itemAt returning null. I plan to add it back in as part of the delegate code before it would be merge.

Fixes BUG:454880
2022-11-08 19:40:56 +00:00
Tobias Fella
31a038ce82 Fix editing messages 2022-11-03 22:41:44 +01:00
Tobias Fella
92ec441594 Use enum instead of strings for message type 2022-11-02 08:55:28 +00:00
Tobias Fella
9ae72058d9 Fix qml warning 2022-10-24 16:50:34 +02:00
Tobias Fella
2817ce9d16 Move QML files to src/qml and don't use internal qml modules 2022-10-24 00:40:54 +02:00