Commit Graph

53 Commits

Author SHA1 Message Date
James Graham
63af4cae77 Fix timeline layout for non text messages
Change the target of the hover component and delegate layout to timeline container so it applies to all delegates not just text messages.

BUG: 457689
2022-08-22 17:38:50 +00:00
Tobias Fella
8257a9d65e Refactor delegates and improve context menu opening
This unifies the context menu opening and makes sure that clicking *anywhere* on the delegate opens the context menu, not just on the content
2022-07-18 20:12:26 +02:00
James Graham
400d86a1e9 Precise time on hover
Implement showing a long datetime as a tooltip when hovering over the timestamp for a message. The timestamp is also moved to just after the username of the poster this means it will not be under the hover buttons unless the message is very short.

Also some cleanup of the alignment of items in the bubble. The reply text is now indented the same amount as the username and message and the padding isn't removed from the username and message when avatars are disabled.

Implements: network/neochat#223
2022-07-15 15:39:33 +00:00
James Graham
63e7ec1bd7 Spell like an American 2022-07-13 17:27:13 +00:00
James Graham
5fb311b509 Implement new delegate behaviour on ReadMarkerDelegate
Make sure that the messgae hover buttons account for the delegate x displacement
2022-07-13 17:27:13 +00:00
James Graham
f0d832f756 Make sure extra width is never less than 0 2022-07-13 17:27:13 +00:00
James Graham
a7c137ca39 Allow the delegate and bubble widths to grow when the ListView is very wide.
Disable user message on the right setting when in compact mode as it doesn't work anyway.
2022-07-13 17:27:13 +00:00
James Graham
a96e8958c9 Centre the timline when using bubbles but not in compact mode 2022-07-13 17:27:13 +00:00
James Graham
7dc951d2cd Support user messages on the right even when wide
Limit maximum delegate width to ensure that the gap between user and non-user messages isn't too large
2022-07-13 17:27:13 +00:00
Tobias Fella
e0df553a72 Remove unused imports & includes 2022-07-08 13:16:07 +02:00
Jan Bidler
083a2f9772 Compact Mode improvements
BUG: 454897
2022-06-07 12:33:14 +00:00
Tobias Fella
525015fe78 Fix fix 2022-06-05 00:41:59 +02:00
Tobias Fella
8700611235 Fix hoverActions 2022-06-04 20:32:49 +02:00
Marcus Harrison
d0bc8f3d05 Fix mis-aligned user messages
In compact mode with userMessagesOnRight, the user
avatar disappeared and their messages left space
on the right for an avatar that wasn't displayed
anymore.
2022-04-14 14:38:02 +02:00
Tobias Fella
dd91cb91d0 Load replied-to message when it isn't in the timeline already 2022-02-18 16:11:51 +01:00
Carl Schwan
297684a139 Fix issues with saveFileAs
Fix #491
2021-12-28 23:42:16 +01:00
Tobias Fella
ff707b7a58 Remove dead code 2021-12-14 16:48:42 +01:00
Tobias Fella
3977aee4ba Remove usage of Kirigami.Units.devicePixelRatio
It's deprecated and as far as i can tell it doesn't really do anything
since it is always set to 1
2021-10-02 14:33:27 +00:00
Tobias Fella
bc76197487 Fix more HTML injections 2021-09-11 16:33:09 +02:00
Tom Z
c39e46a1f0 For the "Compact" view; show hovered background 2021-09-08 13:24:21 +00:00
Srevin Saju
b412719f2c feat: show local users's messages on right 2021-06-13 18:52:17 +00:00
Carl Schwan
efb70287b9 Add setting page 2021-06-07 11:49:35 +02:00
Carl Schwan
dded804f00 Fix mode without avatar
It seems that this mode didn't get much love when I added the bubbles so
it was quite broken. This patches removes the bubbles and fix the
alignment issues when using this mode.

We probably should rename it to compact mode in a follow up commit (but
not this one so we can backport it to the stable branch).
2021-05-23 16:30:16 +00:00
Carl Schwan
b5edfc909e Treat read markers as item in the model 2021-05-21 17:46:34 +00:00
Carl Schwan
7ac232d372 Minor optimizations to the timeline delegates
* Use anchors instead of Layouts
* Don't use Loader for message display name
* Lazy load the emoji popup
2021-05-20 15:04:38 +00:00
Carl Schwan
f5a42e64ee Don't create QNetworkReply for image size we will discard 2ms later 2021-05-07 02:34:16 +02:00
Carl Schwan
472490f257 Possible fix the freeze found in NeoChat
I looked at Tok code and found this as architectural difference in their
ListView.
2021-05-05 15:07:50 +00:00
Tobias Fella
25a8a8b011 Give the bubble component a more descriptive name 2021-04-09 23:04:26 +02:00
Tobias Fella
41b53b5245 Refactor hoverActions positioning
The positions are still bad, but the calculation is slightly less ugly
2021-04-09 22:51:28 +02:00
Tobias Fella
71fcc20943 Refactor the hoverActions 2021-04-09 22:25:43 +02:00
Tobias Fella
d170cc5161 Cleanup QML imports and license headers
- Group the imports into Qt, KDE, NeoChat
- Import the latest versions
- Remove unused imports
- Remove unused components
- Unify license header styling
2021-04-07 19:38:40 +00:00
Carl Schwan
75a2ba86ee Remove quick reply feature
Unfortunately I couldn't find any way to make it work while also
making scroll works correctly. The container is now using item delegate
and by testing on my laptop touch pad it seems to scroll well.

Probably worth revising at some point but at least it makes neochat
usable.
2021-04-03 15:43:51 +00:00
Arnav Rawat
997972a3d3 Use Layout margins consistently
Fixes #319, #320 - caused by inconsistent usage of layout margins on
2021-03-29 21:45:36 +00:00
Carl Schwan
11c2e56320 Fix timeline spacing 2021-03-20 18:02:41 +01:00
Carl Schwan
743c9972b9 Use singleton to pass edit/reply content to chatbox
This significantly reduce the complexity of everything.
2021-03-20 14:00:29 +00:00
Carl Schwan
4ef75cfdf3 Fix regression around highlited messages
Fix #307
2021-03-19 22:17:56 +01:00
Eike Hein
b13082a8d4 Fix some problems with overlapping chat bubbles and auto-scroll
* Fix the implicitHeight binding loop
* Revert the TypeError regression from 525d691c
* Fix resolving the showAuthor model role, drop the
  isPooled/isReuser Loader hack for the autor name item

Fix #293
Fix #292

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-03-19 22:07:28 +01:00
Carl Schwan
ac94204687 Fix 2021-03-19 22:04:55 +01:00
Devin Lin
b770213e09 Revert "Maintain timeline container author height"
This commit did not work, and was setting a readonly property.
2021-03-19 16:46:35 -04:00
Devin Lin
dd20df5c26 Fix hover actions being taken away by scrolling 2021-03-17 21:37:30 -04:00
Devin Lin
525d691cf8 Maintain timeline container author height 2021-03-17 21:35:24 -04:00
Carl Schwan
b349c2376d Fix message hover buttons (React, Edit, Reply) not moving with scroll
Fix #296
2021-03-18 01:56:27 +01:00
Carl Schwan
0e521f5b03 Maybe fix implicitHeight binding loop now 2021-03-18 01:33:51 +01:00
Carl Schwan
ee9f521a37 Remove mouseArea from TimelineContainer
This was incorect (anchors in layout) and was replaced by TapHandler
like the rest of the code was already using.
2021-03-18 01:21:16 +01:00
Noah Davis
38e2c7222b This splits ChatTextInput into ChatBox and a handful of subcomponents.
- ChatBar: Contains the main TextArea and standard buttons.
  - Usually visible, but can be disabled when necessary.
- AttachmentPane: Contains an image when attaching an image and also a filename with mimetype icon.
  - Has a toolbar to cancel the attachment or edit it if it's an image.
  - Shown when there is an attachment.
- ReplyPane: Shows who you are replying to and the content of their message.
  - Also shows edits and has a button to cancel replies/edits
  - Shown when replying or editing
- CompletionMenu
  - Now a vertical list using a QQC2.Popup
  - Either a Pane or a Menu/Popup
- EmojiPickerPane

@teams/vdg
2021-03-17 23:48:06 +00:00
Suraj Kumar Mahto
b67f03d33f Remove the option to edit the messages of other users. 2021-03-17 18:54:32 +00:00
Carl Schwan
0289822e6c Fix binding loops that was sometimes freezing the app
Fix #294
2021-03-17 19:46:19 +01:00
Carl Schwan
612fb4924e Start implementing bubbles 2021-03-06 20:19:41 +00:00
Carl Schwan
ae35846035 Show read marker
Fix #2
2020-12-01 16:35:51 +01:00
Carl Schwan
b209b4aff5 Center sections notice in the timeline 2020-11-16 22:50:57 +00:00