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

62 commits

Author SHA1 Message Date
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
Ming Rui Zhang
44ebb170ff messagewebview: add support for pasting and drafting js special characters
Note: it will also prevent potential js template literal

Gitlab: #250
Gitlab: #246
Change-Id: Ic925a18ae768d168b8e340f9e05ef6ddd0260c84
2021-01-05 09:21:58 -05:00
Ming Rui Zhang
0de0f6ecb0 avatar: save the original source of the avatar instead of the cropped
Change-Id: I0e92189f9661ada19ae62025a3114541e41ea587
2020-12-07 17:17:48 -05:00
Sébastien Blin
4ca581e134 settings: add some chatview settings
Add:
+ Display images and videos into the chatview
+ Show typing indicators

Change-Id: Icf5575ae9b176254394399073fe3926130ecc428
Gitlab: #160
2020-12-03 14:45:59 -05:00
Ming Rui Zhang
d73422f612 messagesadapter: show clipboard image correctly in chatview
For example, with the fix, image copied from web or snipping tool
should show correctly in data_transfer_send_container of chatview

Change-Id: Ie86e7c2a5ef042ae43acd4a8f1d2ebc9641385e3
2020-11-18 11:58:09 -05:00
Ming Rui Zhang
8355cb0789 messagesadapter: clear cached convId once current account is changed
Gitlab: #158
Change-Id: I126ab29e1d63e036d68a62d293abf6f445a60722
2020-11-04 16:45:51 -05:00
Ming Rui Zhang
a3c6e262bd messagesadapter: clear cached convId when existing message web view
Change-Id: I332bebfbd035f6c928a7a8f1d4210ce8b491c7dd
2020-11-04 15:56:23 -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
ababi
95df47c717 misc: fix contact request UI issues
- switch between "conversations" - "invitations" smartlists according to call origin
- "Accept Request" button from msg's view header: hide on contact accepted, set on view load according to userType
- correct requests smartlist item selection on tab switch
- accept incoming call from pending contact makes conversation permanent

Gitlab: #74

Change-Id: Iadfef0d7e4032002d8007a4f18a9eae27f7ba230
2020-10-07 17:06:13 -04:00
ababi
2df280c3fb mainview: UI call management refactor
- AccountAdapter::navigateToWelcomePageRequired is no longer required since subscription to property change in QML
- avoid unnecessary CallAdapter signals for UI management. Listen to BehaviorController and avoid duplicated / unnecessary signals.
- avoid duplicated code:
  - account selection only in AccountAdapter::changeAccount and ConversationsAdapter::selectConversation
  - simplification of ConversationsAdapter::selectConversation
  - conversation UI always managed by ConversationsAdapter -> ConversationSmartListItemDelegate
- smartlistmodel: no need to show callstack for outgoing calls in state ENDED

Gitlab: #86
Gitlab: #87
Gitlab: #88

Change-Id: I7025d4292914939f5a78aee1c4742104b370641d
2020-10-07 17:06:13 -04:00
Ming Rui Zhang
55cbcd38d2 misc: using QRegExp to remove file url prefix
Remove file url prefix regardless of two or three slashs (file:// or file:///)

Gitlab: #113
Change-Id: Ia3600336fcc727a32646ee415243c1833e6c1e41
2020-09-30 14:22:46 -04:00
Andreas Traczyk
21b0e5eeb3 filetransfer: adjust the url decoding for qml component file urls
Gitlab: #92
Change-Id: I10ae359b26c70cacdb1e1168658678f3f5b2a96e
2020-09-18 17:32:24 -04:00
Andreas Traczyk
87a4602b9a notifications: implement incoming message notifications
- Note: adds forcing the main window to the top to overcome a
  Qt/QML bug which prevents this from working when activating
  from a notification window source.

Change-Id: Ib5a93d3937fe5a4de0229f7aeae8469d1ffdfba3
2020-09-17 17:32:40 -04:00