1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2024-10-28 16:59:36 +01:00
Commit graph

55 commits

Author SHA1 Message Date
Sébastien Blin
b611685653 settingsmaterialtextedit: fix focus changes
Change-Id: I289b610e43317470d061e7ecd6338bfa805c5ce7
GitLab: #1171
2023-06-07 16:10:46 -04:00
Andreas Traczyk
d94c30833f chatview: fix emoji responses under Qt v 6.4.x and up
Qt.bindings are not supported for properties within when calling createObject anymore. Instead, we can pass component references, or generate bindings post-creation.

Note: in this case, the popup closes and observation is not really needed here.

Gitlab: #1169
Change-Id: I21c1d95f4ca725c86fcf276834830145587458cc
2023-06-02 14:57:54 -04:00
Andreas Traczyk
8db188c513 chat: preprocess text msgs w/md4c+tidy-html5
Introduces MessageParser to encapsulate text treatment for raw text messages.

The async parsing sequence is as follows:
- Markdown -> HTML (md4c)
- link coloration (tidy-html5)
- notify UI
- request link preview info from PreviewEngine for the first link
- Preview engine uses QtNetwork instead of QtWebengine
- Linkification is handled by MessageParser instead of linkify.js

QtWebengine is no longer required for message parsing.

Gitlab: #1033
Gitlab: #855
Change-Id: Ief9b91aa291caf284f08230acaf57976f80fa05b
2023-05-15 15:44:20 -04:00
Sébastien Blin
73419e417a recordbox: fix focus policy on record box
The focus policy was broken and this patch fix also the tests
due to an incorrect conversationModel.

Change-Id: I9e7f76b0dff80548d3b92296f22bdd7b848ee931
2023-05-15 11:16:10 -04:00
Franck LAURENT
836b64a180 Focus: override activeFocus item
- add an outline on the item that have the active focus
- override only after a tab key press

GitLab: #1082

Change-Id: Ib549052e0fa2fe6d781df6980ce662919925c473
2023-04-26 09:58:49 -04:00
Andreas Traczyk
b8b5e2f502 tests: fix some possible crashes
Prevents some uncaught exceptions that could occur depending on test implementation.

Gitlab: #899
Change-Id: I5b06c270c924071f331e20f3b894a4bb80228137
2023-04-11 16:20:24 -04:00
Franck LAURENT
334f794490 MaterialTextField: fix rendering
+ set the maximum number of characters in the input
+ elide the text when it's too long
+ save on focus change in the settings view

GitLab: #1064
Change-Id: I973ff09cb3ce56cda98a0b40cedde88ac3829c1d
2023-04-11 14:07:08 -04:00
Andreas Traczyk
09dfc021db tests: make the webengine resources available for QML test fixtures
Gitlab: #899
Change-Id: I5defa1135f23da975fa0f60cb2762b67d7bc7e86
2023-04-06 16:55:56 -04:00
Andreas Traczyk
01489b9dfc tests: qml: fix some ViewCoordinator related warnings
Gitlab: #899
Change-Id: I5bc73e07f15e73ee2f84e8e5c02689c81e670272
2023-04-06 16:55:13 -04:00
Andreas Traczyk
270fe6c167 tests: add an option to force fail on warning for certain tests
Several subsequent patches will be required so this can be used for our tests.

Gitlab: #899
Change-Id: I3939770ed34fe40aafa2ab93e2bab3cd77a20955
2023-04-06 10:52:42 -04:00
Andreas Traczyk
5566c1a968 tests: qml: initialize the preview engine
This was causing invalid connections during test setup. Not having a null preview engine will prevent dereferencing a null pointer once messaging tests are implemented, however, the webengine will not work correctly due to missing resources which may be corrected in a subsequent patch.

This commit also moves .clang-format to the root repo dir so it will apply to the test source code (the test source code should be within the src dir).

Gitlab: #899
Change-Id: I8cac1fb937a0c60a91219b11ed1e0b5f323b1816
2023-04-05 13:54:41 -04:00
Andreas Traczyk
df5b955465 misc: fix test suite and tooling on Windows
- simplifies and fixes the python build script for Windows
- applies pep8 to the script also

Gitlab: #899
Change-Id: Ieb3debd08ddf1649a46208fc52362d20c504c1b1
2023-04-05 13:54:23 -04:00
Aline Gondim Santos
42a46fe165 settingsview: homogenize ModalTextEdit usage
GitLab: #986
GitLab: #1004

Change-Id: Iea441cba4c258a82b9a553c93c81e4d76f0baa1c
2023-02-28 09:30:06 -05:00
Amin Bandali
8d46acedf1 misc: Update copyright years to 2023
Change-Id: Idf38e82631a4e22540aa5dec8ec2db0ab4a38c2e
2023-02-06 01:47:15 -05:00
Andreas Traczyk
ada7c4f06f mainapplication: remove gnutls init/deinit
This is moved to libjami in commit e4fa507.
Also bump libjami to e4fa507.

Change-Id: I5414f0b4987aec6474c09d8ecc4d1675c565853d
2023-01-06 14:11:54 -05:00
Sébastien Blin
72e8cf42fa chatview: fix footer on banned contacts
isBlocked doesn't exist, it's isBanned.
Also link spfm and webengine to tests (in order to fix
tst_ChatViewFooter.qml)

Change-Id: Ic4ac0565ba5975213728b16e3e3d5718aa9851b6
2022-12-20 09:12:53 -05:00
Sébastien Blin
5487a9ab43
newswarmpage: clear fields on visibility changed
This avoid to get previous text when creating a second swarm

Change-Id: I86bb907cc30133432601cb59d9384758971fb331
2022-12-05 11:45:21 -05:00
Sébastien Blin
2136262b4a misc: fix build for tests
Change-Id: I393ba9f6a18061de9036953bf178a8898c9380f1
2022-12-02 12:44:17 -05:00
Sébastien Blin
da61006eb9 tests: add tests to CI and start to migrate old ones
Pretty all tests are broken, but at least, forcing the CI to build
it will force people to check it.

Change-Id: I974905a893b6a53ce71890b63a01be6a791ea556
2022-12-02 11:20:48 -05:00
Maxim Cournoyer
c58e3eb561 tests: unittests: Fix linking errors.
The linker would throw errors starting with GCC 10 (see:
https://gcc.gnu.org/gcc-10/porting_to.html).  Final fix for
<https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>.

* tests/unittests/account_unittest.cpp (globalEnv): Remove variable.
* tests/unittests/contact_unittest.cpp: Likewise.

Change-Id: I08cff055590c06afb9423759ff3e2c6c6c790e94
2022-11-11 23:17:03 -05:00
Maxim Cournoyer
6119597c4e tests: Fix broken QML import directives.
Fixes
<https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883>.

Automated via:
  $ find tests -name '*.qml'  | xargs sed -i 's,qrc:/src,../../../src,'

Change-Id: Ic1a2f419e3e328e8bf861e7fdf370f15da66675f
2022-11-11 11:50:06 -05:00
Maxim Cournoyer
dfb4d47ad6 tests: Link with libjamiclient.
Partially fixes
<https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>.

* tests/CMakeLists.txt: Link test objects with ${LIBCLIENT_NAME}.

Change-Id: I6808202f046902c5c05c089c0c2fe3d97492a754
2022-11-11 11:48:19 -05:00
Maxim Cournoyer
eabbf15681 tests: Fix Qt dependencies.
Partially fixes
<https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>.
This follows commit dae92490.

* tests/CMakeLists.txt: Rename QML_LIBS to QT_LIBS, a regression
introduced in d82e382070.  Remove the
dependency on on the Widgets module, now provided via QT_LIBS.
* tests/qml/main.cpp [WITH_WEBENGINE]: Include QtWebEngine modules
conditionally.
(main) [WITH_WEBENGINE]: Initialize webengine conditionally.

Change-Id: I0df4e11ca3571338fb1e8967784dc6f09ca1dfee
2022-11-08 13:51:05 -05:00
Maxim Cournoyer
dae9249098
tests: Add missing QtWidgets dependency.
Fixes <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>.

* tests/CMakeLists.txt: Add "Widgets" Qt module to find_package call.
(QML_TEST_LIBS): Add Qt::Widgets.

Change-Id: I695010776e6d2638fb65009c79f3263269e1020e
2022-11-06 00:16:34 -04:00
Sébastien Blin
bad7cff316 accountcombobox: show unread count
Change-Id: Ia6d7ba0ee9e32d5830b35b863b3981e2487df183
GitLab: #821
2022-09-30 15:43:35 -04:00
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
d9aee635a7 misc: drop 'new' prefix from model names
Change-Id: Idc960c96e4647dbb6f8c1d64f545fe25c80bbaa5
2022-07-12 10:43:59 -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
Amin Bandali
db0fd56763 misc: update (and fix) copyright years to 2022
Change-Id: I8eb66c1c3cddb3bf73b6784a9876dd9dc9c12481
2022-01-06 11:24:13 -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
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
Ming Rui Zhang
df7350f9d6 test: use googletest release-1.11.0 instead of master
Archive master.zip seems invalid

Change-Id: I0a5187ed54440b8d79498f03064a82e8429e5aff
2021-11-15 15:29:11 -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
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
32ac718ef4 qmlengine: bump version to 1.1 for custom modules
Change-Id: I6e912c7a3dbba63f874b063770ba5c68a3f2de2f
2021-08-23 14:40:18 -04:00
Andreas Traczyk
d6300c2fd3 tests: remove test_createAccountPageKeyNavigation
This test relies on jams server response. We should be providing
a fake lrc implemtation for testing to guarantee signal emission.

Change-Id: I6a15d729d87db15ab535bec0962e1166a6944b33
2021-08-23 14:22:27 -04:00
Ming Rui Zhang
37fd251413 wizardview: line edit enter key submits
Add enter key event handle for lineEdits in wizardview

Gitlab: #470

Change-Id: I41948196742068cd0a03ff37efe93982410e91ce
2021-08-16 09:20:19 -04:00
Ming Rui Zhang
6ceba6a792 profilepage: improvments on ui
1. Remove the "Select file" button during the camera picture-taking process
2. Add missing cancel (x) button during the first step of the camera picture-taking process
3. Disable all interactive components when the account creation is unfinished

Gitlab: #486
Change-Id: I91e279052aecdd9327f59e9a1377c344d9052323
2021-08-16 09:19:55 -04:00
Ming Rui Zhang
c2be09f55a test: add wizardview key navigation test
Gitlab: #470

Change-Id: I598cab490149739858958e89cc40cabb5820714a
2021-08-05 12:48:04 -04:00
Ming Rui Zhang
b6a566d13f wizardview: hide back button while waiting for account generations
Gitlab: #470

Change-Id: I79d1b5c77ae9e983e1c264532727616afb23f3ab
2021-08-05 12:48:04 -04:00
Ming Rui Zhang
4f56712c67 wizardviewstepmodel: remove profile page flow from imported accounts
Gitlab: #470

Change-Id: I9dd65e83885e89b447d6354c984d3d707e9f7061
2021-08-05 12:48:04 -04:00
Ming Rui Zhang
bbdecfaa9b wizardview: add tests & small issue fixes
1. Move accountStatusChanged and profileUpdated signals
   out from safeInit.
2. Add interrupter concept into Utils::oneShotConnect
   to avoid oneShotConnect being triggered after.
3. Add varieties of tests for wizardview including
   accounts creation tests (SIP, Jami, Rendezvous, Backup)
4. Remove uncleared stackLayoutIndex

Gitlab: #470

Change-Id: I22c04811110b277eee53610f4ae34c924316a20a
2021-08-05 12:48:04 -04:00
Ming Rui Zhang
e2dbc33ac0 test: enhance the google unit tests of the client
1. Move JAMI_DATA_HOME, JAMI_CONFIG_HOME, JAMI_CACHE_HOME
   setup into individual test main entry
2. Use google test assertion macros instead of Qt
3. Add QT_QPA_FONTDIR to avoid QFont warnings
4. Tests will now fail if the env variables cannot be set

Change-Id: I63f6498d26b646d8ebc60799d8797fd5f13b54f9
2021-07-29 14:17:45 -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
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
e564ec39b1 test: building structure refinement
1. Add building tests only option in the build script
2. Google test intergration enhancement
3. Properly use QSignalSpy wait function

Change-Id: I5ec1b33e191cebd8a14c19d92ee4eb4d40f054c3
2021-06-30 10:12:13 -04:00
Ming Rui Zhang
9200818a50 script: use consistent name for mute jami dring option
Change-Id: I7e3db31838884bc585d981ced91b4294cd5a8c14
2021-06-30 10:08:46 -04:00
Maxim Cournoyer
a7e7105cda Rename dring to jamid, ring to jami.
Automated via the following command:

  $ git grep -l dring | grep -v '.ts$' | xargs sed -i
  's/dring/jamid/g'
  $ git ls-files | xargs sed -i 's,bin/jamid.lib,bin/jami.lib,g'
  $ git ls-files | xargs sed -i 's,src/jamid,src/jami,g'
  $ git ls-files | xargs sed -i 's,-mutejamid,-mutejami,g'
  $ git checkout docker

Change-Id: I030209b60817372f866055daadb4d0a1c1e2e9df
2021-06-29 16:12:18 -04:00
Ming Rui Zhang
872fbeb5d3 unittest: add SIP account creation and contact adding tests
Add global test environment for google test

Change-Id: Id035ebf31498e11574b6bf4671b4c6e12d29ddc7
2021-06-16 16:31:23 -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