1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-21 16:05:26 +02:00
Commit graph

22 commits

Author SHA1 Message Date
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
Fadi SHEHADEH
9e84681856 emoji: fix background color
- isEmojiOnly changed to message containing only an emoji, not an edit or reply.
- adapted size

GitLab: #957

Change-Id: I78388a406a2a0b9c93f1c291850062fd9bf04a54
2023-02-05 11:04:19 -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
c7c8e2e8f6 misc: show "deleted message" for deleted message
So that users can know when a message is deleted and can check
previous version like any edited version.

Change-Id: If3c1daeec930bd4b0f359573b971790199397489
2023-02-01 13:39:26 -05:00
Nicolas Vengeon
3213647013 messageListModel: improve load time
Change-Id: Ica33126a1d75b4880c70c1e7f654f82db6499bbd
2023-01-30 10:28:11 -05:00
Andreas Traczyk
399defe5a6 chatview: fix undefined timestamp warning
Change-Id: If3ee1fd3f074e8807fedc66fc02758df62789b39
2023-01-25 09:09:43 -05:00
Sébastien Blin
6183d116e4 messagelistmodel: rework moveMessages()
1. sourceParent and destinationParent were incorrect.
2. Moving always all the message can be incorrect if parentIdx >
msgIdx after a merge

Change-Id: I0ab8eeabb61926d5c0c22d8fed68c60d54178bf6
GitLab: #939
2023-01-25 08:56:31 -05:00
Sébastien Blin
7044627551 messagelistmodel: improve moveMessages
+ moveMessage was doing useless computation to move messages one
by one even if blocks are supported
+ beginMoveRows/endMoveRows seems to do weird stuff if all the rows
should be moved causing some crashes. beginReset in this case
doesn't trigger this weird behaviour and is more efficient.

Change-Id: Ia4eb3cdbbe74bf9215fb673cb9af571f67225ffe
2023-01-11 14:51:15 -05:00
Aline Gondim Santos
b0ad6c484e fix: get last selfmessage Id
Change-Id: Ibd901be120c061d7b726f657a5d51636716acdcc
2022-12-29 09:34:36 -05:00
Nicolas Vengeon
7bb5ad0ee0 Emoji: Implement emoji-reactions
Change-Id: I83f27e86a6a7ee2140dc3028a4e183dcb8de8a27
GitLab: #875
2022-12-14 16:06:53 -05:00
Aline Gondim Santos
50888a2865 shortcut: add option to edit last sent message
GitLab: #892
Change-Id: Ia62ac144d187e705644742ebaa9b1679c45d2ae0
2022-12-01 10:22:01 -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
Sébastien Blin
9195cb0bc5 replytorow: correctly update row if original post is editted
Change-Id: I2a76104b96d5eba554113e5aace1661170bbbb5d
2022-10-31 09:21:11 -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
Sébastien Blin
1a994173ec
conversationmodel: fix loading for some conversations
If there was too much following merge commits, sometimes the
conversation was not correctly loaded.
Moreover, the lastMessageUID was not correctly calculated from
time to time, leading to empty conversations in the smartlist.

Change-Id: I1224269c5df72936ae51f34211ce3f63dbf606ff
2022-10-21 09:34:54 -04:00
Nicolas Vengeon
eb55c3193a feature: Display emojis stand alone
-Emojis are shown without bubbles when sent alone
-Changes on message reply design ( animation now include files and emojis)

GitLab: #690
Signed-off-by: Nicolas Vengeon <nicolas.vengeon@savoirfairelinux.com>
Change-Id: I81d128367a9c393c76493e02ce88daf4f6a11bf4
2022-10-07 15:38:08 -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
Sébastien Blin
95f1c4d76d
messagelistmodel: use correct total size on incoming file
use the size from the daemon if the file is downloaded, else
use the size from the commit.

Change-Id: Ia4e7123558e93a1ab0879feab9a141ceefaf183a
GitLab: #833
2022-09-16 16:31:38 -04:00
Sébastien Blin
dfb7e918f0
replyto: set the body on one line
Change-Id: I69292cfd3c2ad222fdd038d1a209c8d43bad8784
2022-09-08 12:11:55 -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
3164f8708b conversationmodel: fix wrong ordering for messages
Change-Id: Ida8cba2ea8d386abf3e5ff2bc024069860bfcda0
2022-08-11 16:32:46 -04:00
Amin Bandali
e0b3b4adec misc: vendor libjamiclient into 'src/libclient/'
This is libjamiclient from the jami-libclient.git repository as of
767c45b8b09806ac05cbada720864df93588c047, with the following changes:

* src/libclient/newaccountmodel.cpp:
(NewAccountModelPimpl::removeFromAccounts): The lock wait inside
'#ifdef CHK_FREEABLE_BEFORE_ERASE_ACCOUNT' was not updated when the
type of 'accounts' was changed over the years from this:
std::map<std::string, account::Info>
to this:
std::map<QString, std::pair<account::Info, std::shared_ptr<Database>>>
Basically we need to get the 'first' of the pair for 'account::Info'.
So we now do that.

* src/libclient/avmodel.cpp:
* src/libclient/callbackshandler.cpp:
* src/libclient/contactmodel.cpp:
* src/libclient/conversationmodel.cpp:
* src/libclient/database.cpp:
* src/libclient/namedirectory.cpp:
* src/libclient/newaccountmodel.cpp:
* src/libclient/newcallmodel.cpp:
* src/libclient/newdevicemodel.cpp:
* src/libclient/peerdiscoverymodel.cpp:
* src/libclient/pluginmodel.cpp:
* src/libclient/smartinfohub.cpp:
* src/libclient/vcard.h:
* src/libclient/authority/storagehelper.cpp:  Replace Qt's 'foreach'
with 'Q_FOREACH' and its 'emit' with 'Q_EMIT' because in the client-qt
code base we have '-DQT_NO_KEYWORDS' to avoid conflicts with other
libraries we use.

* cmake/FindLibJami.cmake: Import cmake/FindRing.cmake from the
jami-libclient.git repository.  Then, rename RING_BUILD_DIR to
LIBJAMI_BUILD_DIR (though the old name is still supported for now).
Also update other references of Ring to Jami.  Further, add additional
calls to 'find_library' to make sure specified local paths for libjami
are checked before system-wide ones (in case of older/obsolete libjami
being available system-wide, which might happen on GNU/Linux systems).

* translations/lrc_*.ts: Import translation files from the libclient
repository.  The message location paths were corrected by running
"sed -i 's|../src|&/libclient|g' lrc_*.ts" in 'translations/'.

.tx/config: Add section for the newly-imported libclient translations.

* CMakeLists.txt: Reformat, plus various fixes and cleanups, such as
changing indentation to 2 spaces and wrapping lines at 70 characters,
renaming the parent directory of translations from 'ring' to 'jami',
and using all lowercase function calls.  Also add copyright headers.

* src/app/appsettingsmanager.cpp:
(AppSettingsManager::loadTranslations):
* src/app/utilsadapter.cpp (UtilsAdapter::supportedLang): Update to
adapt to the renaming of the parent directory of translations from
'ring' to 'jami'.

GitLab: #748
Change-Id: I86e3b0fb30e554755023e7b858b6a0d132cd59ab
2022-06-08 16:28:57 -04:00