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
Applies some suggestions based on reviews by vstoiakin regarding concurrent resource access and overall structural simplification.
- Create and handoff ownership of QVideoFrames each frame
- use QReadWriteLocks when multiple reads are possible instead of QMutex
- remove the superfluous layer of unique_ptrs on QVideoFrames which are explicitly shared using QExplicitlySharedDataPointer for their underlying data.
This patch is required to prevent crashes when using Qt 6.4 and up.
Gitlab: #938
Change-Id: Ia9a9f0310344bcee47dbd88ec622bc3daa2ce6d7
Python2 is removed from Debian stable/unstable and
latest Ubuntu. So, we need to use a newest version of
Qt (here Qt 6.4.3).
Change-Id: I6c8b1eee644aab787d54e467f64011762ffd7548
- moved view layout from appearance to callSettings
- changed layoutView from combobox to radio button
- removed rectangle on radiobutton for theme
- changed typo of appearance
- MaterialRadionButton, added icon, color variables, behavior on visibility
Change-Id: I3b088297799c9aeede6fd092d80fdf49cd89ced9
The focus policy was broken and this patch fix also the tests
due to an incorrect conversationModel.
Change-Id: I9e7f76b0dff80548d3b92296f22bdd7b848ee931
This patch introduces some mechanisms to fully support RTL languages:
1. RTL detection via UtilsAdapter::isRTL() checking the locale name
2. Using QML mirroring when needed based on UtilsAdapter.isRTL
3. Inverting panels in DualPaneView and JamiListView when needed
with SinglePane support
Moreover, lot of anchors are added to automatically manage layout
updates.
GitLab: #235
Change-Id: I40c245f2d7fae96d796c53505af5403f5e813e7f
Removes the fixed rate QTimer that was used to query shm frames, and waits on the producer in a thread loop.
Also factors FPS value tracking into the Renderer base class.
Gitlab: #938
Change-Id: Icf44c8399d70c4127c512802b6cf6c6dccdccfd6
if no video device is detected "Preview unavailable" is just useless
as there is no video device listed.
Change-Id: I071da1e211b16f807ed22f69186a567db054c373
GitLab: #1076
Ubuntu 23.04 is not yet functional due to python2 missing.
We're working on fixing Jami for Qt 6.4 (they changed the whole video
pipeline and introduced some breaking changes).
Fedora 38 is working fine.
GitLab: #1086
Change-Id: I51bbecdfbcf908e2bf57c4c002ef4216a34d746d
The commit was reverted in 2b7a421e due to breaking some of the
packaging builds. This has now been rectified.
Change-Id: I3ea67962cc65f243f106fe00316634d580f51a52
- add an outline on the item that have the active focus
- override only after a tab key press
GitLab: #1082
Change-Id: Ib549052e0fa2fe6d781df6980ce662919925c473
The usage (--help) says: "Build with debug support; run in GDB", but
GDB was only used when using the D-Bus daemon. Run a libwrap built
Jami with GDB as well.
* build.py (run_run): Disable SIGINT when using GDB, and invoke the
Jami client with GDB. Disable output redirection to logs when using GDB.
Change-Id: Icf3415a3d1fbb87f193d0ede07cb1e1fbb179ce2
This partially reverts commit 6e0a30024bd5d0f24f8c16960a56b02737bf0131
from the former jami-project repository ("build: Improvements to the
generation of the release tarballs."), which caused the source tarball
to always be rebuilt, even in the absence of changes.
This gets in the way when testing the various packaging targets, so
revert it.
* extras/packaging/gnu-linux/Makefile (release-tarball): Do not always
clear the tarballs.manifest file. The purge-release-tarballs target
can be used for that.
Change-Id: I30ebda8dc258d0c95c6cf7e02a814627ac5b812b
This is a big time saver in the context of CI testing where we only need to supply some env vars instead.
It would also be nice to also have the env vars filled out for CMake-generated project runtime configs to prevent unnecessary deployment for development builds, but that's not done in this commit.
Change-Id: I338827cb87c9fc71c9a6b4b3076b22aa7cf7cfa3