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

75 commits

Author SHA1 Message Date
Sébastien Blin
5ddfab1b7b previewEngine: fix display hyperlink preference
Change-Id: I3c9813e41f6c857d096d9d685d5902d3c4c361cd
2021-10-27 14:57:22 -04:00
Ming Rui Zhang
3185df0837
messageListView: add typing indicator
Gitlab: #552

Change-Id: I0a4dc3b61a22aafb40d8a301033c59d2cc02bc79
2021-10-21 10:34:50 -04:00
Andreas Traczyk
e85d4506de chatview: implement side-by-side styling
+ fix multiline richtext
+ add SBS msg bubbles
+ limit timestamp visibility
+ render link previews
+ render data transfer interactions

Gitlab: #467
Change-Id: I80b6db33d786180d479730213855b9816bea4793
2021-10-06 15:55:24 -04:00
Trevor Tabah
2e67dc1bd8 chatview: replace web chat view with qml listview
Introduces a primitive QML ListView based chat view lacking
features present in the previous web chat view, that will be added
in subsequent commits(styling, preview/media/link/file-transfer
message type support, etc.).

Gitlab: #467
Change-Id: Iedc40f6172a6cdacc48cda6f4187053fbf226713
2021-10-06 15:51:20 -04:00
Sébastien Blin
3f27289fd8 messagesadapter: do not use .arg() for printing messages
This breaks messages with %Num inside. .arg() is useful for
l20n but here we don't care as the two arguments will always be
in the same order.

GitLab: #529
Change-Id: I018bdecdf51d30be887ab4a50ef54401f2f34235
2021-09-16 15:29:58 -04:00
Ming Rui Zhang
a196513d2e settings: refactor for SettingsView - stage one
1. Add account config QML properties and use them
   in settings directly to avoid manual update
2. Rough clean up for video/audio settings
3. Remove settingsAdapter entirely and split the
   responsibility

Change-Id: Icf81b91d5a3a0dd9f2a52824159cd222367b801f
2021-09-14 16:52:30 -04:00
Andreas Traczyk
53b5add8e7 chatview: make participant avatars available in the webview
Gitlab: #492
Change-Id: Ia9df04b26d80b9178993d73bb6ec3f8d187178f9
2021-08-17 08:53:59 -04: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
Sébastien Blin
7ccfd469d4
messagesadapter: re-add isSwarm
This show "Copy to Downloads" for file transfer in swarm.

Change-Id: I7002ce22898ced361ca3df1fa535dd7ec88e0d70
GitLab: https://git.jami.net/savoirfairelinux/ring-project/-/issues/1282
2021-08-11 16:59:13 -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
519ced58f7 chatview: don't call printHistory
Use updateHistory instead. This prevents "Contact added" message
duplication. We also clear the unread messages at this point which
will prevent an uncleared unread first message when adding a new
conversation.

Gitlab: #482
Change-Id: I927e15dfe945aa3f2f33db3fb91739522db5ea9b
2021-08-03 08:55:56 -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
Ming Rui Zhang
14661adac6 tests: add FilesToSendContainer and MessageWebViewFooter tests
1. Adjust QML main setup
2. Add resources.qrc for test and Qt Creator display
3. Change LRCInstance and ScreenInfo to QML Singletons
4. Move QML type registration entirely to qmlregister

Change-Id: I5c8a854173a2ec1f85ffa971707af262fa344505
2021-07-20 09:45:42 -04:00
Ming Rui Zhang
b3d853a0d1 messagewebview: QML invition page implementation
Gitlab: #469

Change-Id: I661185530ee3703527fd85a7022b42a3bcb7f579
2021-07-12 17:42:30 -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
Ming Rui Zhang
f8d5ab7fe7 messagewebview: chatview message bar qml replacement - logic completion
Functionalities checklist:
  1. Emoji picker refinement
  2. DropArea on messageWebView
  3. Record box
  4. Send message button visibility
  5. TextArea paste (can paste image, files directly)
  6. TextArea content draft
  7. TextArea - Enter key -> Send message
  8. TextArea - Shift + Enter key -> New line
  9. TextArea - Composing indicator
  10. TextArea - Placeholder text

Change-Id: I115ad2927b74264dd396aa55b77a8f003dcd746b
2021-07-09 12:04:32 -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
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
4e3cf29eb6 chatview: react to save button
Change-Id: I33717f148b837475a4f4874f327ed86de6f441cf
2021-06-29 17:35:50 -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
Sébastien Blin
cbcc0e4752 messagesadapter: fix composing connection
GitLab: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/455
Change-Id: I91b00492dfd9ef856cdc5a620085b77c4ec6ac68
2021-06-25 15:36:36 -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
Trevor Tabah
dfffe91a8f display links toggle: correct text and variable names
Change-Id: I4e4f1837f2f8ba53b776c4401067f8d7feaa2f76
2021-06-25 15:19:27 -04:00
Ming Rui Zhang
c4ad576985 messagesadapter: use decideFormatFromContent for QImageReader
Change-Id: Ib225b2fbc739f10802fd5951bf9c04b5767da024
2021-06-14 10:15:24 -04:00
Ming Rui Zhang
dc060370f4 messagesadapter: remove unnecessary chatview text elide
Change-Id: Idcbd0c8694044259794140c041347ec4a487436c
2021-06-11 17:53:36 -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
bd3b2f223f fileTransfer: add support for swarm
Change-Id: Ie22618d01a2fa6fb38ced8d2aef6f9524401ce24
2021-06-11 17:50:37 -04:00
Sébastien Blin
1355111e02 swarm: add sync window
Change-Id: I0727737c8a9c4998ed66065fb1011389a502b0f9
2021-06-11 17:50:01 -04:00
ababi
951eb3cf85 swarm: add support for lazy loading conversations
depends on https://review.jami.net/c/ring-lrc/+/16720

Change-Id: Ic254459827c189fc92595be6e2485e0eed31edd8
2021-06-11 17:49:07 -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
Sébastien Blin
e8edb15350 ongoingcall: show chatview when receiving new interaction
Change-Id: I97c5f42ab622bb87666203a251915dbbb5b5d84d
GitLab: #429
2021-05-27 18:01:51 -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
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
ababi
61de0c4eef misc: follow chatview and side panel design changes
- Remove icons and resize side panel tab bar.

- Change icons and style for chatview header and combo box buttons.

- Update chatview colors.

Gitlab: #241

Change-Id: Ic5f4e0db5e1912c85cc4f658264371af8104cd8f
2021-04-19 14:36:32 -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
ac87d33d9f misc: put lrcinstance implementation into cpp file
Change-Id: I46c4e17124b2c0cbf6e92c696d3d47e1b0ad2d0d
2021-04-09 16:00:33 -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
89d58e5243 misc: check "default moderators" list when removing contact
Avoid having a removed contact on the "default moderators" list.

Gitlab: #309

Change-Id: I710fe3e096be830e3cd9cfc93f2f46fb60eb20f0
2021-03-26 15:08:31 -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
f27f4374a2 smartlist: switch to conversations tab on invitation accept
- switch tab to conversations smartlist
- go to welcomeview

TODO: define UI behavior while waiting for the smartlist update

Gitlab: #284

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

Change-Id: Ifb671d38d364714818650a8154c43a5787460039
2021-03-22 15:47:14 -05:00
Ming Rui Zhang
67a7efae04 chatview: use recipient's name in the send message input placeholder
for LRC issue:
Gitlab: #443

Change-Id: I761901acc2dfca698cbb3bb4776924b58b0724da
2021-02-08 13:47:18 -05:00
Mingrui Zhang
8b2512c513 messagesadapter: clear conversation uid cache if it is currently selected
For clearConversationHistory and removeConversation

Gitlab: #252

Change-Id: I3008cf20ddace5d3395465bd328a460c72e4c07f
2021-01-07 15:30:56 -04: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