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

55 commits

Author SHA1 Message Date
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
Sébastien Blin
c52d288c76 messagesadapter: add kick member
GitLab: #340
Change-Id: I4cfdc6392c8b6de573f8d4471b7b5501f393379b
2022-03-23 13:50:53 -04:00
Amin Bandali
db0fd56763 misc: update (and fix) copyright years to 2022
Change-Id: I8eb66c1c3cddb3bf73b6784a9876dd9dc9c12481
2022-01-06 11:24:13 -05:00
kkostiuk
be9dd0d0d8 conversation: fix long loading time for images
Change-Id: Id88cfbd571f4b504f258758bd13b4e4a91bf1b49
2021-12-22 13:05:17 -05:00
Sébastien Blin
4a25228e40
messagesadapter: use conversation.typers to build current typing status
Change-Id: I9d38c2a9938bed02ed48f7a141ef0b53b423e1e4
GitLab: #589
2021-11-10 09:53:29 -05:00
Sébastien Blin
2d22884939 messagesadapter: remove useless method
openFile is unused

Change-Id: I991ccf489f742f87dda4af206766956b95772fa5
2021-11-01 14:21:48 -04:00
Sébastien Blin
4bfe269029
datatransfer: add context menu to open location, export to downloads
Change-Id: I90fcbc735f084ab37abfa3b466b97cf56c640247
2021-10-27 16:38:46 -04:00
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
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
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
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
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
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
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
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
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
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
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
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
28f19d33a0 i18n: adaptation for lrc chatview translation
Change-Id: I9fdb6a5646e487c974fe8884e36277985c48fa2a
2020-10-14 15:43:24 -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
agsantos
d191f86b9c settings: optimize code
Change-Id: Ib12382a9292852f404b1a588a7b5a6e29cb06cf9
2020-09-15 14:58:24 -04:00
Andreas Traczyk
eacf5bb458 misc: apply clang-formatting
Change-Id: I9d2ec496aa8d6cc0a41f9096ad153308c3308e8b
2020-09-10 18:00:08 -04:00
Andreas Traczyk
eb53a622b7 qml interop: start replacing QMetaObject::invokeMethod with signals
It seems concurrent calls to invokeMethod using qml component
object pointers can lead to access violations. These method
invocations can be replaced with a signal/slot mechanism.

This patch replaces only the invocations in conversationsadapter
and accountsadapter that are known to be problematic for now.

Some code cleanup is done for QmlAdapterBase derived classes.

Gitlab: #61
Change-Id: I72f47c9229a9bf42299ae52822c3a1a8c04eb423
2020-09-03 16:25:59 -04:00
Sébastien Blin
06fbda77e0 chatview: correctly handle clicked links in the webview
Change-Id: I16edca89fe0e66fb3845cc0420c251c70c12bdec
Gitlab: #11
2020-09-02 17:22:55 -04:00
Ming Rui Zhang
b07f7afe92 mainview: fix crash when deleting account
Fix the deletion crash issue and remove redundant account changed
signals.

Gitlab: #17
Change-Id: I1858fa051fd5171e1261dbc35d361631dc3ea01d
2020-08-28 12:35:26 -04:00