1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-08-04 14:55:43 +02:00
Commit graph

40 commits

Author SHA1 Message Date
Andreas Traczyk
35f850289f qmlregister: improve singleton registration
- better manage QML interop object lifetimes
- allow intellisense to pick up QML registered symbols
- fix for PreviewEngine threading

Change-Id: I416cdede70b155dc34fc3ee94f428ae2128c8950
2024-01-31 10:32:44 -05:00
Sébastien Blin
84150e8977 misc: bump copyright to 2024
Change-Id: I8d5f968fbedbc884c91416246049a0ef4cd652eb
2024-01-03 09:54:49 -05:00
Andreas Traczyk
46a955aa3d misc: fix ups for conversationmodel/messagelistmodel
Removes some remaining excess complexity in the way interactions are managed by the client. Removes raw iterator access and provides thread-safe alternatives.

Change-Id: I482bf599de869245f96c4aab418127f30508ef41
2024-01-03 08:43:50 -05:00
Sébastien Blin
32b76c8da4 messagelist: use history given from daemon (except SIP accounts)
With Jami-Daemon >= 14.0.0, the client doesn't need to construct
itself the history. This part is now handled by the daemon.
This patch uses the new API:
+ loadConversationMessages->loadConversation
+ SwarmMessageReceived/SwarmMessageUpdated/ReactionAdded/ReactionRemoved
+ remove MessageReceived
+ ConversationLoaded->SwarmLoaded

+ No need to use loadConversationUntil, the daemon will load whatever
the client needs.
+ No need to clear cache, just reset the body and emit data changes

Everything should work like before (even re-translation & changing
preview preference)

Change-Id: Iaf1fa3e84e8e157ae2d0bec210977f9a34415ebc
2024-01-02 15:22:10 -05:00
cberthet
04a57dfdbb ConversationBubble: add time inside bubble
GitLab: #1325
Change-Id: Ib52222f4adae911e0975f4d7e8bc60739fb63cfb
2023-12-13 09:56:15 -05:00
Sébastien Blin
8de099e38d MessageOptionsPopup: add option to locally delete file
This button offers an option to remove sent/downloaded files
from the device.

Change-Id: Ida1b135681243fd6055034d8a2d699d11bf040e5
GitLab: #1287
2023-09-12 10:59:23 -04:00
lcoursodon
e3a73ac932 TextEditor: General upgrade
Popup take text size according to languagePopup takes size of the text in fonction
Edition button are now colored when actif

GitLab: #1096
Change-Id: I4ddfe8de267a0e0582dde602aa2ad42f5cf535e8
2023-07-31 08:41:37 -04:00
Sébastien Blin
cb31ea3575 messagesadapter: fix click on reply header
The signature was incorrect

Change-Id: I35454bd96cea2d2eb959a80605375e1eb962a0da
2023-06-14 15:41:38 -04:00
Sébastien Blin
ce58d238a9 audio: remove playback rate from controls
Change-Id: Ibfbb950fbf884b87b46b84f9f0d569e57208e45f
GitLab: #1134
2023-05-26 15:33:38 -04:00
Andreas Traczyk
05a09a8202 misc: fix clazy warnings
Fix some warnings, and possible some bugs related to bad QObject::connects.

Gitlab: #938
Change-Id: Id4ca9a48b929e7c59df8cf20c6df3504c7971b4c
2023-05-23 15:43:04 -04:00
Andreas Traczyk
8db188c513 chat: preprocess text msgs w/md4c+tidy-html5
Introduces MessageParser to encapsulate text treatment for raw text messages.

The async parsing sequence is as follows:
- Markdown -> HTML (md4c)
- link coloration (tidy-html5)
- notify UI
- request link preview info from PreviewEngine for the first link
- Preview engine uses QtNetwork instead of QtWebengine
- Linkification is handled by MessageParser instead of linkify.js

QtWebengine is no longer required for message parsing.

Gitlab: #1033
Gitlab: #855
Change-Id: Ief9b91aa291caf284f08230acaf57976f80fa05b
2023-05-15 15:44:20 -04:00
Sébastien Blin
53374b7ded chatview: add toast on file saved
Change-Id: Ie3ab68213f9337d5124eda4f989fb23c0e084d64
GitLab: #1027
2023-05-12 09:37:05 -04:00
Sébastien Blin
5f98f7cdc6 qt6: fix startSearch usage
Overload incorrectly managed by Qt 6.5 and we must pass a const ref

Change-Id: Ib0a85165b59f6cffd3f01815b803f666623e1b89
2023-05-03 15:04:13 -04:00
Franck LAURENT
3f56754f1c SwarmDetailsPanel: add new icon design for document preview
Change-Id: I13cd2861bcbc3446a736f7e68b34044c34c2dce5
2023-04-13 16:19:28 -04:00
Sébastien Blin
0de8f019b2 conversation: add the possibility to answer with a file
Also remove retryInteraction as useless in new versions.

Change-Id: I79a016c9fa7b8bc4d5fcdb0aeff51d78aea2f314
GitLab: #1017
2023-03-06 14:46:07 -05:00
Franck Laurent
d5064040d7 MessageListView: fix message bubble UI
+ redesign the "Scroll to end of conversation"
+ redesign the "bubble / screen ratio"
+ redesign the reply bubbles: color, shape(in & out a message sequence), "In reply To" message
+ change the configurable color of the main user's bubbles
+ show the display name when replying to a transfer message
+ fix incorrectly loaded reply message data by synchronizing to messages loaded request
+ fix reply to an internet link
+ redesign the call bubbles (the new design need to be applied but in another patch)

GitLab: #959
GitLab: #967

Change-Id: Id646ff875644425b03367838b5b46f2242294563
2023-03-01 13:38:05 -05:00
Sébastien Blin
3570b23d8a swarmdetailspanel: show kicked contacts if administrator
This patch avoid for non-admins to try to re-add kicked members
as filtered out from the list. However kicked members are only
visible for administrators.

Change-Id: Ie01b7071c072d147bbc0f39e477cc24d7fd58b1a
2023-02-20 09:05:24 -05:00
Nicolas Vengeon
06ab19f213 Feature: search messages
Change-Id: Ia458e2e6ee183cad9d0418af0dbbbcd990f14281
GitLab: #918
2023-02-20 09:04:49 -05:00
Aline Gondim Santos
5df521eb70 misc: fix plugin translation
Change-Id: Ia94e47c26ded5f3d7271c1d81253eca6d67001dd
2023-02-20 08:59:57 -05:00
Andreas Traczyk
14ae000686 mainapp: dynamically load views
Introduces the ViewCoordinator component to promote dynamic view loading and reduce coupling between components.

The following objects are now created and destroyed as needed:
- SettingsView
- WizardView
- dialogs

Further refactoring will be required in order to do the same with the ConversationView, which now parents the ChatView and the CallStackView.

Gitlab: #897
Change-Id: Ice6a0c133e62e1e0c8d7fb99ec2c41234c049b59
2023-02-17 13:59:28 -05:00
Amin Bandali
8d46acedf1 misc: Update copyright years to 2023
Change-Id: Idf38e82631a4e22540aa5dec8ec2db0ab4a38c2e
2023-02-06 01:47:15 -05:00
Nicolas Vengeon
b2643f5967 messagelistmodel: correctly search for index in model
Iterate through CPP elements and use positionView(ListView.Center)
as other approach seems bugguy or slower.

Change-Id: I43879969ccb457166879a156efb482e77ff07d6b
2023-02-05 16:35:30 -05:00
Nicolas Vengeon
6348d3ee0b Smartlist: Date should show in correct locale format
- Standard time/date is now used
- If today, show local time, otherwise show local date

GitLab: #545
Change-Id: I07f1e706868c725d1c917c473dc0fdbad8d6810f
2023-02-03 09:06:27 -05:00
Nicolas Vengeon
bb9b50ef99 messaging: revert to using QSortFilterProxyModel for the message list
SFPM performs poorly compared to its C++ counterpart in cases where re-filtering often is required. Tests show SFPM taking roughly 10x that of QSFPM in certain cases when the entire conversation needs to be loaded.

Change-Id: I25792f0ab376ae11d42073a548934b743e59fa3e
2023-02-02 12:13:40 -05:00
Sébastien Blin
640b353703 chatview: re-show video and audio components
Change-Id: I6c36ab045667d01859a72dfec12e3e02130c57fe
GitLab: #947
2023-02-02 09:30:43 -05:00
Sébastien Blin
a05632e3f4 misc: avoid dirty qrc urls
e.g. <a href="test" id="fuzzelement1">test</a> is invalid
and should not open qrc://components/test

Also fix editId on message edition and format in the reply row.

Change-Id: I570ddf18f6ba716e448e9fbadd558a4d04cdef1c
2023-01-05 09:48:58 -05:00
Sébastien Blin
9d70fe10eb
messagesadapter: protect loadMoreMessages
Change-Id: I4a8d7105ed6ea5600fc4596f62b56991631358b8
2022-12-29 13:21:14 -05:00
Nicolas Vengeon
7bb5ad0ee0 Emoji: Implement emoji-reactions
Change-Id: I83f27e86a6a7ee2140dc3028a4e183dcb8de8a27
GitLab: #875
2022-12-14 16:06:53 -05:00
Nicolas Vengeon
f7ce62bfab fix: Hyperlinks hard to see
Hyperlinks now adapt to bubble color

Change-Id: I8f45b5f0ae103a751d47bf1bc1844f481838caa0
Gitlab: #764
2022-12-09 16:15:00 -05:00
Sébastien Blin
ad3e02f5ef misc: fix crash on invalid iterator
Change-Id: I7a5eb63fb2d6ad08e4826905e873bcbe95bf2a0b
GitLab: #860
2022-11-21 09:26:55 -05:00
Nicolas Vengeon
a891b2636f Chat-view: animated image messages aren't animated
Change-Id: I98e8307c1d44a983939a096e2171ff8cf12f4220
GitLab: #860
2022-11-18 17:32:06 -05:00
Sébastien Blin
0996b167d9 swarm: add call buttons and interactions for multi-swarm
+ Add call buttons to start a new call
+ React to events from the swarm
+ call interactions (Join call/Call ended, etc)
+ active calls area
+ Add call management logic in LRC
+ Feature is enabled via the experimental checkbox

https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/312
Change-Id: I83fd20b5e772097c0792bdc66feec69b0cb0009a
2022-11-17 13:16:02 -05:00
Nicolas Vengeon
7a34209583 feature: documents flow in the swarmDetailsPanel
Change-Id: I24a94b9ced0ec3930a0b9e20f3fa0440e2d8fd00
Signed-off-by: Nicolas Vengeon <nicolas.vengeon@savoirfairelinux.com>
2022-10-27 09:30:01 -04:00
Sébastien Blin
47cd60fbe4 messagelistmodel: support message edition
Handle application/edited-message type to support message edition.
Previous bodies are saved in the interaction to be able to get the
original post to avoid unwanted editions.

While loading a conversation, we store the editions in a temporary
map that we link once the edited message is detected. This work
because we can't edit a message before this message exists.
PreviousBodies in interaction.h contains every previous body detected
and the client can show previous version of the message in a popup.

Deleting a message works the same way, just that any message
with an empty body is not shown.

https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/316

Change-Id: Ib158abd16ad4b629532de11694e88d86a12d72a8
2022-10-25 16:15:22 -04:00
Nicolas
d6ed9adf32 chatview: timestamp improvements
New timestamp computation and sequencing ( by day and hour)

GitLab: #827
Change-Id: Ie170f31c075dc37f00d393272410329dc045f2d3
2022-10-07 09:33:17 -04:00
Andreas Traczyk
cda1f335e7 messagelistmodel: replace C++ filter proxy model with QML-SFPM
Change-Id: I7471b4cf5539bd253d4d1b9e9b2bfd10030a9525
2022-09-26 12:28:43 -04:00
Sébastien Blin
6f18afbaac chatview: add ability to reply to a specific message
https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/318
Change-Id: I79916422b90c6eb12252c96bb12e209188a81f94
2022-08-24 12:59:38 -04:00
Sébastien Blin
9adddd0d89 messagesadapter: better file's detection
use QMimeDatabase to detect file's extension.

GitLab: #738
Change-Id: I47c74ef3011881d9694c9c54ab4de7f8a2af86e3
2022-07-11 08:56:54 -04:00
Sébastien Blin
300ac17db3 contactmodel: rework ban status
And do not ban contact when removing conversation.

Change-Id: Ia76c76b265dd2a9d7d3cc8e2f869bf74fd3cbe63
2022-07-05 11:02:49 -04:00
Amin Bandali
c7fdf3ff30 misc: move application sources from 'src/' to 'src/app/'
In preparation for vendoring libjamiclient into 'src/libclient/'.

GitLab: #734
Change-Id: Ibd956abc8fe9bd454ac0e9a5a28b77a5a74174e7
2022-05-19 15:47:30 -04:00
Renamed from src/messagesadapter.cpp (Browse further)