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

95 commits

Author SHA1 Message Date
Sébastien Blin
fe3f8521e8 backupkeypage: transform into TipBox
Split TipBox into dynamic components to avoid to load all the things.
Show the Customize Tip Box only if necessary
Replace backup key page by a tipbox

Change-Id: Ie499fb16fe67648bbdd327eb24705a1881d9cea8
2022-09-19 16:19:24 -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
ce3afea995 chatview: display signaled back-end errors
A signal exists for showing errors to the user to make failing cases
more explicit. With this patch, errors detected are displayed to
the end user so that they know that an error occured and what
kind of error occured.

Change-Id: Ib2d4d4fdb171235e0598de0f1c190b8fd0fcc336
2022-08-15 15:33:32 -04:00
Aline Gondim Santos
824ba581c8 callbuttons: create alternate layouts
GitLab: #729

Change-Id: Ice67d8649c1ad2a92eba7c02cebc446eac5ac90e
2022-08-11 10:44:33 -04:00
Sébastien Blin
1881ffb45f swarm: transform non swarm to swarm conversations
+ Remove readOnly from conversation's as it was never used
and not necessary in multi swarm as you can re-add members anyway
so it's never read only.
+ Makes non swarm conversations just readable.
Users can save whatever they want and replace old non migrated
conversations to new swarm.

Change-Id: I8aa2521bc524b6159d7ba0b613834438e293e09e
2022-08-08 11:37:47 -04:00
Sébastien Blin
2077041c04 welcomeview: implement new design
GitLab: #767
Change-Id: Ia2ae77e8e9d3d5abe560ced0a84d828057824845
2022-07-29 21:26:48 -04:00
Sébastien Blin
9fc9db7826
qml.qrc: remove non existing file
Change-Id: I6303257ed1edb4bc38817fdb9c8e05e241778f43
2022-07-29 09:29:49 -04:00
Fadi SHEHADEH
41c21dac68 wizard: implement new wizard details
This changes many things:
+ Except the backup page, all pages were re-designed
+ Heavily modify buttons and line edits with new components style
+ Update switches themes
+ Re-work username
+ Add future components
+ Update strings
+ Update PhotoBoothView

GitLab: #769
GitLab: #770
GitLab: #766
Change-Id: Ic97d36cf8c86c4242013bf71a524887f7ce56f8f
2022-07-29 09:18:16 -04:00
Sébastien Blin
4449aabfed
conversationsmartlist: add confirm dialog for blocking and removing
Change-Id: I98f9d19176a0401d5498a74e9bcc318868388854
2022-07-22 10:28:30 -04:00
Fadi SHEHADEH
8fb34e34aa JamiIdentifier
- created the jamiIdentifier
- possibility to share and copy to clipboard
- contains the identifier or in best case the username

Change-Id: Ib4578c872100253a1392e938dcd731d9118da5da
GitLab: #770
2022-07-21 10:56:42 -04:00
Sébastien Blin
28d7ab5213 swarmdetailspanel: improve about buttons
Change-Id: I4b8e162f8a39363eae614545047056eb4b0ea55a
2022-07-19 09:17:55 -04:00
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
kkostiuk
3f88ceda93 build: add option to build without Qt WebEngine
This patch allows building the project without Qt WebEngine, by
disabling (for the time being) the features that depend on it:
the emoji picker, link previews, and media file previews in the
chatview.

Co-authored-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Co-authored-by: Amin Bandali <amin.bandali@savoirfairelinux.com>
Change-Id: I74751b0cc6f22c61a6fd7281ca3207e0fdbb2212
2022-05-03 10:11:21 -04:00
agsantos
77d8cc758d account settings: add plugins
GitLab: #539

Change-Id: I49dd030bc4e80fe30bcf7259777a2527ebd25fe2
2022-04-26 09:27:11 -04:00
Sébastien Blin
1403e8dd7d chatview: implement ContactMessageDelegate
GitLab: #670
Change-Id: Iab928c87f409713f867d47a2f87e53537af444b5
2022-03-23 15:09:11 -04:00
Sébastien Blin
c52d288c76 messagesadapter: add kick member
GitLab: #340
Change-Id: I4cfdc6392c8b6de573f8d4471b7b5501f393379b
2022-03-23 13:50:53 -04:00
Sébastien Blin
76896e7971
chatview: add the swarm details page in a stackview
This allow the swarm details page to be resizable.

Also adds the add members list into this view.
Presence and filtering for ContactPicker is also
fixed.

GitLab: #670
Change-Id: I4bf4369eba1d30dff3931575cd8ebd7eb2c7aee0
2022-03-23 13:45:32 -04:00
Sébastien Blin
55daffe328 misc: introduces EditableLineEdit
GitLab: #685
Change-Id: I6c284150b18ea7a866b063411b25e50f3afae559
2022-03-23 12:46:14 -04:00
Sébastien Blin
3f18e6edbc
conversation: add swarm pages
GitLab: #340
Change-Id: I4a4ebfbebb880161e93fc0a086eec13ffb1ba285
2022-03-23 12:45:51 -04:00
Andreas Traczyk
e7cc0497ce video: use QVideoSink/VideoOutput and QVideoFrame instead of QImage
Removes the rendermanager and framewrapper objects along with any
QQuickPaintedItem-based QML render widget classes. This simplifies
the video widget stack implementation.

The new mechanism uses the VideoOutput component of QtMultimedia.
By accessing the VideoOutput's QVideoSink object, we update the
mapped buffer data of a sink's QVideoFrame when new frames are
published. Updates to frames and component sink subscriptions are
managed by a new class called VideoProvider.

Gitlab: #500
Also https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/536

Change-Id: I2391a32294922ea435ab80ac1f876c004ff6c21e
2022-03-08 11:49:43 -05:00
Sébastien Blin
07b05f0123 settingsmenu: make it dynamically translatable
Components.onCompleted is not called after engine_->retranslate(),
causing the menu to not change. Doing a model for 4 buttons is
overkill, so just do the menu.

https://git.jami.net/savoirfairelinux/jami-project/-/issues/1342

Change-Id: I412230cc2152948666e37fe11824ee347bf55644
2022-02-01 10:00:19 -05:00
Andreas Traczyk
b0fd803245 mainapplication: isolate window mode logic in a top-level component
Logic for fullscreen/windowed mode switching is scattered within
the main ApplicationWindow and other components. Ideally,
components that need to transition to fullscreen, can make a dumb
request to module in charge of making the necessary checks and
carrying out the mode change.

This patch introduces the LayoutManager used to isolate this logic.

Change-Id: I0e5b932617d2b88eda1533f25a5d55fc1c66c438
2022-01-11 09:49:01 -05:00
Ming Rui Zhang
da18924f90 misc: add KeyboardShortcutTable back
Change-Id: Iee0e9c955b426de4a7d757a3bc892287761265ca
2021-12-21 14:21:36 -05:00
Ming Rui Zhang
1b259f9a2b settingsview: ui fixes
1. JamiSwitch add tooltip (wip)
2. PushButton add preferredHeight/preferredWidth (bug?)
3. UsernameLineEdit use ResponsiveImage
4. SettingsView fix settings menu
5. Move LogsView to window
6. ToggleSwitch use JamiSwitch

Change-Id: I07a455639e88550a7f0e40963550f8f842827370
2021-12-21 14:21:36 -05:00
Ming Rui Zhang
5b267c9a46 dialog: use popup dialogs to replace the existing Qt.labs.platform ones
Dialog in Qt.labs.platform which is used to be native in Qt 5.15
cannnot be accessed in Qt 6.2 for now, use popup dialogs instead

1. Add tittle
2. DropShadow revisit
3. Dim properly

Change-Id: I8804ae0c30e3450c9a800d9a1c3946ff0bf44b46
2021-12-21 14:21:36 -05:00
Ming Rui Zhang
3c7d03220f accountMigration: use the existing loader mechanism to avoid crash
1. Avoid direct window declaration under ApplicationWindow
2. UI refactor

Change-Id: I7991e22d3f85b1c17d85475000ab8b8c2fbc3391
2021-12-21 14:21:36 -05:00
Ming Rui Zhang
be41f0e7a6 misc: Qt 6.2.0 initial migration
Remove unsupported QtQuick One component and it will be
added back in the following patches

Change-Id: Iad206a880096cf956a4220a81dca85a993721fbd
2021-12-21 14:21:36 -05:00
Sébastien Blin
f69df3416c messages: add read receipt support
Change-Id: Ide4b1336a13972a9291cb1e9e2bf881b32b97198
GitLab: #468
2021-11-04 13:35:55 -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
Ming Rui Zhang
3185df0837
messageListView: add typing indicator
Gitlab: #552

Change-Id: I0a4dc3b61a22aafb40d8a301033c59d2cc02bc79
2021-10-21 10:34:50 -04:00
Ming Rui Zhang
fa313b002c messageListView: add ScrollToBottomButton
Gitlab: #551

Change-Id: Iea2d90248a8c16cf96d9e97f72bdf98e0f6f13a0
2021-10-07 14:29:41 -04:00
Ming Rui Zhang
44fdbb8378 messages: divide up MessageDelegate and use DelegateChooser
1. GeneratedMessageDelegate, TextMessageDelegate and
   DataTransferMessageDelegate
2. DelegateChooser in MessageListView

Change-Id: I5a3718f59e74b3499afc4abfa2826bab6cf442c8
2021-10-06 15:57:56 -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
Sébastien Blin
fe9745ce23 messagewebviewheader: clean code
+ Change name to ChatviewHeader as no webview
+ Avoid anchors hell and use a RowLayout

Change-Id: Iff4bbeabc70cfa496a7a208ee5da0c9ea1b6ff08
2021-10-06 15:51:59 -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
Andreas Traczyk
53c1c4b83b misc: remove VideoCallPageContextMenuDeviceItem(unused)
Change-Id: I42d84f9e80e87f5e17ed5e1c40811009660fdf8b
2021-08-23 18:46:17 -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
7531305be2 account: add support for sendReadReceipt
Change-Id: Iba44d7b7618c61db01d37477aee0a73ead094ca8
GitLab: https://git.jami.net/savoirfairelinux/ring-daemon/-/issues/599
2021-08-09 09:30:27 -04:00
Ming Rui Zhang
576da3e087 wizardview: add key navigations
Gitlab: #470

Change-Id: I2ec5c4a4b490895ea32fef64baf1e7c5b85cf9d5
2021-08-05 12:48:04 -04:00
Ming Rui Zhang
234ee7a2e9 wizardview: refactor account creation ui and enhance flow
1. Use MaterialToolTip in MaterialButton
2. Add BubbleLabel and BackButton
3. Add WizardViewStepModel
4. Focus re-visit

Gitlab: #470

Change-Id: I818da76c4b97cb08d2b6df6b2c8e2752d7a522f2
2021-07-29 10:48:39 -04:00
Andreas Traczyk
1a61af02f3 resources: remove unused images and icons
gen-resources.py should be used to generate resources.qrc and
JamiResources.qml. Steps to add an image resource:
- add the resource file to the appropriate path under resources/
- run gen-resources.py
- use the newly available resource

Note: only icons and images will be represented by Qml properties.

The resource file generation may be made to run during CMake
configuration in a subsequent commit.

Some unused components were also removed during the refactor.

Gitlab: #477
Change-Id: I8e7f13d465031666be2bbadd5f29f9afc94d210d
2021-07-20 21:57:27 -04:00
Sébastien Blin
417a0fe042 generalsettings: add file transfer settings
+ Auto accept files from trusted sources (default: true)
+ Auto accept files from untrusted sources (default: false)
+ Size limit (default: 20Mb)

Change-Id: I0e1068e3996786b23ba9a7797d02b7f8bb0f89d1
GitLab: #160
2021-07-14 10:20:07 -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
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
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
Ming Rui Zhang
14620f8bc8 messagewebview: chatview message bar qml replacement - ui
1. New emoji picker by customizing emoji.js
2. New message bar ui (textarea, buttons, tooltips)
3. New pending files transfer container
4. Use MaterialToolTip for all PushButton

Change-Id: I05d0531c65c019ced42b04668a780919c8a4fac3
2021-07-09 10:06:42 -04:00
Andreas Traczyk
767f1003a2 participant-controls: refactor menu layouts
Gitlab: #441
Change-Id: I1d34c7e766d73026d4c6617592a85ce3a75cc4fa
2021-06-02 17:58:23 -04:00
Ming Rui Zhang
e1fbb3a7d4 misc: refinement for various context menus and share actions
Change-Id: I4e6fff2c74ce6ace1464fa6a4569e4b3fbfae68b
2021-06-01 14:11:44 -04:00
Trevor Tabah
3142776c32 settings: add troubleshooting dialog
Add a dialog to get logs from daemon.

Gitlab: #406
Change-Id: I25dd7084165660e0a03c4694d0225bbcf0f1a9d6
2021-05-28 14:46:03 -04:00
Ming Rui Zhang
77aae84786 call: add call status indicator when adding new participants into a conference
Gitlab: #410

Change-Id: Iff3b06b123363478794fd7e419db3d2d0ae10bb7
2021-05-27 17:21:55 -04:00