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

1132 commits

Author SHA1 Message Date
Sébastien Blin
48f1bd0dbe
conversationlistmodelbase: add presences for swarm
If one contact is present in a conversation, the smartlist should
show a green dot.

GitLab: #670
Change-Id: I1608279e7f91d37c30343cc1d78824f6aa7bda8f
2022-03-23 13:54:49 -04:00
Sébastien Blin
a5cfffef6d swarm creation: add ability to change avatar
PhotoBoothView has a new variable to be used during Swarm's creation
This update an image in the cache and is used in the profile of the
conversation.
Also, add top bar for NewSwarmPage

Change-Id: I156c9cffb85e15b7c041bcf16b1501851470e8a5
GitLab: #670
2022-03-23 13:54:31 -04:00
Sébastien Blin
4a581d0a1a swarm: pass members to swarm's creation
This is the first version of the members list for swarm creation.
The user is able to select 1:1 conversation, search new users and
merge swarm members in a new swarm.

Change-Id: Ic9ac1e9324a46f70ad5d285df890a01ca459f3fa
GitLab: #670
2022-03-23 13:54:23 -04:00
Sébastien Blin
4788e963a6
swarm: add context menu for members
In the members list, a right click allow the user to access some
actions such as:

+ Perform a video or audio call with a member
+ Open a 1:1 conversation with this member
+ Block this contact
+ If allowed, kick a member from the conversation

In the future, other actions can be added, such as promote a user
to administrator.

GitLab: #340
Change-Id: I3824ad4efa8faf89479e99c93b98d3dd9781582d
2022-03-23 13:54:13 -04:00
Sébastien Blin
5bfe0851cd
swarm: show role in details page
GitLab: #340
Change-Id: I641bca14d459ce359fca612044e1d98b15f03db2
2022-03-23 13:52:04 -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
f45fda3607
messagelistview: show initial message
GitLab: #340
Change-Id: I209fc67c1bf64cd91b8b6fb9bc1d5bd651b10eb3
2022-03-23 13:45:18 -04:00
Sébastien Blin
9b275c4c83
smartlist's context menu: show Contact details only on contacts
GitLab: #340
Change-Id: I4a0ce6c51351daa7eb81bd09785535bfcfc84981
2022-03-23 13:45:05 -04:00
Sébastien Blin
bbd3e7435a
newswarmpage: take title and description for new swarm
GitLab: #340
Change-Id: Ib5d3d44c620120b050fca57c774edfe2b3de7c93
2022-03-23 13:44:51 -04:00
Sébastien Blin
1d074f25fd
swarm details page: improve
GitLab: #340
Change-Id: I03becae1c33be5a6ab10452c6986d7b5abd009e3
2022-03-23 12:47:04 -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
Sébastien Blin
7b1fd8a3fe chatviewheader: prepare interface for small groups
GitLab: #340
Change-Id: Ic3fe3c6d317f2af485b79414242e7be86d5f820d
2022-03-23 12:35:23 -04:00
Sébastien Blin
866da95252
phase2: add button to start generic swarm
GitLab: #340
Change-Id: I72534e9e3599b70cdf0f91aa81be7636499715b8
2022-03-23 12:35:11 -04:00
Andreas Traczyk
bef42fb1ce mainapp: remove log to vs console
This should be added directly to the logger in jamid.

Change-Id: I5cc2d1b8e2767325d8228964bcc27c266d12ad43
2022-03-17 14:23:42 -04:00
Andreas Traczyk
8a486a6484 mainapp: rework logging on Windows
+ Removes the console log management code which is present in jamid
  using https://review.jami.net/c/jami-daemon/+/21251.
+ Adds back file logging which has been partially broken since
  the log monitoring feature was added.

Change-Id: I07681b1c8d48702678596fbc302c21f87284b6e4
2022-03-17 14:23:42 -04:00
agsantos
5e3d6c9090 windows/popups: set max size
Set a maximum size for Jami secondary windows/popups.

Change-Id: Ie03c48c58e6f08662fe4a51bacbd2c02a500012c
GitLab: #691
2022-03-17 11:49:58 -04:00
agsantos
bc5af75cb3 plugins: fix empty plugins list
Change-Id: I8e0b75a09198b644b714aa6fb5a9e48d9a2a75f0
2022-03-17 09:54:13 -04:00
agsantos
f74397d19a selectscreen: change modality
THis will force the selection screen to be on front of the main Jami window.

GitLab: #696
Change-Id: I79746ebcac0bfc38a0c2989d00e3be0e33d5dd92
2022-03-17 09:53:10 -04:00
Andreas Traczyk
733a2d000c app: use the default scenegraph render backend(OpenGL) on Windows
We've had reports of missing vulkan dependencies on fresh Windows
10 installs. Until this has been investigated, we should keep the
default rendering backend at the cost of some flicker.

Change-Id: Idaab06ff80d7841231270a207cceb134f8d790b0
2022-03-15 13:48:44 -04:00
agsantos
9f2b0f071c window: do not open app in fullscreen
Change-Id: Ifb54aba4eab0bbcaa53be0fd687b1c1c9e47a022
2022-03-10 18:52:38 -05:00
Sébastien Blin
d4d73da80c utils: improve conversationAvatar for swarm
Change-Id: I59383870785900a8413bc15377d6de427f48384b
2022-03-10 16:05:06 -05:00
Sébastien Blin
7139eecce3 mainview: make sidepanel fully resizable
GitLab: #306
Change-Id: I13b58a5069968782e30005fe9418f99ac3c15c97
2022-03-10 16:05:06 -05:00
Sébastien Blin
4f56561fdd notifications: use title for missed call notifications
participants contains all the swarm members, including ourself.
To show notifications for conversations we should use the avatar
for this conversation and its title

Change-Id: I82f4c34f94c6313395361cfd337562f4e3c927c4
2022-03-09 10:29:36 -05: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
Aline Gondim Santos
d45fa046fe selectscreen: update titles and add cancel option
GitLab: #668
Change-Id: I72e84b8accd29d59a8785c3f464db3c40edaa4b4
2022-02-23 14:31:48 -05:00
Sébastien Blin
dfae73d0d6 misc: remove code duplication and use native theme on KDE
GitLab: #603
Change-Id: I271f6d4b9b8089dc88479f1d7d98514acb3d52be
2022-02-23 13:00:49 -05:00
Sébastien Blin
af1fd162ce misc: clean up some anchors warnings
Change-Id: Ibd815ade167a32f14fd81a5675d9aeccb8ad5460
2022-02-18 09:01:26 -05:00
Sébastien Blin
7cc1cddf6c
chatviewsettings: fix layout values
Horizontal view show components horizontally in a vertical layout.
So, the labels were inverted

Change-Id: Iaecfa923ef0a2eb1ec810ab0436dddd4f4ea73e5
GitLab: #571
2022-02-16 13:27:53 -05:00
Sébastien Blin
df7b351fa6
usernamelineedit: avoid incorrect usernames
Change-Id: If5bd32cfd81b407c6176ba78ed40e9e6e28051b9
GitLab: #683
2022-02-16 13:04:05 -05:00
kkostiuk
2d4ac408d7 UI: fix app opening from macOS dock
A single click on the app icon on macOS dock should
open the app.

Change-Id: Ied215ee9288d6d46fd8852a7daa996db7ac0468f
2022-02-11 16:15:21 -05:00
Sébastien Blin
122777518a settings: update strings for chatview's position
Change-Id: I052711fbb30e36217b65caea2c00f0956b41b0b9
GitLab: #571
2022-02-11 12:20:32 -05:00
kkostiuk
5b2d6139bf calls: set default recording path
If no recording path for calls is selected by the user,
set Movies as the default recording path.

Change-Id: I405dfc2bd6e1e85fae8900512615943760b3151c
2022-02-11 10:18:10 -05:00
kkostiuk
6298932c7f translations: fix on macOS
- fix translations path
- generate .lproj folders for supported languages to be recognized by
QLocale. https://bugreports.qt.io/browse/QTBUG-72491

Gitlab: #578
Change-Id: Ic4c3b74c654a1c00de71c31c9debe397990870f7
2022-02-09 14:58:16 -05:00
agsantos
1dbd909f40 selectscreen: open in same screen as app
This fixes the screen used by selectscreencreation to set the window position.

Change-Id: I805027ee84cd439e9801496025e0cae070153a32
GitLab: #656
2022-02-08 16:27:04 -05:00
Aline Gondim Santos
05d929cd8a call: add window share button
This adds a windows sharing button in addition to the sharing options.
This button is only available for linux systems and must be enabled
for others (MacOS, Windows) once their windows sharing are functional.

Change-Id: If378a23bc504fd3813382e84a41d914448707616
GitLab: #668
2022-02-08 16:22:38 -05:00
kkostiuk
626fe93bc6 updater: set check interval
Set check for update interval for 24 hours on macOS

Change-Id: Ie1b1801602611e5cbd8d20cedd2081b30eded921
2022-02-04 12:44:08 -05:00
kkostiuk
298493169c updater: add sparkle
- add sparkle submodule
- add an option to enable sparkle
- modify entitlements
- cleanup Info.plist

Gitlab: #578
Change-Id: I7f562112a72a33e008ab316479fbaa68dc0e07f1
2022-02-03 13:25:29 -05:00
kkostiuk
6b7c25054d instancemanager: disable on macOS
We do not need to verify if an app instance already running
on macOS, because it is done by default. Moreover, it causes a crash
on the macOS app with enabled hardened runtime.

Gitlab: #578
Change-Id: Ic8aa6a136d394372890ed4010f4a3c7ffa8e9233
2022-02-03 13:17:20 -05:00
Andreas Traczyk
3db33c4f89 mainapplication: add URI start option
+ Refactors some window management logic in LayoutManagar.qml.
+ Refactors app start to support both a minimized start and a start
  URI. The start URI should force visibility.
+ StartMinimized now starts the application in a closed-to-tray
  state, instead of a minimized state.
+ The close-to-tray feature now saves the previous windowed state.
+ InstanceManager handles URI transfer to secondary instances.

This commit does not implement URI handling. The original
implementation supported only calls via a user infohash as the URI
parameter. A new and flexible protocol should be defined to support
multiple Jami features.

Gitlab: #655
Change-Id: I2c47028930e4e9d7ccca94d9362545df14b98160
2022-02-03 13:12:16 -05:00
Andreas Traczyk
5613a81ada main: use IPC to terminate secondary client during re-install(win)
To coordinate the MSI installer with Jami's close-to-tray feature,
a custom action was used to kill QtWebEngineProcess and Jami, prior
to the file installation step. The close-to-tray feature makes it
so the only way to terminate the app is via the systray context
menu.

This patch harnesses the IPC mechanism used by the run-guard, and
adds a command-line option('--term') used to signal the secondary
process and provoke graceful termination.

The benefits are:
- the app can save data before closing
- system tray icons aren't left dangling after updates
- QtWebEngineProcess is guaranteed to be terminated during install

Gitlab: #654
Gitlab: #543
Change-Id: I79421eeab49c9ec0826010af99a364471bb81d1a
2022-02-03 12:51:55 -05:00
Andreas Traczyk
cab5a2223b mainapplication: fix retranslate connection timing
Connect after initializing the settings manager pointer and
remove a slot by relaying the retranslate signal.

https://git.jami.net/savoirfairelinux/jami-project/-/issues/1342
Change-Id: I446cfb15500929850a434280dada6785107f9e78
2022-02-01 17:31:17 -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
kkostiuk
52c2c6ae69 UI: adjust the font size for macOS
Gitlab: #578
Change-Id: Iac2d6878600f56fda0b671a5f6317b3dd56065aa
2022-02-01 09:59:48 -05:00
Sébastien Blin
68a5837a65 settings: add a settings to change the language of the app
Move installTranslator into the settings manager and add a settings
in the SystemSettings to be able to dynamically change the language
of jami-qt.

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

Change-Id: I4f720fa50d5e313356dbdf1b8acb4e98d74401e4
2022-02-01 09:22:24 -05:00
Sébastien Blin
5045667528 datatransferimage: improve memory usage
+ Reduce listview caching' size by 50%
+ use sourceSize to compress images and speedup loading
+ use autoTransform: true to rotate images when needed

Change-Id: Idf1babdc73f43aa6a79b89428c25c5d06856c0ef
GitLab: #649
2022-01-28 18:58:03 -05:00
Andreas Traczyk
0477376a0c mainapplication: only initialize members for primary instances
The running instance may be ephemeral and end up discarded after being
checked by InstanceManager. In this case, we shouldn't initialize large
components.

Gitlab: #654
Change-Id: I30c7dcdba6a56ab3a1a84a9efd3424e266b6f6ce
2022-01-28 18:58:03 -05:00
Sébastien Blin
b2de6b7252 JamiStrings: homogeneize fullscreen infos
Change-Id: I7b952fdb2cc0a35f089e75a24b11582c45b135f3
2022-01-28 18:58:03 -05: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