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

1251 commits

Author SHA1 Message Date
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
kkostiuk
3821b78b80 macOS: allow unsigned executable memory
With hardened runtime app crashes in sws_scale when converting pixel
formats. Unsigned executable memory entitlement fix the crash.

Change-Id: Ia6e8cd0b1ff9537343991f730d0ed63384d17c2d
2022-02-09 14:38:14 -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
Jenkins
403edf4cba i18n: automatic bump
Change-Id: I22e65a6c9c333f8545c905875962cdc4163fdd5d
2022-02-08 10:55:24 -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
54a2947309 build: make deploy optional on macOS
Sometimes deploy failed with qmlimportscanner error. For better
control macdeployqt will be called manually for release
builds.

Gitlab: #578
Change-Id: Ic3a781cb4680499bbb7e479e31764f3f35e29800
2022-02-03 13:25:54 -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
f319c95485 wix-installer: register jami protocol
Add some registry keys and values for the URL protocol via the WiX
installer.

Gitlab: #655
Change-Id: Ibc857cfea2db4ff5a20ca3e71e057990527a4054
2022-02-03 12:56:55 -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
Sébastien Blin
72d794d56b icons: use new fullscreen icons
Change-Id: Iac105da82fa010fbf19775bebee23b04480ba47f
GitLab: #546
2022-02-01 10:00:06 -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
Jenkins
4f6d70d617 i18n: automatic bump
Change-Id: I65d2a3f3216421e7da780465d5f36232fad1aaad
2022-01-31 16:42:51 -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
Andreas Traczyk
045b93c1e4 chatview: remove an unused and inexistant file reference
Change-Id: I00e3d5a29854ef52b6d5e7275ada40e99e496a1e
2022-01-25 13:37:23 -05:00
Andreas Traczyk
9aad97763c chatview: base previewengine on QWebEnginePage not QWebEngineView
Qt6 allows us to set the RHI backend, however QQuickWidget is only
supported when using OpenGL. QWebEngineView instantiation uses
QQuickWidget and isn't required as we wish to use the previewengine
in a headless mode. So it can just be based on QWebEnginePage.

Change-Id: If05ca5c89272704b54c29318803c8773984b087c
2022-01-25 13:13:45 -05:00
Jenkins
1a2189289a i18n: automatic bump
Change-Id: Icb9eb9dba00f57afb32f7f38c5c135427d783d1c
2022-01-24 16:42:56 -05:00
Sébastien Blin
0937f083e8 textmessagedelegate: add context menu support for selectedText
GitLab: #601
Change-Id: Ic1ed7d2b724a04281973e974a787a680fbd26387
2022-01-24 15:07:43 -05:00
Andreas Traczyk
28f922677b chatview: disable webengineview context menu for media msgs
Gitlab: #653
Change-Id: I79130e60c7f6632736b6d41773cde7a33eaa1107
2022-01-24 13:05:06 -05:00
Sébastien Blin
a2a263c6c1 settings: add settings to change the position of the chatview in calls
GitLab: #160
GitLab: #571
Change-Id: Ifc1a4183c614f4754df5b617067a433d1227dcdf
2022-01-21 16:55:57 -05:00
Andreas Traczyk
70a6972b7e mainwindow: save/restore window geometry
Save virtual desktop geometry and window visibility state settings
and set them for the application window when loading.

Gitlab: #604
Change-Id: I053716d9c7b5d23e1bd7f33a1c41aedefb6cf9c8
2022-01-21 14:23:25 -05:00
Sébastien Blin
0c1b1cd426 conversationsadapter: select first conversation
It's more useful than the welcome view

GitLab: #645
Change-Id: Icf79aaff5c2cd1d9faf8481ba20f68e7b095d8c1
2022-01-21 13:44:21 -05:00
Sébastien Blin
93da093ba6 callactionbar: add fullscreen button
Also fix a typo causing the icon in the context menu to not update

Change-Id: I8886b45afcc55a3c724494afa10fc125d218d14e
2022-01-21 13:34:49 -05:00
Sébastien Blin
f15233b31f draft: Implement new design for the draft indicator
GitLab: #427
Change-Id: I73818240946ab7c42eb238c50ca0f38061ff13d9
2022-01-21 13:32:17 -05:00
Sébastien Blin
29c758a141 qtwebengine: remove no-sandbox flag
In 64720224eb, a no-sandbox flag was
added because QtWebEngine can't load fonts on recent glibc. Source:
https://bugreports.qt.io/browse/QTBUG-92969
https://bugs.chromium.org/p/chromium/issues/detail?id=1164975

Now, we use Qt 6.2, so this flag should not be necessary.
So, we can finally close #442 without any dirty workaround.

GitLab: #442
Change-Id: I52835e40d37d2397a891415fd2b1dd8dd4048b8b
2022-01-21 13:31:39 -05:00
Maxim Cournoyer
16424e530a src/jami: Simplify launcher.
Remove legacy cruft and streamline logic.

Change-Id: Ia9d0ef9a621e01aac17facb3e94efb11cdb38b0d
2022-01-21 09:23:03 -05:00
Sébastien Blin
1daeb26300 UserProfile: clean code for showing username
The comment was incorrect (it check the fingerprint, not the alias)
and the condition was duplicated

Change-Id: I2b3a21de64797dc90abaaa452645d7b0e6183ac1
2022-01-19 16:51:07 -05:00
Amin Bandali
a2a6e761a6 misc: unset QT_STYLE_OVERRIDE
* src/main.cpp (main): unset QT_STYLE_OVERRIDE.  Some distros, like
Zorin OS, set QT_STYLE_OVERRIDE to force a particular Qt style.
This has been fine with Qt5 even when using our own Qt package
which may not have that style/theme available.  However, with Qt6,
attempting to override to a nonexistent style seems to result in the
main window simply not showing.  So here we unset this variable, also
because jami-qt currently has the Material style hard-coded anyway.
https://bugreports.qt.io/browse/QTBUG-99889

Change-Id: Ic261b46baf79cf36491578ff969b398b95363c94
2022-01-18 11:42:29 -05:00
Jenkins
55f682af91 i18n: automatic bump
Change-Id: Ifabe388e6aa8140ad4e7b0e4bb2fbcd1f0a1bfe4
2022-01-17 11:30:51 -05:00
Sébastien Blin
e754bdd5f9 LinkDeviceDialog: fix label
Change-Id: I0b847303199c295d98d3b2bc687452012486110a
2022-01-11 11:55:29 -05:00
Sébastien Blin
5866504b7c CallButtonDelegate: do not show tooltip on button
This prevents clicks
Also, add Accessible element

GitLab: #601
Change-Id: Ic08d35d6e27bbdf0ec3b3eccdb5a07b5f105a777
2022-01-11 11:55:10 -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
Sébastien Blin
0a7a6643aa mainapplication: fix fullscreen management
Remove all references to appWindow.isFullScreen and uses visibility
Store latest state to keep previous states when passing the call
in fullscreen or a media player. Fix also fullscreen's transition
on media messages

Change-Id: I1b141fc052aa607561275faf231504f48b3c49b8
2022-01-10 15:08:45 -05:00
Amin Bandali
db0fd56763 misc: update (and fix) copyright years to 2022
Change-Id: I8eb66c1c3cddb3bf73b6784a9876dd9dc9c12481
2022-01-06 11:24:13 -05:00
agsantos
fcd8a907e4 conf: fix participant menu focus
Superposing a MouseArea and a hover in a child
component may cause focus problems.
This replaces MouseArea for a HoverHandler
in the participant moderator menu.

Change-Id: Ic4eb763c79f04198d3a2a2f24636fb2a09dca172
GitLab: #601
2022-01-05 08:43:13 -05:00
Sébastien Blin
b3dcabb9ea utils: remove dead code
Change-Id: Ifa610f3a110c050e22b6a83c79c0a94644ee82e1
2022-01-04 09:55:38 -05:00
Sébastien Blin
cab0ccc792 mainapplication: fix --minimized option
remove useless isFullscreen (visibility already stores this and
it's not possible to go from fullscreen to minimized anyway).
Also --minimized was ignored

GitLab: #413
Change-Id: I610f17ce7ae5b2852aae5b40dc504174fa657c2d
2022-01-04 09:50:47 -05:00
Jenkins
6a7a8d0bc5 i18n: automatic bump
Change-Id: I36fb96db8e1404aa6963c6af3ae62c8945653e69
2022-01-03 16:42:52 -05:00
Sébastien Blin
519c750a95 logsview: fix logs color in dark mode
The textarea is still white in dark mode, so the text must be black

Change-Id: I6d475cfb920fcd9f3b51e6df01eba4d30a0bc675
2021-12-30 16:15:32 -05:00
Sébastien Blin
0adc815a38 profiles: do not cache avatars in LRC
This reduces memory usage.

Change-Id: Iddb54a844ffacfc96b7758b2a9317e68e04750c4
2021-12-30 15:50:43 -05:00
Jenkins
af0ae35680 i18n: automatic bump
Change-Id: I9772cae5d957298b23ed49bad9edee695c2ba373
2021-12-27 16:42:57 -05:00