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

68 commits

Author SHA1 Message Date
Sébastien Blin
866da95252
phase2: add button to start generic swarm
GitLab: #340
Change-Id: I72534e9e3599b70cdf0f91aa81be7636499715b8
2022-03-23 12:35:11 -04:00
Sébastien Blin
8cd2a4753a Revert "conversationsadapter: select first conversation"
This reverts commit 0c1b1cd426.

Reason for revert: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/658#note_33744

Change-Id: I5bdacea0bd414fe270697566d08db20f279e9349
2022-01-26 19:55:10 -05:00
Sébastien Blin
0c1b1cd426 conversationsadapter: select first conversation
It's more useful than the welcome view

GitLab: #645
Change-Id: Icf79aaff5c2cd1d9faf8481ba20f68e7b095d8c1
2022-01-21 13:44:21 -05:00
Amin Bandali
db0fd56763 misc: update (and fix) copyright years to 2022
Change-Id: I8eb66c1c3cddb3bf73b6784a9876dd9dc9c12481
2022-01-06 11:24:13 -05:00
Andreas Traczyk
a45754ed8c conversations: provide descriptive help banner for read-only convs
Adds a new chat view footer to describe for read-only conversations
to describe the concept and provide options to remove the contact
or restart a new conversation with the contact.

Gitlab: #475
Change-Id: I6ca0e8dfbf49f17a6ff93a2744c552b76d923773
2021-08-13 10:21:15 -04:00
Andreas Traczyk
2ea0a000e1 swarm: fix chatview ui state when selecting conversations
depends on: https://review.jami.net/c/ring-lrc/+/18979

Change-Id: Ic29e5a6f6eced04a095dd097352c37ca0b253eda
2021-08-09 16:59:22 -04:00
Andreas Traczyk
f05ffbce44 swarm: prevent interacting with read-only conversations
Read-only conversation has:
- a lock icon in the smartlist item
- no message send bar in the chat view
- no call actions available from the chat view header
- no call actions available from the smartlist context menu
- no double click to call

Change-Id: I0497b94038b450f0a0a22fc007de1281b7b2214d
Gitlab: #475
2021-08-02 12:10:41 -04:00
Andreas Traczyk
397b799cbf swarm: swarmify the message view
Change-Id: I85a070e8ea44b108fa75d69a8c6f544e8e2c8581
2021-07-28 12:25:32 -04:00
Andreas Traczyk
275530746a smartlist: filter conversation update/reselection
Filter either the same conv id or peer list of the currently
selected item when responding to the conversationReady signal.

For dialogs we make sure the peer list(1) is same and for all other
swarm conversations we match the conv id.

This will prevent programmatic auto-selection of the smartlist
during account sync.

Depends on: https://review.jami.net/c/ring-lrc/+/18793

Change-Id: I6cedb8494f7c001bf886fe36dd03adffd201bb51
2021-07-19 12:57:18 -04:00
Ming Rui Zhang
a31fb6c0d8 conversationsadapter: make conversation filter correct when rejecting invitations
Gitlab: #471

Change-Id: I00db0c43c76f46ab934a196df1896005d936f4ff
2021-07-15 15:03:33 -04:00
Sébastien Blin
d0b5667449 systray: change systray icon when we have notifications
Also use jami.svg for regular systray icon.

Change-Id: I6325c756d10216a017eb89042ab2f6ca0e988703
2021-07-14 17:13:45 -04:00
Andreas Traczyk
4bda330637 swarm: simplify and update avatar update mechanism
Implements a leaner avatar caching system. The avatar component
listens for uid filtering its id, which may be:
- conversation id
- account id
- contact uri

In response to the uid change, a the image source is updated with
a new image url invoking a fresh QQuickImageProvider query. With
this design, only the avatarregistry's uid mapping needs to be
updated when profiles are changed, and no longer should specific
avatar components receive manual source updates.

Gitlab: #466
Change-Id: Ie5313f5c187a0977ca51b890dd92187480a42537
2021-07-12 17:29:48 -04:00
Andreas Traczyk
285316dd32 lrcinstance: remove custom setter/getter for currentAccountId
Using a custom getter setter cause the setting of the value to
require manual changed signal emission and in addition to being
error prone, this prevents the changed signal from being emitted
upon initial selection. Some excess workaround code may be removed
in following commits.

This patch also refactors the banned contact signaling as part of
an accountadapter connection cleanup.

Change-Id: I73fb751001e53e086adc7a6a8d706671c2878a77
2021-07-09 15:11:27 -04:00
Sébastien Blin
96c0084c3b conversationsadapter: use convId from request
This fix notification's actions for the notification, finding the
correct convId.

GitLab: #455
Change-Id: I9b70f723eacd930f95c2eaf01ecd52b8c5d28313
2021-07-08 12:57:33 -04:00
Andreas Traczyk
712f2c3b30 smartlist: adjust draw/filter for swarm items
Removes profile type filter entirely. Treats swarm and non-swarm
differently when accessing role data.

depends on https://review.jami.net/c/ring-lrc/+/18656 for changes to
helper function names in conversation::Info

Change-Id: Ife69d4c70072ea524fed873136fd9ec39632d6d8
2021-07-06 14:38:29 -04:00
Sébastien Blin
a1de98c551 conversationsadapter: fix buttons for trust request notification
Change-Id: Ifa7ae09d5edc274a200fcf9d934ac27fe7c71956
GitLab: #455
2021-06-29 17:40:55 -04:00
Sébastien Blin
f74a00cbf1 smartlist: use title() to avoid to depends on contact
Change-Id: I18e50cc29ce4183a1d3c89f1e30f9ddb61248278
2021-06-29 17:40:32 -04:00
Sébastien Blin
6439832824 smartlist: show all swarm and draw items
Change-Id: Ib3e01a0af51736727b8056ed9eaa8ce9170c2d6c
GitLab: #438
2021-06-29 17:36:18 -04:00
Sébastien Blin
889ca51b64 conversationsadapter: fix build
conversationModel is a unique_ptr

Change-Id: If3f85387c3f322c83abe5921705ab6e8addf8373
2021-06-25 19:14:29 -04:00
Andreas Traczyk
0234fc6f94 conversations: respond to needsSyncingSet signal
When the needsSyncingSet signal is caught, we need to update the
UI to change filter tab, reload the conversation, etc.

Change-Id: I70170d75afa50acad6e79d53fcaeb82752c38e81
2021-06-25 17:29:00 -04:00
Andreas Traczyk
8409355e93 messagesadapter: use acceptConversationRequest api
To accept incoming requests, a new acceptConversationRequest api
should be used and makePermanent is now only called for outgoing
requests.

Change-Id: I70bcfc0e323ae250641420f4fda91c6987cac720
2021-06-25 17:28:52 -04:00
Andreas Traczyk
7529e2e3ec conversations: turn off request filter when switching accounts
Change-Id: Icbf4b20ae23360262d6ed0214101c8775ac9e9d8
2021-06-25 15:48:45 -04:00
Andreas Traczyk
83bb6fb082 conversations: refactor list reselection when making permanent
This should fix a race condition preventing the right conversation
from being selected after an outgoing interaction and, more rarely,
accepting an invitation.

Change-Id: Iccd1f91ba4d46285c2f1e4594122a736824b752f
2021-06-25 15:27:41 -04:00
Andreas Traczyk
392c423bc1 conversations: fix filter setting when a conversation is selected
Set the account and request filters separately.

Change-Id: Ib7d93caa4058e086d3cbcf39ac3fb9a30097aba1
2021-06-25 15:27:34 -04:00
Andreas Traczyk
85bbcf37d6 swarm: make conversation filters great again
PENDING profile is no longer a valid filter criteria. isReqeust is
now used instead and the profile type is restricted to account
types and tracked as a separate property.

Change-Id: I4848e32f005ea7a6a8b5f2fa25d40b7e1e4d63b8
2021-06-21 13:26:24 -04:00
Ming Rui Zhang
1e7f407e3c conversationsadapter: recover avatar update for conversations
1. Remove unused conversationSmartListModel
2. Properly update conversation model by using onProfileUpdated

Change-Id: I8d6f3a3a5fea2cee38258ca0cc5bd6ca6f447395
2021-06-16 16:31:27 -04:00
Ming Rui Zhang
cdaa3cfeed conversations: selection refinement for refuseInvitation and blockConversation
1. Decline invites now auto-select the next one and de-select the
   conversion when there are no more invites
2. Block conversations behaves the same as before

Gitlab: #402

Change-Id: Ibd3385e40cb2329d58ea90aa3347dfa4b66a4496
2021-06-11 17:53:08 -04:00
Sébastien Blin
f0675434b9 misc: fixes
Change-Id: I83161997e655cbb626f6577cedb53d3b67786c7f
2021-06-11 17:50:47 -04:00
Sébastien Blin
11119e51f6 userprofile: add isSwarm to profile
Change-Id: I6504c20cba5b51d54d0e9947c2303108f2a2161d
2021-06-11 17:48:32 -04:00
Sébastien Blin
3d71bfa8ae swarm: first implementation to follow api changes
- use QString for interactionId

- swarm conversations: use loadConversationMessages and
subscribe to newMessagesAvailable signal

- avoid displaying "merge" and empty "data transfer" messages

- link composing status

Change-Id: Ic524bb786b2ff0471f03b1bb02d41d6da38e716a
2021-06-11 17:47:27 -04:00
Ming Rui Zhang
9d0f84d8be accountadapter: move current account id and type properties to lrcinstance
Change-Id: I609452e83edd55a909d0f30aa6cb0daa3687ff3c
2021-05-14 15:05:20 -04:00
Andreas Traczyk
8230fb863c adapters: handle injecting lrcinstance with zero accounts
Change-Id: I1ec652c60620cf4e7e1caad7fd00ddf1aa40d64d
2021-05-10 16:31:55 -04:00
Andreas Traczyk
e64a9e7ee7 sidepanel: improve smartlist interface with underlying models
Minor cosmetic changes to the account combo box, search bar, filter
tabs, and smartlist.

Change-Id: Ie8173504859b325374e42f0dbb4e0ae75f3ed740
Gitlab: #373
Gitlab: #374
Gitlab: #388
2021-05-07 15:41:28 -04:00
Andreas Traczyk
de261df86f conversationadapter: use slots instead of lambdas
The UniqueConnections need slots to compare bindings. Also, member
functions are cleaner and easier to debug than lambdas.

Change-Id: I16ae3882e0f5ff0b92d1ca6c7ce383e5ceef8a79
2021-04-27 12:14:52 -04:00
Andreas Traczyk
946491a596 conversationsadapter: replace signal reconnect with unique connect
Change-Id: I34b1dca62ad5b28b49ddf319c4ea9724efd66b21
2021-04-19 10:39:25 -04:00
Andreas Traczyk
cc3931b36e lrcinstance: represent the selected conversation as a QML property
Change-Id: I01dbfc0d6cfcf407d6636ba59b136830ee0342bc
2021-04-09 16:00:43 -04:00
Andreas Traczyk
7f28ac65df notifications: add avatars to gnu/linux notifications
Gitlab: #320
Change-Id: Ib2121257af2704dd2a246b499961657b66ae944d
2021-04-07 16:06:59 -04:00
Andreas Traczyk
2cc82053c9 notifications: implement libnotify on gnu/linux
Gitlab: #320
Change-Id: I39ffd7e0ba8c5160e81a6b64260f3d92ab8c619a
2021-04-07 16:06:05 -04:00
Mingrui Zhang
2e60568307 project: don't use Qt keywords for signal/slot/emit
Gitlab: #320
Change-Id: Ia2a16a05be3fd6452a39df999660a5c8440eea13
2021-04-02 15:37:43 -04:00
Andreas Traczyk
4ce208ec33 injection: remove the remaining c++ singleton classes
- refactor qml object registration
- inject AppSettingsManager and SystemTray

Gitlab: #320
Change-Id: Ic8232a290003245d09ad9452c9f5518fd260af78
2021-04-02 15:37:33 -04:00
Andreas Traczyk
e60eeff357 injection: place parent QObject as last parameter in ctors
Lrc object injection should never be a null pointer.

Change-Id: Ib574c751673fd35e223ce2447cee74bce7dfbf3e
Gitlab: #337
2021-04-02 15:37:33 -04:00
ababi
d84219c6b4 misc: revise and catch exceptions thrown from lrc
Change-Id: I0e28f20ecb017267e74ef76fb922443e15e896e8
Gitlab: #308
2021-03-26 14:44:52 -04:00
ababi
dfbcfe03fc smartlist: avoid updating smartlist on conversationRemoved
Accessing smartlist on conversationRemoved can return invalid
items. Instead, only show welcome view and use modelChanged signal
for updating smartlist.

Also avoid duplicate navigation to welcome view.

Gitlab: #300

Change-Id: Ic1c192fecceeb59287267e3445fabf6afb91ffd5
2021-03-26 11:04:34 -04:00
ababi
59c8a75cc3 callview: fix conversation selection when call ends
- avoid using smartlist index change for conversation selection
when call ends (instead it can be triggered from calladapter)
- break long lines

Gitlab: #260

Change-Id: Iaa1f9269d9ba6889fb1a7e466cd586fa86263bc7
2021-03-26 10:41:20 -04:00
Ming Rui Zhang
7951764b2e misc: remove LRC singleton
GitLab: #337

Change-Id: Ifb671d38d364714818650a8154c43a5787460039
2021-03-22 15:47:14 -05:00
Mingrui Zhang
9ef94561a5 lrc: avoid excessive copying of conversation info objects
1. Container View api
2. use optional conversation info ref api

Change-Id: I38aa57edc1fbf304ea0ef95d48000e0495c409ee
2021-01-07 14:09:31 -05:00
Ming Rui Zhang
768ea9d601 refactor: use ApplicationWindow as the main entry point
Change-Id: I5e298e51fdc4099f0380d8a2ce2176cd66070eed
2020-12-11 17:07:10 -05:00
Ming Rui Zhang
be1419c0a6 wizardview: adapt the added best name and id logic in lrc
Note: if the Displayname/alias is the same as the username,
      it should be the only line shown

Gitlab: #129
Change-Id: I2c3dc8d304bd730a2ae114e4686c9ae899087c6b
2020-10-30 11:35:47 -04:00
Ming Rui Zhang
173cf2be50 migration: use image provider to show avatar image
1. Use avatarimageprovider
2. Remove redundant base64 code

Change-Id: I2a2517890e95b4a9f9a363fbea2251d6d5dd1c8f
2020-10-30 11:35:39 -04:00
Andreas Traczyk
66b9dd823d conversations: prevent account reselection on filterChanged event
Change-Id: Iab0a6a2316ccc3529829e9ff9cdd3ca643ccdac2
2020-10-21 15:23:26 -04:00