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

53 commits

Author SHA1 Message Date
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
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
Andreas Traczyk
045b93c1e4 chatview: remove an unused and inexistant file reference
Change-Id: I00e3d5a29854ef52b6d5e7275ada40e99e496a1e
2022-01-25 13:37:23 -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
Amin Bandali
db0fd56763 misc: update (and fix) copyright years to 2022
Change-Id: I8eb66c1c3cddb3bf73b6784a9876dd9dc9c12481
2022-01-06 11:24:13 -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
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
Sébastien Blin
83f6857332 mainapplication: fix destruction ordering
Every models (like UtilsAdapter for example) owns a pointer of
LRCInstance. So, when the MainApplication is destroyed, the QmlEngine
and all structures owning a pointer of LRCInstance MUST be destroyed
before LRCInstance to avoid any segfault

GitLab: #631
Change-Id: Id30aaca325fe7172188bba468acd73525e62a34a
2021-12-23 15:18:09 -05:00
Sébastien Blin
784e08a169 mainapplication: do not show log from daemon by default
logs from the daemon should not be shown by default, but only in
debug mode, so makes --quiet usable, but only with --debug

Change-Id: Ia7da32e31e034650d184dfae06c9157e13102906
2021-12-22 14:06:14 -05:00
Andreas Traczyk
d82e382070 build: simplify CMake and python helper script
+ Check early for Qt6 and remove module list duplication.
+ Add qrencode-win32 as a submodule. Remove unused libqrencode
  submodule(GNU/Linux and macOS use package dependencies).
+ Remove unused ReleaseCompile option.

REQUIRES adjustments to:
- https://jenkins.jami.net/view/clients/job/client-qt-msvc-tests
(JenkinsFile ??)

Gitlab: #601
Change-Id: Ied65c9aaead86009d70f68705f8592950dab2dfa
2021-12-22 13:45:07 -05:00
kkostiuk
5e84c99ff1 build: add macOS
- adapt build for macOS
- fix video on macOS

Change-Id: Ie325f3cd2955248c26ca858d37fcdc0d88c2e70d
2021-12-22 12:55:51 -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
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
0521bd21f7 qmlengine: homogenize qml module registration
Make sure all the calls to register are using the same versions
from qmlregister.h.

Change-Id: I1b6d2b168778fa91d16342765c93ad732de596e0
2021-08-23 14:28:23 -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
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
Sébastien Blin
d0b5667449 systray: change systray icon when we have notifications
Also use jami.svg for regular systray icon.

Change-Id: I6325c756d10216a017eb89042ab2f6ca0e988703
2021-07-14 17:13:45 -04:00
Andreas Traczyk
26c922da4d wizard: fix profile page avatar previews
Replaces live updates to the avatar preview when editing the alias
field on the profile page during account creation.

Gitlab: #466
Change-Id: I93dd4611949ab0e76f9cea78f9d7aaa1949daa13
2021-07-14 16:50:49 -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
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
e165855e95 misc: use single process mode for qt webEngine
1. Add --single-process
2. Rename the httpUserAgent to jami-qt

Change-Id: I6de29ee89176b453f12ce225acf926dd1b819c18
2021-07-06 14:43:14 -04:00
Andreas Traczyk
41138a9682 debug: add command-line option to mute daemon logging
Note: other parts of the client, lrc, daemon, and scripts, use
muteDring still and should be changed to something more generic.

Change-Id: If9253d6bd8d53f379bc9d5209b49b0c3af92edc2
2021-06-22 10:55:54 -04:00
Andreas Traczyk
6ddbce1506 debug: fix empty file logs
Change-Id: I10099c3db5f48fb147f05e434b3131cdb4acf8f5
2021-06-22 10:55:54 -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
Amin Bandali
7bb0e06dbc mainapplication: add "Show Jami" tray icon context menu item
On some desktop environments on GNU/Linux, left-clicking on the tray
icon does not execute the restore action.  In some environments, such
as Ubuntu and some other GNOME-based environments, double-clicking the
icon does that, but that's counter-intuitive and not obvious at all to
the user.  So, we add a 'Show Jami' menu item for the system tray
context menu, similar to how jami-gnome did, so the user can clearly
see it as a possible action.

Change-Id: I1e12ba02190c12cf40d293d61e1f023380fbfcf9
2021-06-03 13:08:02 -04:00
Amin Bandali
c8099b73da mainapplication: on tray icon click close window if open and focused
Only do so on non-Windows platforms, though; apparently this is not a
common pattern for desktop applications on Windows.

Change-Id: Ie1f8f4dd087d4e2798be4d102eb1d421fa9490f7
2021-06-01 14:11:44 -04:00
Amin Bandali
e86538fac1 mainview: add standard quit shortcut
Also rename 'Exit' to 'Quit' in the tray icon context menu for
non-Windows platforms for more standard/consistent terminology.

Change-Id: Id39bd308f17e56466ffb6b9c4929789646334b5e
2021-05-28 16:13:55 -04:00
Ming Rui Zhang
76eb198b9c mainapplication: use QScopedPointer and control the order of destruction
Change-Id: I48b9019acdb505cdde3da183a1022dea8eacebc0
2021-05-14 15:04:12 -04:00
Andreas Traczyk
ac87d33d9f misc: put lrcinstance implementation into cpp file
Change-Id: I46c4e17124b2c0cbf6e92c696d3d47e1b0ad2d0d
2021-04-09 16:00:33 -04:00
Sébastien Blin
6c9b969351 project: misc fixups
Change-Id: I97f256873bbffd79eb08707f0a809172bca06e6b
2021-04-02 15:37:55 -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
Ming Rui Zhang
7951764b2e misc: remove LRC singleton
GitLab: #337

Change-Id: Ifb671d38d364714818650a8154c43a5787460039
2021-03-22 15:47:14 -05:00
Ming Rui Zhang
637b7d6480 misc: better dpi scaling performance
Gitlab: #302

On X11 based,
https://bugreports.qt.io/browse/QTBUG-84082

Change-Id: Id775a6a31fc9f6f9493556fca458555c5962727e
2021-03-02 14:31:39 -05:00
ababi
4d6f5b3410 translations: revise access to translations for GNU/Linux
- correct translations (.qm) install path for cmake
- use JAMI_INSTALL_PREFIX to fetch translations
- create "share/ring/translations" inside build dir to store .qm files

Change-Id: I127cbad1d4b00a628d79e9654ed471f456a550e8
2021-02-19 17:28:48 -05:00
ababi
4a06565e57 misc: initialize LRCInstance before rising connection error
- in order to start the daemon, LRCInstance has to be initializated before rising the error and displaying the popup.

Gitlab: #245

Change-Id: I4a6cd4f38f5c93f65bc157e7d2ffff7f16e6aff8
2021-01-27 12:58:55 -05:00
Ming Rui Zhang
dc634feded misc: use compiled rcc file to collect lrc web resources
Instead of using absolute path, use a rcc file compiled
from lrc web resources qrc

Gitlab: #233

Change-Id: Ife3c3b81654984247aed0664031ad45ffb8413db
2020-12-30 15:10:20 -05:00
Mingrui Zhang
d3ebc43657 dbus: handle dbus error with UI interaction
Gitlab: #160
Change-Id: Ica0aab9ba7f043c4ab56314bbd5312f75239ad51
2020-12-14 17:18:46 -05:00
ababi
a4787e2a45 nm: add libnm support for connectivity change detection (linux)
Change-Id: I014999c80cfbc725ff36e517696a3ffb237a6213
2020-12-14 17:17:55 -05:00
Ming Rui Zhang
768ea9d601 refactor: use ApplicationWindow as the main entry point
Change-Id: I5e298e51fdc4099f0380d8a2ce2176cd66070eed
2020-12-11 17:07:10 -05: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
Andreas Traczyk
5872d40008 chatview: allow remote-debugging-port option to be set
- also re-enables the disable-web-security flag

Change-Id: Iabbae6bd78e30be91b42ea08541cb3ab3aea4045
2020-09-29 13:25:51 -04:00
Andreas Traczyk
3b6bbe772a misc: implement update system
- re-introduce a genericized NetworkManager
- isolate update logic into a qml accessible class derived from
  NetworkManager
- fix QtWebEngineProcess missing when re-installing over existing
  version
- provide a command line option to override the base url
  for testing local and remote updates
- clean-up manual update-check UI

Gitlab: #101
Change-Id: I9c8d2badae59ec31cab12d38b8470edf2bcad401
2020-09-24 12:48:29 -04:00
Ming Rui Zhang
3409d00193 dialog: remove MessageDialog to jami customized style
Change-Id: I67230d9395a1f25214692a24f099d4306b6b1dc9
2020-09-17 17:33:33 -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
Ming Rui Zhang
948f122738 connectivitymonitor: re-add connectivity monitor
Change-Id: I8779770475b7c58dce693dafcf2e74839635a2a0
2020-09-11 15:19:19 -04:00
Andreas Traczyk
eacf5bb458 misc: apply clang-formatting
Change-Id: I9d2ec496aa8d6cc0a41f9096ad153308c3308e8b
2020-09-10 18:00:08 -04:00
Andreas Traczyk
84dec083e2
mainview: support close to systray
- Introduces a C++/Qml common mechanic for accessing system settings
- Refactors a good chunk of application wide settings management code
- Refactors the onboarding and quit-suppression logic
- Makes a first stab at cleaning the Qml object registration
- Removes some 'ClientWrapper' use
- Fixes some file name spelling errors and inconsistencies

Gitlab: #51
Gitlab: #53
Change-Id: I3dd1085aca72a38827ec004e347bd91106be2bcb
2020-09-03 12:23:14 -04:00
Andreas Traczyk
ac50377649 mainview: implement systray icon and runguard
- adds a systray icon with and exit option when the app starts
- removes the systray icon when the app exits
- restores the app when a second instance is run

Change-Id: I81e4552bdf0ce76a520cbae90e519efff0b13495
2020-08-31 19:18:27 -04:00
agsantos
dc25dfa904 callView: add mediahandler preferences
Change-Id: Ib569048646b9e62ceac3f435d641cb4daf5a57d5
2020-08-31 17:58:04 -04:00