mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-10-30 07:53:33 +08:00
Compare commits
82 Commits
nightly/20
...
beta/20230
| Author | SHA1 | Date | |
|---|---|---|---|
| 8990162f99 | |||
| 1f0e2e92ad | |||
| 7743c14598 | |||
| c47cfe446d | |||
| 948e2cc837 | |||
| b611685653 | |||
| 26d16c38b8 | |||
| 5508f28c63 | |||
| c59ac1dd7f | |||
| 51cfef2fdc | |||
| 7611cb6147 | |||
| e04e3db69f | |||
| 6e7278c87a | |||
| 30e8bf56fb | |||
| d94c30833f | |||
| ed6e76aa0a | |||
| 1bf4d232b4 | |||
| 886074dc1e | |||
| 316750ad93 | |||
| f7bc95d47e | |||
| dc53aa887d | |||
| a179a9ae2d | |||
| 193b125c48 | |||
| 6d8adc9453 | |||
| e8b6914517 | |||
| da5d041227 | |||
| 5a48bccd25 | |||
| d4b3048e8e | |||
| 087135cccf | |||
| 8520ddaa83 | |||
| 7d856899c3 | |||
| 63687acc71 | |||
| 860f59893b | |||
| 39264e59c2 | |||
| 9ef9684556 | |||
| fa8fcd8786 | |||
| ac83334091 | |||
| a8586ecfd6 | |||
| ce58d238a9 | |||
| fc8a4d6e16 | |||
| 4769a78c50 | |||
| afb9211e7a | |||
| f1aa4173df | |||
| 91047b34c2 | |||
| 267f48ea8c | |||
| f9c61e4056 | |||
| bf0b3370ff | |||
| 05a09a8202 | |||
| bb5805fbc5 | |||
| 9370f5a4cf | |||
| d4aa66c482 | |||
| e932e19a42 | |||
| a46ad45ad7 | |||
| b507eecdf1 | |||
| 30d10c7da9 | |||
| 6ce57d6a90 | |||
| 1b51dcc8e6 | |||
| 1943cda28d | |||
| 9a5829803e | |||
| d17578ffa7 | |||
| 992fdb7d5e | |||
| fa406c70eb | |||
| 5e48794638 | |||
| ad205e994f | |||
| 0b11282d88 | |||
| 9a3634471e | |||
| 8db188c513 | |||
| 07527be378 | |||
| 9b876c198e | |||
| 4d2c55348b | |||
| 2c97fea14d | |||
| 73419e417a | |||
| 2ce880670d | |||
| 9207dfcd5b | |||
| a5de0d4196 | |||
| b6ef1d90e5 | |||
| 53374b7ded | |||
| 4d8b006c34 | |||
| 58a96d14b7 | |||
| e073c6f8a8 | |||
| 44d807e6ab | |||
| 02d25db786 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -30,6 +30,9 @@ install/
|
||||
*.log
|
||||
*.pid
|
||||
|
||||
# tests
|
||||
Testing/
|
||||
|
||||
# auto-gen files
|
||||
src/app/resources.qrc
|
||||
src/app/qml.qrc
|
||||
|
||||
8
.gitmodules
vendored
8
.gitmodules
vendored
@ -19,3 +19,11 @@
|
||||
path = extras/packaging/update/sparkle/Sparkle
|
||||
url = https://github.com/sparkle-project/Sparkle.git
|
||||
ignore = dirty
|
||||
[submodule "3rdparty/md4c"]
|
||||
path = 3rdparty/md4c
|
||||
url = https://github.com/mity/md4c.git
|
||||
ignore = dirty
|
||||
[submodule "3rdparty/tidy-html5"]
|
||||
path = 3rdparty/tidy-html5
|
||||
url = https://github.com/htacg/tidy-html5.git
|
||||
ignore = dirty
|
||||
|
||||
1
3rdparty/md4c
vendored
Submodule
1
3rdparty/md4c
vendored
Submodule
Submodule 3rdparty/md4c added at e9ff661ff8
1
3rdparty/tidy-html5
vendored
Submodule
1
3rdparty/tidy-html5
vendored
Submodule
Submodule 3rdparty/tidy-html5 added at d08ddc2860
@ -29,6 +29,18 @@ else()
|
||||
project(jami)
|
||||
endif()
|
||||
|
||||
option(WITH_DAEMON_SUBMODULE "Build with daemon submodule" OFF)
|
||||
option(ENABLE_TESTS "Build with tests" OFF)
|
||||
option(WITH_WEBENGINE "Build with WebEngine" ON)
|
||||
if(WITH_WEBENGINE)
|
||||
add_definitions(-DWITH_WEBENGINE)
|
||||
endif()
|
||||
|
||||
# init some variables for includes, libs, etc.
|
||||
set(CLIENT_INCLUDE_DIRS, "")
|
||||
set(CLIENT_LINK_DIRS, "")
|
||||
set(CLIENT_LIBS, "")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Og -ggdb")
|
||||
@ -41,12 +53,9 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
# Main project directories:
|
||||
|
||||
# jami-daemon
|
||||
if(NOT DEFINED WITH_DAEMON_SUBMODULE)
|
||||
set(WITH_DAEMON_SUBMODULE false)
|
||||
# daemon
|
||||
if(NOT WITH_DAEMON_SUBMODULE)
|
||||
set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/../daemon)
|
||||
else()
|
||||
# daemon
|
||||
set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/daemon)
|
||||
endif()
|
||||
# src
|
||||
@ -72,8 +81,8 @@ else()
|
||||
find_package(QT NAMES Qt6 REQUIRED)
|
||||
endif()
|
||||
if (${QT_VERSION_MAJOR} STRLESS 6)
|
||||
if (${QT_VERSION_MINOR} STRLESS 2)
|
||||
message(FATAL_ERROR "Qt 6.2 or higher is required.")
|
||||
if (${QT_VERSION_MINOR} STRLESS 4)
|
||||
message(FATAL_ERROR "Qt 6.4 or higher is required.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -93,7 +102,6 @@ add_subdirectory(${LIBCLIENT_SRC_DIR})
|
||||
set(QT_MODULES
|
||||
Quick
|
||||
Network
|
||||
NetworkAuth
|
||||
Svg
|
||||
Gui
|
||||
Qml
|
||||
@ -106,10 +114,6 @@ set(QT_MODULES
|
||||
Widgets
|
||||
Positioning)
|
||||
|
||||
if(NOT DEFINED WITH_WEBENGINE)
|
||||
set(WITH_WEBENGINE true)
|
||||
endif()
|
||||
|
||||
if(WITH_WEBENGINE)
|
||||
list(APPEND QT_MODULES
|
||||
WebEngineCore
|
||||
@ -145,7 +149,7 @@ set(CMAKE_MODULE_PATH
|
||||
${CMAKE_MODULE_PATH} "${EXTRAS_DIR}/build/cmake/modules")
|
||||
find_package(LibJami REQUIRED)
|
||||
if(LIBJAMI_FOUND)
|
||||
include_directories(${LIBJAMI_INCLUDE_DIR})
|
||||
include_directories(${LIBJAMI_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
include(FindPython3)
|
||||
@ -232,7 +236,9 @@ set(COMMON_SOURCES
|
||||
${APP_SRC_DIR}/callparticipantsmodel.cpp
|
||||
${APP_SRC_DIR}/tipsmodel.cpp
|
||||
${APP_SRC_DIR}/positioning.cpp
|
||||
${APP_SRC_DIR}/currentcall.cpp)
|
||||
${APP_SRC_DIR}/currentcall.cpp
|
||||
${APP_SRC_DIR}/messageparser.cpp
|
||||
${APP_SRC_DIR}/previewengine.cpp)
|
||||
|
||||
set(COMMON_HEADERS
|
||||
${APP_SRC_DIR}/avatarimageprovider.h
|
||||
@ -293,16 +299,9 @@ set(COMMON_HEADERS
|
||||
${APP_SRC_DIR}/callparticipantsmodel.h
|
||||
${APP_SRC_DIR}/tipsmodel.h
|
||||
${APP_SRC_DIR}/positioning.h
|
||||
${APP_SRC_DIR}/currentcall.h)
|
||||
|
||||
if(WITH_WEBENGINE)
|
||||
list(APPEND COMMON_SOURCES
|
||||
${APP_SRC_DIR}/previewengine.cpp)
|
||||
add_definitions(-DWITH_WEBENGINE)
|
||||
else()
|
||||
list(APPEND COMMON_SOURCES
|
||||
${APP_SRC_DIR}/nowebengine/previewengine.cpp)
|
||||
endif()
|
||||
${APP_SRC_DIR}/currentcall.h
|
||||
${APP_SRC_DIR}/messageparser.h
|
||||
${APP_SRC_DIR}/htmlparser.h)
|
||||
|
||||
# For libavutil/avframe.
|
||||
set(LIBJAMI_CONTRIB_DIR "${DAEMON_DIR}/contrib")
|
||||
@ -364,7 +363,7 @@ if(MSVC)
|
||||
|
||||
# daemon
|
||||
set(JAMID_SRC_PATH ${DAEMON_DIR}/contrib/msvc/include)
|
||||
set(JAMID_LIB ${DAEMON_DIR}/build/x64/ReleaseLib_win32/bin/jami.lib)
|
||||
set(JAMID_LIB ${DAEMON_DIR}/build/x64/ReleaseLib_win32/bin/libjami.lib)
|
||||
set(GNUTLS_LIB ${DAEMON_DIR}/contrib/msvc/lib/x64/libgnutls.lib)
|
||||
|
||||
# Beta config
|
||||
@ -494,10 +493,26 @@ if(ENABLE_LIBWRAP)
|
||||
${LIBCLIENT_SRC_DIR}/qtwrapper/instancemanager_wrap.h)
|
||||
endif()
|
||||
|
||||
# SFPM
|
||||
set(BUILD_SFPM_PIC ON CACHE BOOL "enable -fPIC for SFPM" FORCE)
|
||||
add_subdirectory(3rdparty/SortFilterProxyModel)
|
||||
set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
|
||||
|
||||
# md4c
|
||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
|
||||
add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
|
||||
list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
|
||||
list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src)
|
||||
list(APPEND CLIENT_LIBS md4c-html)
|
||||
|
||||
# tidy-html5
|
||||
set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE)
|
||||
set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE)
|
||||
add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL)
|
||||
list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release)
|
||||
list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include)
|
||||
list(APPEND CLIENT_LIBS tidy-static)
|
||||
|
||||
# common executable sources
|
||||
qt_add_executable(
|
||||
${PROJECT_NAME}
|
||||
@ -520,9 +535,7 @@ if(MSVC)
|
||||
PROPERTIES
|
||||
WIN32_EXECUTABLE TRUE)
|
||||
|
||||
target_link_libraries(
|
||||
${PROJECT_NAME}
|
||||
PRIVATE
|
||||
list(APPEND CLIENT_LIBS
|
||||
${JAMID_LIB}
|
||||
${GNUTLS_LIB}
|
||||
${LIBCLIENT_NAME}
|
||||
@ -559,9 +572,7 @@ if(MSVC)
|
||||
# executable name
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "Jami")
|
||||
elseif (NOT APPLE)
|
||||
target_link_libraries(
|
||||
${PROJECT_NAME}
|
||||
PRIVATE
|
||||
list(APPEND CLIENT_LIBS
|
||||
${QT_LIBS}
|
||||
${LIBCLIENT_NAME}
|
||||
${qrencode}
|
||||
@ -693,13 +704,14 @@ else()
|
||||
set(libs ${libs} ${SPARKLE_FRAMEWORK})
|
||||
endif(ENABLE_SPARKLE)
|
||||
target_sources(${PROJECT_NAME} PRIVATE ${resources})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${libs})
|
||||
FILE(GLOB CONTRIB ${LIBJAMI_CONTRIB_DIR}/apple-darwin/lib/*.a)
|
||||
list(APPEND CLIENT_LIBS ${libs})
|
||||
|
||||
file(GLOB CONTRIB ${LIBJAMI_CONTRIB_DIR}/apple-darwin/lib/*.a)
|
||||
list(APPEND CLIENT_LIBS ${CONTRIB})
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${CONTRIB})
|
||||
find_package(Iconv REQUIRED)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
list(APPEND CLIENT_LIBS Iconv::Iconv)
|
||||
list(APPEND CLIENT_LIBS
|
||||
"-framework AVFoundation"
|
||||
"-framework CoreAudio -framework CoreMedia -framework CoreVideo"
|
||||
"-framework VideoToolbox -framework AudioUnit"
|
||||
@ -761,6 +773,10 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${CLIENT_INCLUDE_DIRS})
|
||||
target_link_directories(${PROJECT_NAME} PRIVATE ${CLIENT_LINK_DIRS})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${CLIENT_LIBS})
|
||||
|
||||
qt_import_qml_plugins(${PROJECT_NAME})
|
||||
qt_finalize_executable(${PROJECT_NAME})
|
||||
|
||||
|
||||
53
INSTALL.md
53
INSTALL.md
@ -7,18 +7,43 @@ There are essentially two ways to build `client-qt`:
|
||||
|
||||
## Disclaimer
|
||||
|
||||
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.2 is necessary.
|
||||
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.4 is necessary.
|
||||
This version is generally not packaged on a lot of platforms, and to control available plugins and such, we have our own Qt packaged (available on https://jami.net on the distributions we support).
|
||||
So, you will need to get Qt 6.2 first. For this, there is 3 methods:
|
||||
So, you will need to get Qt 6.4 first. For this, there is 3 methods:
|
||||
|
||||
### Qt from https://jami.net (recommended)
|
||||
|
||||
If your distribution is supported, we provide a Qt package (`libqt-jami`) on our repo. Follow instructions https://jami.net/download-jami-linux/ (but instead installing `jami` install `libqt-jami`).
|
||||
If your distribution is supported, we provide a Qt package (libqt-jami) on our repo.
|
||||
The files will be installed in `/usr/lib/libqt-jami`.
|
||||
|
||||
#### Install libqt-jami, Debian based
|
||||
|
||||
```
|
||||
sudo apt install gnupg dirmngr ca-certificates curl --no-install-recommends
|
||||
curl -s https://dl.jami.net/public-key.gpg | sudo tee /usr/share/keyrings/jami-archive-keyring.gpg > /dev/null
|
||||
sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/jami-archive-keyring.gpg] https://dl.jami.net/nightly/debian_<VERSION>/ jami main' > /etc/apt/sources.list.d/jami.list"
|
||||
sudo apt-get update && sudo apt-get install libqt-jami
|
||||
```
|
||||
|
||||
#### Install libqt-jami, Ubuntu based
|
||||
|
||||
```
|
||||
sudo apt install gnupg dirmngr ca-certificates curl --no-install-recommends
|
||||
curl -s https://dl.jami.net/public-key.gpg | sudo tee /usr/share/keyrings/jami-archive-keyring.gpg > /dev/null
|
||||
sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/jami-archive-keyring.gpg] https://dl.jami.net/nightly/ubuntu_<VERSION>/ jami main' > /etc/apt/sources.list.d/jami.list"
|
||||
sudo apt-get update && sudo apt-get install libqt-jami
|
||||
```
|
||||
|
||||
#### Install jami-libqt, Fedora based
|
||||
|
||||
```
|
||||
sudo dnf config-manager --add-repo https://dl.jami.net/nightly/fedora_<VERSION>/jami-nightly.repo
|
||||
sudo dnf update && sudo dnf install jami-libqt
|
||||
```
|
||||
|
||||
### Qt from your distribution
|
||||
|
||||
If Qt 6.2 is available, you can use the packages from your distribution:
|
||||
If Qt 6.4 is available, you can use the packages from your distribution:
|
||||
|
||||
It should be (For now qt5 only is packaged by distributions, so names can change).
|
||||
|
||||
@ -63,7 +88,7 @@ for getting the latest development versions; otherwise, you can use
|
||||
submodule).
|
||||
|
||||
```bash
|
||||
./build.py --init [--qt=<path/to/qt> (this is required for qmlformatting to work)]
|
||||
./build.py --init --qt=<path/to/qt> # qt path is required for qmlformatting to work
|
||||
```
|
||||
|
||||
Then you will need to install dependencies:
|
||||
@ -82,9 +107,9 @@ Then, you can build daemon and the client using:
|
||||
|
||||
If you use a Qt version that is not system-wide installed, you need to
|
||||
specify its path using the `--qt` flag, e.g.
|
||||
`./build.py --install --qt=/home/<username>/Qt/6.2.1/gcc_64`.
|
||||
`./build.py --install --qt=/home/<username>/Qt/6.4.1/gcc_64`.
|
||||
|
||||
Now you will have the daemon in `daemon/bin/jamid` and the client in
|
||||
Now you will have the daemon in `daemon/bin/dbus/jamid` and the client in
|
||||
`build/jami`. You can now run Jami using:
|
||||
|
||||
```bash
|
||||
@ -98,7 +123,7 @@ Notes:
|
||||
|
||||
## Build only the client
|
||||
|
||||
In order to use the Qt Client it is necessary to have the Qt version 6.2 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
|
||||
In order to use the Qt Client it is necessary to have the Qt version 6.4 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
|
||||
|
||||
## Build only this repository
|
||||
|
||||
@ -148,7 +173,7 @@ Only 64-bit MSVC build can be compiled.
|
||||
|
||||
- Download [Qt (Open Source)](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5)
|
||||
|
||||
- Using the online installer, install the following Qt 6.2.3 components:
|
||||
- Using the online installer, install the following Qt 6.4.3 components:
|
||||
|
||||
- Git 2.10.2
|
||||
- MSVC 2019 64-bit
|
||||
@ -171,7 +196,7 @@ Only 64-bit MSVC build can be compiled.
|
||||
|
||||
| | Qt Version |
|
||||
| -------------------- | ---------- |
|
||||
| Minimum requirement: | 6.2.3 |
|
||||
| Minimum requirement: | 6.4.3 |
|
||||
|
||||
- Install [Python3](https://www.python.org/downloads/) for Windows
|
||||
|
||||
@ -197,7 +222,7 @@ Only 64-bit MSVC build can be compiled.
|
||||
- Using a new **Non-Elevated Command Prompt**
|
||||
|
||||
```bash
|
||||
python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.2.3/msvc2019_64)
|
||||
python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
|
||||
```
|
||||
|
||||
> **SDK** Note:
|
||||
@ -240,7 +265,7 @@ Once the build has finished, you should then be able to use the Visual Studio So
|
||||
|
||||
```
|
||||
python extras\scripts\build-windows.py --init
|
||||
python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.2.3/msvc2019_64)
|
||||
python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
|
||||
```
|
||||
|
||||
## Building On MacOS
|
||||
@ -250,9 +275,9 @@ Once the build has finished, you should then be able to use the Visual Studio So
|
||||
- macOS minimum version 10.15
|
||||
- install python3
|
||||
- download xcode
|
||||
- install Qt 6.2
|
||||
- install Qt 6.4
|
||||
|
||||
Qt 6.2 can be installed via brew
|
||||
Qt 6.4 can be installed via brew
|
||||
|
||||
```bash
|
||||
brew install qt
|
||||
|
||||
6
build.py
6
build.py
@ -92,7 +92,7 @@ ZYPPER_INSTALL_SCRIPT = [
|
||||
ZYPPER_DEPENDENCIES = [
|
||||
# build system
|
||||
'autoconf', 'autoconf-archive', 'automake', 'cmake', 'make', 'patch', 'gcc-c++',
|
||||
'libtool', 'which', 'pandoc', 'nasm', 'doxygen', 'graphviz',
|
||||
'libtool', 'which', 'pandoc', 'nasm', 'doxygen', 'graphviz', 'systemd-devel',
|
||||
# contrib dependencies
|
||||
'curl', 'gzip', 'bzip2',
|
||||
# daemon
|
||||
@ -152,7 +152,7 @@ APT_DEPENDENCIES = [
|
||||
'libspeex-dev', 'libspeexdsp-dev', 'libswscale-dev', 'libtool',
|
||||
'libudev-dev', 'libyaml-cpp-dev', 'sip-tester', 'swig',
|
||||
'uuid-dev', 'yasm', 'libjsoncpp-dev', 'libva-dev', 'libvdpau-dev', 'libmsgpack-dev',
|
||||
'pandoc', 'nasm', 'dpkg-dev'
|
||||
'pandoc', 'nasm', 'dpkg-dev', 'libsystemd-dev'
|
||||
]
|
||||
|
||||
APT_CLIENT_DEPENDENCIES = [
|
||||
@ -181,7 +181,7 @@ PACMAN_DEPENDENCIES = [
|
||||
'gcc', 'ffmpeg', 'boost', 'cppunit', 'libdbus', 'dbus-c++', 'libe-book', 'expat',
|
||||
'jack', 'opus', 'pcre', 'libpulse', 'speex', 'speexdsp', 'libtool', 'yaml-cpp',
|
||||
'swig', 'yasm', 'make', 'patch', 'pkg-config',
|
||||
'automake', 'libva', 'libvdpau', 'openssl', 'pandoc', 'nasm'
|
||||
'automake', 'libva', 'libvdpau', 'openssl', 'pandoc', 'nasm', 'systemd-libs'
|
||||
]
|
||||
|
||||
PACMAN_CLIENT_DEPENDENCIES = [
|
||||
|
||||
2
daemon
2
daemon
Submodule daemon updated: e3f0ae1c1b...65c8631975
@ -20,19 +20,30 @@
|
||||
|
||||
# Once done, this find module will set:
|
||||
#
|
||||
# LIBJAMI_INCLUDE_DIR - libjami include directory
|
||||
# LIBJAMI_INCLUDE_DIRS - libjami include directories
|
||||
# LIBJAMI_FOUND - whether it was able to find the include directories
|
||||
# LIBJAMI_LIB - path to libjami or libring library
|
||||
|
||||
set(LIBJAMI_FOUND true)
|
||||
|
||||
if(WITH_DAEMON_SUBMODULE)
|
||||
set(LIBJAMI_INCLUDE_DIR ${DAEMON_DIR}/src/jami)
|
||||
set(LIBJAMI_INCLUDE_DIRS ${DAEMON_DIR}/src/jami)
|
||||
else()
|
||||
find_path(LIBJAMI_INCLUDE_DIR jami.h PATH_SUFFIXES jami)
|
||||
if(NOT LIBJAMI_INCLUDE_DIR)
|
||||
if(EXISTS ${LIBJAMI_INCLUDE_DIR}/jami.h)
|
||||
set(LIBJAMI_INCLUDE_DIRS ${LIBJAMI_INCLUDE_DIR})
|
||||
elseif(EXISTS ${LIBJAMI_BUILD_DIR}/jami/jami.h)
|
||||
set(LIBJAMI_INCLUDE_DIRS ${LIBJAMI_BUILD_DIR}/jami)
|
||||
elseif(EXISTS ${RING_INCLUDE_DIR}/jami.h)
|
||||
set(LIBJAMI_INCLUDE_DIRS ${RING_INCLUDE_DIR})
|
||||
elseif(EXISTS ${RING_BUILD_DIR}/jami/jami.h)
|
||||
set(LIBJAMI_INCLUDE_DIRS ${RING_BUILD_DIR}/jami)
|
||||
elseif(EXISTS ${CMAKE_INSTALL_PREFIX}/include/jami/jami.h)
|
||||
set(LIBJAMI_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include/jami)
|
||||
elseif(EXISTS ${CMAKE_INSTALL_PREFIX}/daemon/include/jami/jami.h)
|
||||
set(LIBJAMI_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/daemon/include/jami)
|
||||
else()
|
||||
message(STATUS "Jami daemon headers not found!
|
||||
To build using the daemon git submodule, set -DWITH_DAEMON_SUBMODULE")
|
||||
Set -DLIBJAMI_BUILD_DIR or -DCMAKE_INSTALL_PREFIX")
|
||||
set(LIBJAMI_FOUND false)
|
||||
endif()
|
||||
endif()
|
||||
@ -42,6 +53,11 @@ set(CMAKE_FIND_LIBRARY_SUFFIXES_orig ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so;.dll")
|
||||
|
||||
# Add the lib prefix for Windows checks.
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES "lib;")
|
||||
endif()
|
||||
|
||||
if(WITH_DAEMON_SUBMODULE)
|
||||
find_library(LIBJAMI_LIB NAMES jami ring
|
||||
PATHS ${DAEMON_DIR}/src/.libs
|
||||
@ -104,5 +120,5 @@ endif()
|
||||
# Restore the original value of CMAKE_FIND_LIBRARY_SUFFIXES.
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_orig})
|
||||
|
||||
message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIR})
|
||||
message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIRS})
|
||||
message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB})
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apt-get install -y -o Acquire::Retries=10 \
|
||||
cmake \
|
||||
libtool \
|
||||
libdbus-1-dev \
|
||||
libdbus-c++-dev \
|
||||
libsystemd-dev \
|
||||
libargon2-0-dev \
|
||||
libcanberra-gtk3-dev \
|
||||
libclutter-gtk-1.0-dev \
|
||||
@ -66,4 +66,4 @@ RUN apt-get install -y -o Acquire::Retries=10 \
|
||||
libssl-dev
|
||||
RUN apt-get install -y pandoc \
|
||||
googletest \
|
||||
libgtest-dev
|
||||
libgtest-dev
|
||||
|
||||
6
extras/packaging/gnu-linux/Jenkinsfile
vendored
6
extras/packaging/gnu-linux/Jenkinsfile
vendored
@ -34,8 +34,8 @@
|
||||
// Configuration globals.
|
||||
def SUBMODULES = ['daemon',
|
||||
'3rdparty/SortFilterProxyModel',
|
||||
'3rdparty/qrencode-win32',
|
||||
'extras/packaging/update/sparkle/Sparkle']
|
||||
'3rdparty/md4c',
|
||||
'3rdparty/tidy-html5']
|
||||
def TARGETS = [:]
|
||||
def REMOTE_HOST = env.SSH_HOST_DL_RING_CX
|
||||
def REMOTE_BASE_DIR = '/srv/repository/ring'
|
||||
@ -215,7 +215,7 @@ make -f ${PACKAGING_DIR}/Makefile portable-release-tarball .tarball-version
|
||||
}
|
||||
stage('Sign & deploy packages') {
|
||||
agent {
|
||||
label 'ring-buildmachine-02.mtl.sfl'
|
||||
label 'jami-buildmachine-02.mtl.sfl'
|
||||
}
|
||||
|
||||
when {
|
||||
|
||||
@ -46,9 +46,9 @@ DEBIAN_DSC_FILENAME := jami_$(DEBIAN_VERSION).dsc
|
||||
|
||||
# Qt versions
|
||||
QT_MAJOR := 6
|
||||
QT_MINOR := 2
|
||||
QT_MINOR := 4
|
||||
QT_PATCH := 3
|
||||
QT_TARBALL_CHECKSUM := f784998a159334d1f47617fd51bd0619b9dbfe445184567d2cd7c820ccb12771
|
||||
QT_TARBALL_CHECKSUM := 29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4
|
||||
DEBIAN_QT_VERSION := $(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-2
|
||||
DEBIAN_QT_DSC_FILENAME := libqt-jami_$(DEBIAN_QT_VERSION).dsc
|
||||
QT_JAMI_PREFIX := /usr/lib/libqt-jami
|
||||
@ -127,7 +127,9 @@ $(RELEASE_TARBALL_FILENAME): tarballs.manifest
|
||||
for m in \
|
||||
./daemon \
|
||||
. \
|
||||
./3rdparty/SortFilterProxyModel; do \
|
||||
./3rdparty/SortFilterProxyModel \
|
||||
./3rdparty/md4c \
|
||||
./3rdparty/tidy-html5; do \
|
||||
(cd "$$m" && git archive --prefix "$$m/" HEAD \
|
||||
| tar xf - -C $(TMPDIR)/$(RELEASE_DIRNAME)); \
|
||||
done
|
||||
@ -158,11 +160,9 @@ endif
|
||||
# Traditionally built packages (in Docker containers).
|
||||
#
|
||||
DISTRIBUTIONS := \
|
||||
debian_10 \
|
||||
debian_11 \
|
||||
debian_testing \
|
||||
debian_unstable \
|
||||
ubuntu_18.04 \
|
||||
ubuntu_20.04 \
|
||||
ubuntu_22.04 \
|
||||
ubuntu_22.10 \
|
||||
|
||||
@ -1,46 +0,0 @@
|
||||
FROM debian:buster
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get clean
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y -o Acquire::Retries=10 \
|
||||
devscripts \
|
||||
apt-utils \
|
||||
equivs \
|
||||
gcc-8 \
|
||||
g++-8 \
|
||||
clang \
|
||||
clang-tools \
|
||||
libarchive-dev \
|
||||
wget
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
|
||||
|
||||
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
|
||||
RUN /opt/prebuild-package-debian.sh qt-deps
|
||||
|
||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
|
||||
RUN /opt/prebuild-package-debian.sh jami-deps
|
||||
|
||||
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50
|
||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50
|
||||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10
|
||||
|
||||
# Install CMake 3.19 for Qt 6
|
||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
|
||||
RUN /opt/install-cmake.sh
|
||||
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
|
||||
RUN apt install nodejs -y
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
|
||||
|
||||
RUN wget https://ftp.gnu.org/gnu/binutils/binutils-2.37.tar.xz -q -O /tmp/binutils.xz \
|
||||
&& cd /tmp/ \
|
||||
&& tar xvf binutils.xz \
|
||||
&& cd binutils-2.37 \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install
|
||||
|
||||
CMD ["/opt/build-package-debian.sh"]
|
||||
@ -9,7 +9,6 @@ RUN apt-get update && \
|
||||
equivs \
|
||||
python-is-python3 \
|
||||
libdbus-1-dev \
|
||||
libdbus-c++-dev \
|
||||
wget
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
|
||||
|
||||
@ -26,12 +26,11 @@ RUN dnf install -y \
|
||||
expat-devel \
|
||||
pcre-devel \
|
||||
yaml-cpp-devel \
|
||||
dbus-c++-devel \
|
||||
dbus-devel \
|
||||
libXext-devel \
|
||||
libXfixes-devel \
|
||||
yasm \
|
||||
python2.7 \
|
||||
python3-html5lib \
|
||||
speex-devel \
|
||||
gsm-devel \
|
||||
chrpath \
|
||||
@ -97,7 +96,8 @@ RUN dnf install -y \
|
||||
ninja-build \
|
||||
clang \
|
||||
cmake \
|
||||
fmt-devel
|
||||
fmt-devel \
|
||||
cups-devel #Chromium for Qt
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
|
||||
|
||||
|
||||
@ -27,12 +27,11 @@ RUN dnf install -y \
|
||||
expat-devel \
|
||||
pcre-devel \
|
||||
yaml-cpp-devel \
|
||||
dbus-c++-devel \
|
||||
dbus-devel \
|
||||
libXext-devel \
|
||||
libXfixes-devel \
|
||||
yasm \
|
||||
python2.7 \
|
||||
python3-html5lib \
|
||||
speex-devel \
|
||||
gsm-devel \
|
||||
chrpath \
|
||||
@ -98,7 +97,8 @@ RUN dnf install -y \
|
||||
ninja-build \
|
||||
clang \
|
||||
cmake \
|
||||
fmt-devel
|
||||
fmt-devel \
|
||||
cups-devel #Chromium for Qt
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
|
||||
|
||||
|
||||
@ -27,8 +27,6 @@ RUN dnf install -y \
|
||||
expat-devel \
|
||||
pcre-devel \
|
||||
yaml-cpp-devel \
|
||||
dbus-c++-devel \
|
||||
dbus-devel \
|
||||
libXext-devel \
|
||||
libXfixes-devel \
|
||||
yasm \
|
||||
@ -98,7 +96,9 @@ RUN dnf install -y \
|
||||
ninja-build \
|
||||
clang \
|
||||
cmake \
|
||||
fmt-devel
|
||||
fmt-devel \
|
||||
python3-html5lib \
|
||||
cups-devel
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
|
||||
|
||||
|
||||
@ -23,7 +23,6 @@ RUN zypper --non-interactive install -y \
|
||||
libtool \
|
||||
pcre-devel \
|
||||
yaml-cpp-devel \
|
||||
libdbus-c++-devel \
|
||||
libXext-devel \
|
||||
libXfixes-devel \
|
||||
yasm \
|
||||
@ -51,7 +50,6 @@ RUN zypper --non-interactive install -y \
|
||||
clutter-gtk-devel \
|
||||
libnma-devel \
|
||||
libcryptopp-devel \
|
||||
libdbus-c++-devel \
|
||||
libexpat-devel \
|
||||
gnome-icon-theme-symbolic \
|
||||
libgsm-devel \
|
||||
@ -62,6 +60,7 @@ RUN zypper --non-interactive install -y \
|
||||
gtk3-devel\
|
||||
qrencode-devel \
|
||||
python3-python-dateutil \
|
||||
python3-html5lib \
|
||||
libsndfile-devel \
|
||||
libdrm \
|
||||
gperf \
|
||||
|
||||
@ -1,40 +0,0 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get clean
|
||||
RUN apt-get update && \
|
||||
apt-get install -y -o Acquire::Retries=10 \
|
||||
devscripts \
|
||||
equivs \
|
||||
curl \
|
||||
gcc-8 \
|
||||
g++-8 \
|
||||
clang \
|
||||
clang-tools \
|
||||
libarchive-dev \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
# nodejs (more recent version needed for building libqt-jami)
|
||||
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
|
||||
RUN apt install nodejs -y
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
|
||||
|
||||
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
|
||||
RUN /opt/prebuild-package-debian.sh qt-deps
|
||||
|
||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
|
||||
RUN /opt/prebuild-package-debian.sh jami-deps
|
||||
|
||||
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50
|
||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50
|
||||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10
|
||||
|
||||
# Install CMake 3.19 for Qt 6
|
||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
|
||||
RUN /opt/install-cmake.sh
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
|
||||
CMD ["/opt/build-package-debian.sh"]
|
||||
@ -8,7 +8,12 @@ RUN apt-get update && \
|
||||
devscripts \
|
||||
equivs \
|
||||
python-is-python3 \
|
||||
wget
|
||||
wget \
|
||||
curl
|
||||
|
||||
# nodejs
|
||||
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
|
||||
RUN apt install nodejs -y
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
|
||||
|
||||
@ -21,9 +26,6 @@ RUN /opt/prebuild-package-debian.sh jami-deps
|
||||
# Install CMake 3.19 for Qt 6
|
||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
|
||||
RUN /opt/install-cmake.sh
|
||||
# nodejs
|
||||
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
|
||||
RUN apt install nodejs -y
|
||||
|
||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
|
||||
CMD ["/opt/build-package-debian.sh"]
|
||||
|
||||
@ -91,6 +91,7 @@ Build-Depends: debhelper (>= 9),
|
||||
libgl1-mesa-dri,
|
||||
# pkg-kde-tools (>= 0.15.17~),
|
||||
python3:any,
|
||||
python3-html5lib,
|
||||
# qtbase5-private-dev (>= 5.15.2+dfsg~),
|
||||
xauth <!nocheck>,
|
||||
xvfb <!nocheck>,
|
||||
|
||||
@ -1,47 +1,58 @@
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/profiler.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/logging.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/common/constants.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/net/base/parse_number.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h | 6 ++++--
|
||||
qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h | 2 +-
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h | 2 ++
|
||||
.../src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h | 1 +
|
||||
.../3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp | 4 ++++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h | 3 +++
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h | 1 +
|
||||
qtwebengine/src/core/browsing_data_remover_delegate_qt.h | 2 ++
|
||||
43 files changed, 61 insertions(+), 3 deletions(-)
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/profiler.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/logging.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/common/constants.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/net/base/parse_number.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h | 6 ++++--
|
||||
qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h | 2 +-
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h | 4 ++--
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp | 4 ++++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h | 1 +
|
||||
qtwebengine/src/core/browsing_data_remover_delegate_qt.h | 2 ++
|
||||
54 files changed, 71 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
|
||||
index 1229e06234..c7ed55e70f 100644
|
||||
@ -50,31 +61,31 @@ index 1229e06234..c7ed55e70f 100644
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_DEBUG_PROFILER_H_
|
||||
#define BASE_DEBUG_PROFILER_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
#include <string>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
|
||||
index 618e1e3769..bd0faf99ef 100644
|
||||
index 60c3c5c474..6c8021cfde 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <iosfwd>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/logging.h b/qtwebengine/src/3rdparty/chromium/base/logging.h
|
||||
index c4db4c92dc..602560db1a 100644
|
||||
index a3ff92f0fd..c272f796a9 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/base/logging.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/base/logging.h
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
+
|
||||
+#include <cstdint>
|
||||
#include <cassert>
|
||||
@ -85,112 +96,124 @@ index 96f8c3bd7c..c3f087b1a9 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
|
||||
#include "ui/gfx/animation/keyframe/target_property.h"
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace cc {
|
||||
|
||||
|
||||
static_assert(TargetProperty::LAST_TARGET_PROPERTY <
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
|
||||
index 2aba73ebcb..2e028fddcf 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
|
||||
#define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
|
||||
index 3896bc6e78..b93843dc16 100644
|
||||
index 3069c858d3..f4614b73c6 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
|
||||
#define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "base/callback_forward.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
|
||||
index 213b6301c0..9332e37e6f 100644
|
||||
index 80fd26f4f4..3f08972a7a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
|
||||
@@ -3,6 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
#include "device/base/synchronization/one_writer_seqlock.h"
|
||||
+#include <cstdint>
|
||||
|
||||
namespace device {
|
||||
|
||||
|
||||
#include "base/threading/platform_thread.h"
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
|
||||
index 6a3eeda565..525301379c 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define DEVICE_BASE_SYNCHRONIZATION_ONE_WRITER_SEQLOCK_H_
|
||||
|
||||
#include <atomic>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "base/atomicops.h"
|
||||
#include "base/check.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
|
||||
index 0c27ae7105..b64f82f754 100644
|
||||
index 3cf2914e10..4b0552440c 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
|
||||
#define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h b/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h
|
||||
index afcaf9e4d1..5401e893a3 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef DEVICE_FIDO_FIDO_TRANSPORT_PROTOCOL_H_
|
||||
#define DEVICE_FIDO_FIDO_TRANSPORT_PROTOCOL_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "base/component_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
|
||||
index 9d2858177e..d263f67032 100644
|
||||
index c24205c402..ee67ecf189 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
|
||||
#define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
|
||||
index 782a171adf..867de7c240 100644
|
||||
index 9ac68e2be9..ef2761020d 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
|
||||
@@ -11,6 +11,8 @@
|
||||
#include "components/services/app_service/public/mojom/types.mojom.h"
|
||||
#include "ui/base/layout.h"
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "extensions/common/extensions_export.h"
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace extensions {
|
||||
|
||||
|
||||
// Scheme we serve extension content from.
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
|
||||
index 4ba8de8460..6352b90196 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
|
||||
#define EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
|
||||
index 83615b30c8..8fa9fb1f6d 100644
|
||||
index a9c7adb5b5..943bd4e470 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_
|
||||
#define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace gpu {
|
||||
namespace webgpu {
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h
|
||||
index e33874ba3b..824a207a22 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_
|
||||
#define GPU_CONFIG_DEVICE_PERF_INFO_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
|
||||
index 027f1a5af3..70759b2ae4 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
|
||||
@ -198,98 +221,98 @@ index 027f1a5af3..70759b2ae4 100644
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
|
||||
#define GPU_CONFIG_GPU_FEATURE_INFO_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
|
||||
index f4077c21d7..d0420d5631 100644
|
||||
index 3ea2191b50..0a1ae11202 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_GPU_PREFERENCES_H_
|
||||
#define GPU_CONFIG_GPU_PREFERENCES_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <stddef.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
|
||||
index fa2450f3db..1125d3da53 100644
|
||||
index f72970c67a..d7f0b7d492 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef GPU_CONFIG_GPU_UTIL_H_
|
||||
#define GPU_CONFIG_GPU_UTIL_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "build/build_config.h"
|
||||
#include "gpu/config/gpu_feature_info.h"
|
||||
#include "gpu/gpu_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
|
||||
index 0b4cfc1f8e..6f197966e2 100644
|
||||
index 4e49ab7112..e99d2dd7aa 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef NET_BASE_PARSE_NUMBER_H_
|
||||
#define NET_BASE_PARSE_NUMBER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include "base/compiler_specific.h"
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "net/base/net_export.h"
|
||||
+#include <cstdint>
|
||||
|
||||
// This file contains utility functions for parsing numbers, in the context of
|
||||
// network protocols.
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
|
||||
index 3247c6269f..76efd3f01d 100644
|
||||
index 2e9c319a3d..4d723d18f2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
|
||||
#define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h
|
||||
index 9a14bc4649..8302073d8f 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
|
||||
|
||||
#include <vector>
|
||||
#define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
|
||||
|
||||
#include <bitset>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "quic/platform/api/quic_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h
|
||||
index c77219eb32..d3aa92be05 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <map>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
|
||||
index 6a300ed0c0..3e30f1cb02 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
|
||||
#define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
|
||||
|
||||
+#include <cstdint>
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "quic/platform/api/quic_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
|
||||
index 52f1501728..db4d310849 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
|
||||
#define QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
|
||||
index 254398e622..8f03f9be85 100644
|
||||
index 138ca2efec..08f06e7b8c 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
|
||||
#define PDF_DOCUMENT_ATTACHMENT_INFO_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include "base/strings/string16.h"
|
||||
|
||||
namespace chrome_pdf {
|
||||
#include <string>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
|
||||
index ac0b31a75c..5d1c421d03 100644
|
||||
index b4fdb9a6d3..375d3ef327 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
|
||||
@@ -38,6 +38,10 @@ namespace pp {
|
||||
@ -306,39 +329,51 @@ index ac0b31a75c..5d1c421d03 100644
|
||||
@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits {
|
||||
int32_t ref_;
|
||||
};
|
||||
|
||||
|
||||
- typedef pp::Lock Lock;
|
||||
- typedef pp::AutoLock AutoLock;
|
||||
};
|
||||
|
||||
|
||||
/// The non-thread-safe version of thread traits. Using this class as the
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
index 0aad3ac782..7f7a1057d7 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
#define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <bitset>
|
||||
#include <string>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
|
||||
index a9b9e137de..562327f1c4 100644
|
||||
index c47536d63e..443f47afd0 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <cstring>
|
||||
#include <ostream>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
|
||||
index e9b79943dd..18428a5946 100644
|
||||
index e13aa2221d..0ce848486d 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
|
||||
@@ -7,7 +7,7 @@
|
||||
#define GLSLANG_SHADERLANG_H_
|
||||
|
||||
|
||||
#include <stddef.h>
|
||||
-
|
||||
+#include <cstdint>
|
||||
#include "KHR/khrplatform.h"
|
||||
|
||||
|
||||
#include <array>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
index a8f3bb28c6..bd9e105835 100644
|
||||
index 18175e15c7..28332857bc 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
@@ -14,6 +14,7 @@
|
||||
@ -346,21 +381,21 @@ index a8f3bb28c6..bd9e105835 100644
|
||||
#include <string>
|
||||
#include <vector>
|
||||
+#include <cstdint>
|
||||
|
||||
// This type is defined here to simplify ANGLE's integration with glslang for SPIRv.
|
||||
|
||||
// This type is defined here to simplify ANGLE's integration with glslang for SPIR-V.
|
||||
using ShCompileOptions = uint64_t;
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
|
||||
index d132a72e8c..f49ba32d49 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <climits>
|
||||
#include <cstdarg>
|
||||
#include <cstddef>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
|
||||
index c63049b174..82b27837b5 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_ORIGIN_TRIALS_ORIGIN_TRIAL_PUBLIC_KEY_H_
|
||||
|
||||
#include <array>
|
||||
+#include <cstdint>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
namespace blink {
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
|
||||
index 14c5548766..43c9a8d6a5 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
|
||||
@ -368,24 +403,130 @@ index 14c5548766..43c9a8d6a5 100644
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace blink {
|
||||
|
||||
|
||||
enum class DarkModeResult : uint8_t {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
|
||||
index 80b3150b67..6377196230 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
|
||||
@@ -116,7 +116,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
|
||||
|
||||
// An identifier for a document transition shared element. `id.valid()`
|
||||
// returns true if this has been set, and false otherwise.
|
||||
- DocumentTransitionSharedElementId document_transition_shared_element_id;
|
||||
+ cc::DocumentTransitionSharedElementId document_transition_shared_element_id;
|
||||
|
||||
// An identifier to tag shared element resources generated and cached in the
|
||||
// Viz process. This generated resource can be used as content for other
|
||||
@@ -285,7 +285,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
|
||||
return state_.compositor_element_id;
|
||||
}
|
||||
|
||||
- const blink::DocumentTransitionSharedElementId&
|
||||
+ const cc::DocumentTransitionSharedElementId&
|
||||
DocumentTransitionSharedElementId() const {
|
||||
return state_.document_transition_shared_element_id;
|
||||
}
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
|
||||
index c7e4f2b378..f30ce91b36 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
#include <string>
|
||||
+#include <cstdint>
|
||||
|
||||
|
||||
#include "client/linux/handler/microdump_extra_info.h"
|
||||
#include "common/using_std_string.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
|
||||
index 2d58d76cb6..139af564ea 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "dawn/common/TypedInteger.h"
|
||||
#include "dawn/common/ityp_array.h"
|
||||
|
||||
+#include <cstdint>
|
||||
#include <bitset>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
|
||||
index 374bd8302a..0884eb2a19 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
|
||||
#define SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
|
||||
index fa5fc3a7e9..6cec934670 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_SPIRV_NAMER_H_
|
||||
#define SRC_TINT_READER_SPIRV_NAMER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
|
||||
index f378d57817..98d1336f9a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_WGSL_LEXER_H_
|
||||
#define SRC_TINT_READER_WGSL_LEXER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "src/tint/reader/wgsl/token.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
|
||||
index 7b5b6754ed..62b1ca7e36 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_WGSL_TOKEN_H_
|
||||
#define SRC_TINT_READER_WGSL_TOKEN_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <variant> // NOLINT: cpplint doesn't recognise this
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
|
||||
index 4be648b37a..cac7238ef2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "src/tint/writer/spirv/instruction.h"
|
||||
|
||||
+#include <cstdint>
|
||||
#include <utility>
|
||||
|
||||
namespace tint::writer::spirv {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
|
||||
index 46a5deb55b..4c3080ff25 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_WRITER_SPIRV_OPERAND_H_
|
||||
#define SRC_TINT_WRITER_SPIRV_OPERAND_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
|
||||
index a3099e15db..2e6f0eea70 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
|
||||
@ -397,7 +538,7 @@ index a3099e15db..2e6f0eea70 100644
|
||||
+#include <cstdio>
|
||||
#include <new>
|
||||
#include <utility>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
|
||||
index d2731dac7a..46bc87ef92 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
|
||||
@ -405,45 +546,45 @@ index d2731dac7a..46bc87ef92 100644
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef CONSTANTS_ANNOTATION_FLAGS_H_
|
||||
#define CONSTANTS_ANNOTATION_FLAGS_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace pdfium {
|
||||
namespace annotation_flags {
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
|
||||
index 1b4c53815b..472042fabc 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
|
||||
|
||||
|
||||
#include <array>
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
#include "perfetto/ext/base/optional.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
|
||||
index dda2f85759..158b5e8baa 100644
|
||||
index c56f0344f9..cd7824929e 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
|
||||
@@ -21,6 +21,8 @@
|
||||
@@ -20,6 +20,8 @@
|
||||
#include "perfetto/ext/base/optional.h"
|
||||
#include "perfetto/trace_processor/status.h"
|
||||
#include "src/trace_processor/trace_blob_view.h"
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace perfetto {
|
||||
|
||||
|
||||
namespace protos {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
|
||||
index 7260365b2c..503ed08ff6 100644
|
||||
index 3164650728..512a26943d 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
|
||||
@@ -8,6 +8,10 @@
|
||||
|
||||
#include "include/utils/SkParse.h"
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
#include <algorithm> // std::lower_bound
|
||||
|
||||
+#include <string.h>
|
||||
+#include <algorithm>
|
||||
+#include <iterator>
|
||||
@ -451,65 +592,77 @@ index 7260365b2c..503ed08ff6 100644
|
||||
static constexpr const char* gColorNames[] = {
|
||||
"aliceblue",
|
||||
"antiquewhite",
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h
|
||||
index 917e369c6d..0795b1d683 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h
|
||||
@@ -3844,6 +3844,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage(
|
||||
#ifdef VMA_IMPLEMENTATION
|
||||
#undef VMA_IMPLEMENTATION
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
|
||||
index b7c586b80e..19ccbb024a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
|
||||
@@ -146,6 +146,7 @@ available through VmaAllocatorCreateInfo::pRecordSettings.
|
||||
#endif // #if VMA_VULKAN_VERSION >= 1001000
|
||||
#endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
|
||||
|
||||
+#include <cstdio>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#ifndef VULKAN_H_
|
||||
#include <vulkan/vulkan.h>
|
||||
#endif
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
|
||||
index b89f154072..8ebf6a42c3 100644
|
||||
index 5fd37b4613..ce70405dd2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef CALL_RTP_DEMUXER_H_
|
||||
#define CALL_RTP_DEMUXER_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
|
||||
index b70ac4aa59..7ba5555647 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
#include <gio/gio.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace webrtc {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
|
||||
index 7a936f23e7..21951a1d24 100644
|
||||
index ca249541d0..534214dbfa 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
|
||||
@@ -12,6 +12,7 @@
|
||||
#ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
|
||||
#define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
|
||||
index 5e4f410d12..722e73d053 100644
|
||||
index 708d6c98ac..898016d886 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_BASE_IME_LINUX_LINUX_INPUT_METHOD_CONTEXT_H_
|
||||
#define UI_BASE_IME_LINUX_LINUX_INPUT_METHOD_CONTEXT_H_
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
+#include <cstdint>
|
||||
#include "base/component_export.h"
|
||||
#include "base/strings/string16.h"
|
||||
#include "ui/base/ime/text_input_type.h"
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
|
||||
index 668f07489e..8357414e83 100644
|
||||
index d97a696fd5..68b18d80cd 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
|
||||
#define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
|
||||
|
||||
#ifndef UI_EVENTS_GESTURE_EVENT_DETAILS_H_
|
||||
#define UI_EVENTS_GESTURE_EVENT_DETAILS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
#include "base/check_op.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
|
||||
index 7ff15f0fc5..136cebc09e 100644
|
||||
@ -518,52 +671,48 @@ index 7ff15f0fc5..136cebc09e 100644
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
|
||||
#define UI_EVENTS_TYPES_SCROLL_TYPES_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace ui {
|
||||
|
||||
|
||||
enum class ScrollGranularity : uint8_t {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
|
||||
index 1ad025fec1..adadf96190 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_GFX_LINEAR_GRADIENT_H_
|
||||
#define UI_GFX_LINEAR_GRADIENT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <array>
|
||||
#include <string>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
|
||||
index fe39f98822..dbe130581c 100644
|
||||
index fdac44e31e..a752dba6a2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef V8_BASE_LOGGING_H_
|
||||
#define V8_BASE_LOGGING_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
|
||||
index 9079d15662..770f2c8b6e 100644
|
||||
index 61644ffe05..6fbc037437 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef V8_BASE_MACROS_H_
|
||||
#define V8_BASE_MACROS_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <limits>
|
||||
#include <type_traits>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h b/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h
|
||||
index 03af2cc5e2..07774cd611 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h
|
||||
@@ -15,8 +15,11 @@
|
||||
#include "src/compiler/code-assembler.h"
|
||||
#include "src/objects/arguments.h"
|
||||
#include "src/objects/bigint.h"
|
||||
+#include "src/objects/cell.h"
|
||||
#include "src/objects/feedback-vector.h"
|
||||
#include "src/objects/js-function.h"
|
||||
+#include "src/objects/js-generator.h"
|
||||
+#include "src/objects/js-promise.h"
|
||||
#include "src/objects/objects.h"
|
||||
#include "src/objects/promise.h"
|
||||
#include "src/objects/shared-function-info.h"
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
|
||||
index c1d69c18f0..eb33c6816a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
|
||||
@ -571,21 +720,21 @@ index c1d69c18f0..eb33c6816a 100644
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
|
||||
#define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
// Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
|
||||
diff --git a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
|
||||
index a10409f397..b9f5e59d8a 100644
|
||||
index 4e690ffb19..dfa884cd65 100644
|
||||
--- a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
|
||||
+++ b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "content/public/browser/browsing_data_remover_delegate.h"
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace QtWebEngineCore {
|
||||
|
||||
|
||||
class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {
|
||||
@ -1,59 +0,0 @@
|
||||
Subject: [PATCH] Fix fatal error in getCurrentKeyboardLayout()
|
||||
|
||||
FATAL:xkb_keyboard_layout_engine.cc(640)] Keymap file failed to load: dk(polytonic)
|
||||
|
||||
Remove unnecessary tokenization of XKB layout.
|
||||
Parsing of layout configuration is already handled by
|
||||
XkbKeyboardLayoutEngine::ParseLayoutName().
|
||||
|
||||
Fixes: QTBUG-101201
|
||||
Task-number: QTBUG-92971
|
||||
Pick-to: 6.2 6.3
|
||||
Change-Id: Ia4f09ed99eb82064a3b12e14eda69a6e0e12b0dd
|
||||
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
---
|
||||
.../src/core/ozone/ozone_platform_qt.cpp | 24 ++++---------------
|
||||
1 file changed, 5 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/qtwebengine/src/core/ozone/ozone_platform_qt.cpp b/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
|
||||
index 33d7bd992b..543e4bd371 100644
|
||||
--- a/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
|
||||
+++ b/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
|
||||
@@ -184,29 +184,15 @@ static std::string getCurrentKeyboardLayout()
|
||||
if (XkbRF_GetNamesProp(dpy, nullptr, &vdr) == 0)
|
||||
return std::string();
|
||||
|
||||
- char *layout = strtok(vdr.layout, ",");
|
||||
- for (int i = 0; i < state.group; i++) {
|
||||
- layout = strtok(nullptr, ",");
|
||||
- if (layout == nullptr)
|
||||
- return std::string();
|
||||
- }
|
||||
+ if (!vdr.layout)
|
||||
+ return std::string();
|
||||
|
||||
if (!vdr.variant)
|
||||
- return layout;
|
||||
-
|
||||
- char *variant = strtok(vdr.variant, ",");
|
||||
- if (!variant)
|
||||
- return layout;
|
||||
-
|
||||
- for (int i = 0; i < state.group; i++) {
|
||||
- variant = strtok(nullptr, ",");
|
||||
- if (variant == nullptr)
|
||||
- return layout;
|
||||
- }
|
||||
+ return std::string(vdr.layout);
|
||||
|
||||
- std::string layoutWithVariant = layout;
|
||||
+ std::string layoutWithVariant = vdr.layout;
|
||||
layoutWithVariant = layoutWithVariant.append("-");
|
||||
- layoutWithVariant = layoutWithVariant.append(variant);
|
||||
+ layoutWithVariant = layoutWithVariant.append(vdr.variant);
|
||||
return layoutWithVariant;
|
||||
}
|
||||
#endif // BUILDFLAG(USE_XKBCOMMON)
|
||||
--
|
||||
2.35.3
|
||||
@ -0,0 +1,52 @@
|
||||
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
|
||||
Date: Mon, 29 May 2023 13:09:53 -0400
|
||||
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
|
||||
|
||||
Using O_PATH requires correctly specifying whether the fd is writable or
|
||||
not. Stating that the fd is writable without it actually being writable
|
||||
results into rejection on xdg-desktop-portal side. Other implementations
|
||||
like xdg-open or gtk have also moved away from O_PATH fds so this will
|
||||
make a matching implementation and avoid possible rejections from xdp.
|
||||
|
||||
Fixes: QTBUG-113143
|
||||
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
|
||||
---
|
||||
qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
|
||||
index a0e5466c58..fe0fdaa625 100644
|
||||
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
|
||||
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
|
||||
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
|
||||
// handle_token (s) - A string that will be used as the last element of the @handle.
|
||||
// writable (b) - Whether to allow the chosen application to write to the file.
|
||||
|
||||
-#ifdef O_PATH
|
||||
- const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
|
||||
+ const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
|
||||
if (fd != -1) {
|
||||
QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
|
||||
"/org/freedesktop/portal/desktop"_L1,
|
||||
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
|
||||
QDBusUnixFileDescriptor descriptor;
|
||||
descriptor.giveFileDescriptor(fd);
|
||||
|
||||
- const QVariantMap options = {{"writable"_L1, true}};
|
||||
+ const QVariantMap options = {};
|
||||
|
||||
// FIXME parent_window_id
|
||||
message << QString() << QVariant::fromValue(descriptor) << options;
|
||||
|
||||
return QDBusConnection::sessionBus().call(message);
|
||||
}
|
||||
-#else
|
||||
- Q_UNUSED(url);
|
||||
-#endif
|
||||
|
||||
return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
|
||||
}
|
||||
--
|
||||
2.40.1
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
From 517d0890f9e95c841bea3421f2455651ca0d8070 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Edelev <alexey.edelev@qt.io>
|
||||
Date: Wed, 23 Nov 2022 12:40:45 +0100
|
||||
Subject: [PATCH] Fix Linux build with CMake versions >= 3.25
|
||||
|
||||
The 'LINUX' variable exists in CMake since the version 3.25. This
|
||||
variable previously was undefined while preparsing the configure.cmake
|
||||
files. Since the CMake script that defines the 'check_for_ulimit'
|
||||
function is not included while evaluating configure.cmake first time
|
||||
we need to add a stub.
|
||||
|
||||
Change-Id: I25bdec4f4a1b6af23174507a8f0f9cbf01f0c398
|
||||
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
||||
(cherry picked from commit 240e71877865ed07e4c8d5bd4553aa0772c2adf4)
|
||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
||||
---
|
||||
|
||||
qtwebengine/configure.cmake | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/qtwebengine/configure.cmake b/qtwebengine/configure.cmake
|
||||
index 015bcd1..d8e7fea 100644
|
||||
--- a/qtwebengine/configure.cmake
|
||||
+++ b/qtwebengine/configure.cmake
|
||||
@@ -4,6 +4,8 @@ if(QT_CONFIGURE_RUNNING)
|
||||
endfunction()
|
||||
function(add_check_for_support)
|
||||
endfunction()
|
||||
+ function(check_for_ulimit)
|
||||
+ endfunction()
|
||||
else()
|
||||
find_package(Ninja 1.7.2)
|
||||
find_package(Gn ${QT_REPO_MODULE_VERSION} EXACT)
|
||||
@ -1,3 +1,2 @@
|
||||
0001-qtbug-101201-fatal-error-getcurrenkeyboard.patch
|
||||
0002-check-ulimit.patch
|
||||
0003-fix-gcc13.patch
|
||||
0001-fix-gcc13.patch
|
||||
0002-OpenFile-portal-do-not-use-O_PATH-fds.patch
|
||||
@ -7,18 +7,6 @@
|
||||
dh $@
|
||||
|
||||
override_dh_auto_configure:
|
||||
# Qt 6.2 build for gcc 8
|
||||
sed -i 's,->GetProperty({,->GetProperty(GetPropertyRequest{,g' qtwebengine/src/3rdparty/chromium/ui/gfx/x/property_cache.cc
|
||||
sed -i 's/max(),/max()/g' qtwebengine/src/3rdparty/chromium/ui/gfx/x/property_cache.cc
|
||||
sed -i 's,PresentPixmap({,PresentPixmap(x11::Present::PresentPixmapRequest{,g' qtwebengine/src/3rdparty/chromium/components/viz/service/display_embedder/output_presenter_x11.cc
|
||||
sed -i 's/last_target_msc_,/last_target_msc_/g' qtwebengine/src/3rdparty/chromium/components/viz/service/display_embedder/output_presenter_x11.cc
|
||||
# Avoid MakeFlatSet
|
||||
sed -i 's,const auto& GetNeverSniffedMimeTypes,/*const auto& GetNeverSniffedMimeTypes{,g' qtwebengine/src/3rdparty/chromium/services/network/public/cpp/cross_origin_read_blocking.cc
|
||||
sed -i '1,/\/\/ static/{s/\/\/ static/*\/\}\/\/ static/;}' qtwebengine/src/3rdparty/chromium/services/network/public/cpp/cross_origin_read_blocking.cc
|
||||
cp qtwebengine/src/3rdparty/chromium/services/network/public/cpp/cross_origin_read_blocking.cc temp
|
||||
tac temp | sed '1,/return MimeType::kOthers/{s/return MimeType::kOthers/*\/return MimeType::kOthers/;}' | tac > qtwebengine/src/3rdparty/chromium/services/network/public/cpp/cross_origin_read_blocking.cc
|
||||
rm temp -f
|
||||
sed -i 's,if (base::Contains,/*if (base::Contains,g' qtwebengine/src/3rdparty/chromium/services/network/public/cpp/cross_origin_read_blocking.cc
|
||||
CXXFLAGS="-flto -flto-partition=none" CFLAGS="-flto -flto-partition=none" ./configure \
|
||||
-opensource \
|
||||
-confirm-license \
|
||||
|
||||
@ -16,7 +16,7 @@ Build-Depends: debhelper (>= 9),
|
||||
libayatana-appindicator3-dev | libappindicator3-dev,
|
||||
# daemon
|
||||
libdbus-1-dev,
|
||||
libdbus-c++-dev,
|
||||
libsystemd-dev,
|
||||
libupnp-dev,
|
||||
libgnutls28-dev,
|
||||
libpulse-dev,
|
||||
@ -68,7 +68,7 @@ Depends: gnupg,
|
||||
Replaces: jami,
|
||||
jami-libclient,
|
||||
jami-daemon,
|
||||
libqt-jami (>= 6.2.3),
|
||||
libqt-jami (>= 6.4.3),
|
||||
Conflicts: jami,
|
||||
jami-libclient,
|
||||
jami-libclient-gnome,
|
||||
@ -84,7 +84,7 @@ Architecture: any
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
jami-daemon (=${binary:Version}),
|
||||
libqt-jami (>= 6.2.3)
|
||||
libqt-jami (>= 6.4.3)
|
||||
Provides: jami-qt
|
||||
Replaces: jami-all,
|
||||
jami-libclient (<= 20220516.0214.9b42ad3~dfsg1-1)
|
||||
|
||||
@ -19,11 +19,11 @@ set -e
|
||||
# of the distribution or version. The end tag is automatically appended,
|
||||
# depending on the system the postinst script is run on. Examples:
|
||||
#
|
||||
# Ubuntu 18.04:
|
||||
# $JAMI_REPO = $JAMI_REPO_BASE/ubuntu_18.04/
|
||||
# Ubuntu 22.04:
|
||||
# $JAMI_REPO = $JAMI_REPO_BASE/ubuntu_22.04/
|
||||
#
|
||||
# Debian 10:
|
||||
# $JAMI_REPO = $JAMI_REPO_BASE/debian_10
|
||||
# Debian 11:
|
||||
# $JAMI_REPO = $JAMI_REPO_BASE/debian_11
|
||||
#
|
||||
# To update the appended end tags, modify the switch in [2].
|
||||
JAMI_REPO_BASE="https://dl.jami.net/nightly"
|
||||
@ -91,14 +91,8 @@ if [ -f /etc/os-release ]; then
|
||||
. /etc/os-release
|
||||
|
||||
# Set-up Jami repository end tag
|
||||
if [ "${VERSION_CODENAME}" = "buster" ] || [ "${ID}_${VERSION_ID}" = "debian_10" ]; then
|
||||
ENDTAG="debian_10"
|
||||
elif [ "${VERSION_CODENAME}" = "bullseye" ] || [ "${ID}_${VERSION_ID}" = "debian_11" ]; then
|
||||
if [ "${VERSION_CODENAME}" = "bullseye" ] || [ "${ID}_${VERSION_ID}" = "debian_11" ]; then
|
||||
ENDTAG="debian_11"
|
||||
elif [ "${ID}_${VERSION_ID}" = "trisquel_9.0" ]; then
|
||||
ENDTAG="ubuntu_18.04"
|
||||
elif [ "${UBUNTU_CODENAME}" = "bionic" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_18.04" ]; then
|
||||
ENDTAG="ubuntu_18.04"
|
||||
elif [ "${UBUNTU_CODENAME}" = "focal" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_20.04" ]; then
|
||||
ENDTAG="ubuntu_20.04"
|
||||
elif [ "${UBUNTU_CODENAME}" = "jammy" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_22.04" ]; then
|
||||
|
||||
@ -28,14 +28,6 @@ JAMI_DAEMON_PKG_NAME="jami-daemon"
|
||||
|
||||
# Bundled packages from contrib
|
||||
BUNDLED_PKGS=""
|
||||
ifeq (debian_10,$(findstring debian_10, $(DISTRIBUTION)))
|
||||
# Daemon's bundled libarchive does not build on Debian 10
|
||||
BUNDLED_PKGS="--disable-libarchive"
|
||||
endif
|
||||
ifeq (ubuntu_18.04,$(findstring ubuntu_18.04, $(DISTRIBUTION)))
|
||||
# Daemon's bundled libarchive does not build on Ubuntu 18.04
|
||||
BUNDLED_PKGS="--disable-libarchive"
|
||||
endif
|
||||
ifeq (raspbian_10_armhf,$(findstring raspbian_10_armhf, $(DISTRIBUTION)))
|
||||
# Raspbian's yaml-cpp lib does not work properly
|
||||
BUNDLED_PKGS="--enable-ffmpeg --enable-yaml-cpp"
|
||||
@ -68,9 +60,6 @@ override_dh_auto_configure:
|
||||
override_dh_auto_build:
|
||||
# Daemon contribs build + configure
|
||||
mkdir -p daemon/contrib/native
|
||||
ifeq (ubuntu_18.04,$(findstring ubuntu_18.04, $(DISTRIBUTION)))
|
||||
sed -i 's/GNUTLS_CONF :=/& --without-zstd/' daemon/contrib/src/gnutls/rules.mak
|
||||
endif
|
||||
cd daemon/contrib/native && \
|
||||
../bootstrap \
|
||||
--host=${HOST_ARCH} \
|
||||
|
||||
@ -35,7 +35,7 @@ BuildRequires: opus-devel
|
||||
BuildRequires: pulseaudio-libs-devel
|
||||
%endif
|
||||
%if %{defined suse_version}
|
||||
BuildRequires: libdbus-c++-devel
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: libexpat-devel
|
||||
BuildRequires: libopus-devel
|
||||
BuildRequires: libpulse-devel
|
||||
|
||||
@ -26,9 +26,8 @@ License: GPLv3+
|
||||
Vendor: Savoir-faire Linux Inc.
|
||||
URL: https://jami.net/
|
||||
Source: jami-libqt-%{version}.tar.xz
|
||||
Patch0: 0001-qtbug-101201-fatal-error-getcurrenkeyboard.patch
|
||||
Patch1: 0002-check-ulimit.patch
|
||||
Patch2: 0003-fix-gcc13.patch
|
||||
Patch0: 0001-fix-gcc13.patch
|
||||
Patch1: 0002-OpenFile-portal-do-not-use-O_PATH-fds.patch
|
||||
|
||||
%global gst 0.10
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
@ -65,11 +64,10 @@ This package contains Qt libraries for Jami.
|
||||
%setup -n qt-everywhere-src-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
echo "Building Qt using %{job_count} parallel jobs"
|
||||
# Qt 6.2 (https://wiki.linuxfromscratch.org/blfs/ticket/14729)
|
||||
# Qt 6.4 (https://wiki.linuxfromscratch.org/blfs/ticket/14729)
|
||||
sed -i 's,default=False,default=True,g' qtwebengine/src/3rdparty/chromium/third_party/catapult/tracing/tracing_build/generate_about_tracing_contents.py
|
||||
# Gcc 13
|
||||
sed -i 's,std::uint32_t,uint32_t,g' qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
|
||||
@ -87,7 +85,7 @@ sed -i 's,#include <string.h>,#include <string.h>\n#include <limits>,g' qtbase/s
|
||||
sed -i 's,#include <QtCore/qbytearray.h>,#include <QtCore/qbytearray.h>\n#include <limits>,g' qtbase/src/corelib/text/qbytearraymatcher.h
|
||||
cat qtwebengine/configure.cmake
|
||||
# recent gcc version do not like lto from qt
|
||||
CXXFLAGS="${CXXFLAGS} -fno-lto" CFLAGS="${CFLAGS} -fno-lto" ./configure \
|
||||
CXXFLAGS="${CXXFLAGS} -fno-lto" CFLAGS="${CFLAGS} -fno-lto" LDFLAGS="$(CFLAGS) ${LDFLAGS}" ./configure \
|
||||
-opensource \
|
||||
-confirm-license \
|
||||
-nomake examples \
|
||||
|
||||
@ -57,6 +57,9 @@ cd %{_builddir}/jami-%{version}/daemon/contrib/native && \
|
||||
make fetch && \
|
||||
make %{_smp_mflags} V=1 .ffmpeg
|
||||
# Qt-related variables
|
||||
export CXXFLAGS="${CXXFLAGS} -fno-lto"
|
||||
export CFLAGS="${CFLAGS} -fno-lto"
|
||||
export LDFLAGS="$(CFLAGS) ${LDFLAGS}"
|
||||
cd %{_builddir}/jami-%{version} && \
|
||||
mkdir build && cd build && \
|
||||
cmake -DENABLE_LIBWRAP=true \
|
||||
@ -66,10 +69,10 @@ cd %{_builddir}/jami-%{version} && \
|
||||
-DWITH_DAEMON_SUBMODULE=true \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
..
|
||||
make -C %{_builddir}/jami-%{version}/build %{_smp_mflags} V=1
|
||||
make -C %{_builddir}/jami-%{version}/build %{_smp_mflags} V=2
|
||||
|
||||
%install
|
||||
DESTDIR=%{buildroot} make -C %{_builddir}/jami-%{version}/build install
|
||||
DESTDIR=%{buildroot} make -C %{_builddir}/jami-%{version}/build install V=2
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
|
||||
@ -1,47 +1,58 @@
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/profiler.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/logging.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/common/constants.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/net/base/parse_number.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h | 6 ++++--
|
||||
qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h | 2 +-
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h | 2 ++
|
||||
.../src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h | 1 +
|
||||
.../3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp | 4 ++++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h | 3 +++
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h | 1 +
|
||||
qtwebengine/src/core/browsing_data_remover_delegate_qt.h | 2 ++
|
||||
43 files changed, 61 insertions(+), 3 deletions(-)
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/profiler.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/base/logging.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/extensions/common/constants.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/net/base/parse_number.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h | 6 ++++--
|
||||
qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h | 2 +-
|
||||
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h | 4 ++--
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp | 4 ++++
|
||||
qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h | 2 ++
|
||||
qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h | 1 +
|
||||
qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h | 1 +
|
||||
qtwebengine/src/core/browsing_data_remover_delegate_qt.h | 2 ++
|
||||
54 files changed, 71 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
|
||||
index 1229e06234..c7ed55e70f 100644
|
||||
@ -50,31 +61,31 @@ index 1229e06234..c7ed55e70f 100644
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_DEBUG_PROFILER_H_
|
||||
#define BASE_DEBUG_PROFILER_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
#include <string>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
|
||||
index 618e1e3769..bd0faf99ef 100644
|
||||
index 60c3c5c474..6c8021cfde 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <iosfwd>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/logging.h b/qtwebengine/src/3rdparty/chromium/base/logging.h
|
||||
index c4db4c92dc..602560db1a 100644
|
||||
index a3ff92f0fd..c272f796a9 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/base/logging.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/base/logging.h
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
+
|
||||
+#include <cstdint>
|
||||
#include <cassert>
|
||||
@ -85,112 +96,124 @@ index 96f8c3bd7c..c3f087b1a9 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
|
||||
#include "ui/gfx/animation/keyframe/target_property.h"
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace cc {
|
||||
|
||||
|
||||
static_assert(TargetProperty::LAST_TARGET_PROPERTY <
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
|
||||
index 2aba73ebcb..2e028fddcf 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
|
||||
#define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
|
||||
index 3896bc6e78..b93843dc16 100644
|
||||
index 3069c858d3..f4614b73c6 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
|
||||
#define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "base/callback_forward.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
|
||||
index 213b6301c0..9332e37e6f 100644
|
||||
index 80fd26f4f4..3f08972a7a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
|
||||
@@ -3,6 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
#include "device/base/synchronization/one_writer_seqlock.h"
|
||||
+#include <cstdint>
|
||||
|
||||
namespace device {
|
||||
|
||||
|
||||
#include "base/threading/platform_thread.h"
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
|
||||
index 6a3eeda565..525301379c 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define DEVICE_BASE_SYNCHRONIZATION_ONE_WRITER_SEQLOCK_H_
|
||||
|
||||
#include <atomic>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "base/atomicops.h"
|
||||
#include "base/check.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
|
||||
index 0c27ae7105..b64f82f754 100644
|
||||
index 3cf2914e10..4b0552440c 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
|
||||
#define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h b/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h
|
||||
index afcaf9e4d1..5401e893a3 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/device/fido/fido_transport_protocol.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef DEVICE_FIDO_FIDO_TRANSPORT_PROTOCOL_H_
|
||||
#define DEVICE_FIDO_FIDO_TRANSPORT_PROTOCOL_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "base/component_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
|
||||
index 9d2858177e..d263f67032 100644
|
||||
index c24205c402..ee67ecf189 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
|
||||
#define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
|
||||
index 782a171adf..867de7c240 100644
|
||||
index 9ac68e2be9..ef2761020d 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
|
||||
@@ -11,6 +11,8 @@
|
||||
#include "components/services/app_service/public/mojom/types.mojom.h"
|
||||
#include "ui/base/layout.h"
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "extensions/common/extensions_export.h"
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace extensions {
|
||||
|
||||
|
||||
// Scheme we serve extension content from.
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
|
||||
index 4ba8de8460..6352b90196 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
|
||||
#define EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
|
||||
index 83615b30c8..8fa9fb1f6d 100644
|
||||
index a9c7adb5b5..943bd4e470 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_
|
||||
#define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace gpu {
|
||||
namespace webgpu {
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h
|
||||
index e33874ba3b..824a207a22 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_
|
||||
#define GPU_CONFIG_DEVICE_PERF_INFO_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
|
||||
index 027f1a5af3..70759b2ae4 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
|
||||
@ -198,98 +221,98 @@ index 027f1a5af3..70759b2ae4 100644
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
|
||||
#define GPU_CONFIG_GPU_FEATURE_INFO_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
|
||||
index f4077c21d7..d0420d5631 100644
|
||||
index 3ea2191b50..0a1ae11202 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_GPU_PREFERENCES_H_
|
||||
#define GPU_CONFIG_GPU_PREFERENCES_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <stddef.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
|
||||
index fa2450f3db..1125d3da53 100644
|
||||
index f72970c67a..d7f0b7d492 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef GPU_CONFIG_GPU_UTIL_H_
|
||||
#define GPU_CONFIG_GPU_UTIL_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "build/build_config.h"
|
||||
#include "gpu/config/gpu_feature_info.h"
|
||||
#include "gpu/gpu_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
|
||||
index 0b4cfc1f8e..6f197966e2 100644
|
||||
index 4e49ab7112..e99d2dd7aa 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef NET_BASE_PARSE_NUMBER_H_
|
||||
#define NET_BASE_PARSE_NUMBER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include "base/compiler_specific.h"
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "net/base/net_export.h"
|
||||
+#include <cstdint>
|
||||
|
||||
// This file contains utility functions for parsing numbers, in the context of
|
||||
// network protocols.
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
|
||||
index 3247c6269f..76efd3f01d 100644
|
||||
index 2e9c319a3d..4d723d18f2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
|
||||
#define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h
|
||||
index 9a14bc4649..8302073d8f 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/crypto/quic_hkdf.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
|
||||
|
||||
#include <vector>
|
||||
#define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
|
||||
|
||||
#include <bitset>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "quic/platform/api/quic_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h
|
||||
index c77219eb32..d3aa92be05 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_tag.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <map>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
|
||||
index 6a300ed0c0..3e30f1cb02 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
|
||||
#define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
|
||||
|
||||
+#include <cstdint>
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "quic/platform/api/quic_export.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
|
||||
index 52f1501728..db4d310849 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
|
||||
#define QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
|
||||
index 254398e622..8f03f9be85 100644
|
||||
index 138ca2efec..08f06e7b8c 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
|
||||
#define PDF_DOCUMENT_ATTACHMENT_INFO_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include "base/strings/string16.h"
|
||||
|
||||
namespace chrome_pdf {
|
||||
#include <string>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
|
||||
index ac0b31a75c..5d1c421d03 100644
|
||||
index b4fdb9a6d3..375d3ef327 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
|
||||
@@ -38,6 +38,10 @@ namespace pp {
|
||||
@ -306,39 +329,51 @@ index ac0b31a75c..5d1c421d03 100644
|
||||
@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits {
|
||||
int32_t ref_;
|
||||
};
|
||||
|
||||
|
||||
- typedef pp::Lock Lock;
|
||||
- typedef pp::AutoLock AutoLock;
|
||||
};
|
||||
|
||||
|
||||
/// The non-thread-safe version of thread traits. Using this class as the
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
index 0aad3ac782..7f7a1057d7 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
#define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <bitset>
|
||||
#include <string>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
|
||||
index a9b9e137de..562327f1c4 100644
|
||||
index c47536d63e..443f47afd0 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <cstring>
|
||||
#include <ostream>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
|
||||
index e9b79943dd..18428a5946 100644
|
||||
index e13aa2221d..0ce848486d 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
|
||||
@@ -7,7 +7,7 @@
|
||||
#define GLSLANG_SHADERLANG_H_
|
||||
|
||||
|
||||
#include <stddef.h>
|
||||
-
|
||||
+#include <cstdint>
|
||||
#include "KHR/khrplatform.h"
|
||||
|
||||
|
||||
#include <array>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
index a8f3bb28c6..bd9e105835 100644
|
||||
index 18175e15c7..28332857bc 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
@@ -14,6 +14,7 @@
|
||||
@ -346,21 +381,21 @@ index a8f3bb28c6..bd9e105835 100644
|
||||
#include <string>
|
||||
#include <vector>
|
||||
+#include <cstdint>
|
||||
|
||||
// This type is defined here to simplify ANGLE's integration with glslang for SPIRv.
|
||||
|
||||
// This type is defined here to simplify ANGLE's integration with glslang for SPIR-V.
|
||||
using ShCompileOptions = uint64_t;
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
|
||||
index d132a72e8c..f49ba32d49 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <climits>
|
||||
#include <cstdarg>
|
||||
#include <cstddef>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
|
||||
index c63049b174..82b27837b5 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_ORIGIN_TRIALS_ORIGIN_TRIAL_PUBLIC_KEY_H_
|
||||
|
||||
#include <array>
|
||||
+#include <cstdint>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
namespace blink {
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
|
||||
index 14c5548766..43c9a8d6a5 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
|
||||
@ -368,24 +403,130 @@ index 14c5548766..43c9a8d6a5 100644
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace blink {
|
||||
|
||||
|
||||
enum class DarkModeResult : uint8_t {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
|
||||
index 80b3150b67..6377196230 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
|
||||
@@ -116,7 +116,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
|
||||
|
||||
// An identifier for a document transition shared element. `id.valid()`
|
||||
// returns true if this has been set, and false otherwise.
|
||||
- DocumentTransitionSharedElementId document_transition_shared_element_id;
|
||||
+ cc::DocumentTransitionSharedElementId document_transition_shared_element_id;
|
||||
|
||||
// An identifier to tag shared element resources generated and cached in the
|
||||
// Viz process. This generated resource can be used as content for other
|
||||
@@ -285,7 +285,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
|
||||
return state_.compositor_element_id;
|
||||
}
|
||||
|
||||
- const blink::DocumentTransitionSharedElementId&
|
||||
+ const cc::DocumentTransitionSharedElementId&
|
||||
DocumentTransitionSharedElementId() const {
|
||||
return state_.document_transition_shared_element_id;
|
||||
}
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
|
||||
index c7e4f2b378..f30ce91b36 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
#include <string>
|
||||
+#include <cstdint>
|
||||
|
||||
|
||||
#include "client/linux/handler/microdump_extra_info.h"
|
||||
#include "common/using_std_string.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
|
||||
index 2d58d76cb6..139af564ea 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "dawn/common/TypedInteger.h"
|
||||
#include "dawn/common/ityp_array.h"
|
||||
|
||||
+#include <cstdint>
|
||||
#include <bitset>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
|
||||
index 374bd8302a..0884eb2a19 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
|
||||
#define SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
|
||||
index fa5fc3a7e9..6cec934670 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_SPIRV_NAMER_H_
|
||||
#define SRC_TINT_READER_SPIRV_NAMER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
|
||||
index f378d57817..98d1336f9a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_WGSL_LEXER_H_
|
||||
#define SRC_TINT_READER_WGSL_LEXER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "src/tint/reader/wgsl/token.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
|
||||
index 7b5b6754ed..62b1ca7e36 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_WGSL_TOKEN_H_
|
||||
#define SRC_TINT_READER_WGSL_TOKEN_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <variant> // NOLINT: cpplint doesn't recognise this
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
|
||||
index 4be648b37a..cac7238ef2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "src/tint/writer/spirv/instruction.h"
|
||||
|
||||
+#include <cstdint>
|
||||
#include <utility>
|
||||
|
||||
namespace tint::writer::spirv {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
|
||||
index 46a5deb55b..4c3080ff25 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_WRITER_SPIRV_OPERAND_H_
|
||||
#define SRC_TINT_WRITER_SPIRV_OPERAND_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
|
||||
index a3099e15db..2e6f0eea70 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
|
||||
@ -397,7 +538,7 @@ index a3099e15db..2e6f0eea70 100644
|
||||
+#include <cstdio>
|
||||
#include <new>
|
||||
#include <utility>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
|
||||
index d2731dac7a..46bc87ef92 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
|
||||
@ -405,45 +546,45 @@ index d2731dac7a..46bc87ef92 100644
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef CONSTANTS_ANNOTATION_FLAGS_H_
|
||||
#define CONSTANTS_ANNOTATION_FLAGS_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace pdfium {
|
||||
namespace annotation_flags {
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
|
||||
index 1b4c53815b..472042fabc 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
|
||||
|
||||
|
||||
#include <array>
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
#include "perfetto/ext/base/optional.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
|
||||
index dda2f85759..158b5e8baa 100644
|
||||
index c56f0344f9..cd7824929e 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
|
||||
@@ -21,6 +21,8 @@
|
||||
@@ -20,6 +20,8 @@
|
||||
#include "perfetto/ext/base/optional.h"
|
||||
#include "perfetto/trace_processor/status.h"
|
||||
#include "src/trace_processor/trace_blob_view.h"
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace perfetto {
|
||||
|
||||
|
||||
namespace protos {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
|
||||
index 7260365b2c..503ed08ff6 100644
|
||||
index 3164650728..512a26943d 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
|
||||
@@ -8,6 +8,10 @@
|
||||
|
||||
#include "include/utils/SkParse.h"
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
#include <algorithm> // std::lower_bound
|
||||
|
||||
+#include <string.h>
|
||||
+#include <algorithm>
|
||||
+#include <iterator>
|
||||
@ -451,65 +592,77 @@ index 7260365b2c..503ed08ff6 100644
|
||||
static constexpr const char* gColorNames[] = {
|
||||
"aliceblue",
|
||||
"antiquewhite",
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h
|
||||
index 917e369c6d..0795b1d683 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/src/vk_mem_alloc.h
|
||||
@@ -3844,6 +3844,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage(
|
||||
#ifdef VMA_IMPLEMENTATION
|
||||
#undef VMA_IMPLEMENTATION
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
|
||||
index b7c586b80e..19ccbb024a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
|
||||
@@ -146,6 +146,7 @@ available through VmaAllocatorCreateInfo::pRecordSettings.
|
||||
#endif // #if VMA_VULKAN_VERSION >= 1001000
|
||||
#endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
|
||||
|
||||
+#include <cstdio>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#ifndef VULKAN_H_
|
||||
#include <vulkan/vulkan.h>
|
||||
#endif
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
|
||||
index b89f154072..8ebf6a42c3 100644
|
||||
index 5fd37b4613..ce70405dd2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef CALL_RTP_DEMUXER_H_
|
||||
#define CALL_RTP_DEMUXER_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
|
||||
index b70ac4aa59..7ba5555647 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
#include <gio/gio.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace webrtc {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
|
||||
index 7a936f23e7..21951a1d24 100644
|
||||
index ca249541d0..534214dbfa 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
|
||||
@@ -12,6 +12,7 @@
|
||||
#ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
|
||||
#define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
|
||||
index 5e4f410d12..722e73d053 100644
|
||||
index 708d6c98ac..898016d886 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_BASE_IME_LINUX_LINUX_INPUT_METHOD_CONTEXT_H_
|
||||
#define UI_BASE_IME_LINUX_LINUX_INPUT_METHOD_CONTEXT_H_
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
+#include <cstdint>
|
||||
#include "base/component_export.h"
|
||||
#include "base/strings/string16.h"
|
||||
#include "ui/base/ime/text_input_type.h"
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
|
||||
index 668f07489e..8357414e83 100644
|
||||
index d97a696fd5..68b18d80cd 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
|
||||
#define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
|
||||
|
||||
#ifndef UI_EVENTS_GESTURE_EVENT_DETAILS_H_
|
||||
#define UI_EVENTS_GESTURE_EVENT_DETAILS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
#include "base/check_op.h"
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
|
||||
index 7ff15f0fc5..136cebc09e 100644
|
||||
@ -518,52 +671,48 @@ index 7ff15f0fc5..136cebc09e 100644
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
|
||||
#define UI_EVENTS_TYPES_SCROLL_TYPES_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace ui {
|
||||
|
||||
|
||||
enum class ScrollGranularity : uint8_t {
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
|
||||
index 1ad025fec1..adadf96190 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_GFX_LINEAR_GRADIENT_H_
|
||||
#define UI_GFX_LINEAR_GRADIENT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <array>
|
||||
#include <string>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
|
||||
index fe39f98822..dbe130581c 100644
|
||||
index fdac44e31e..a752dba6a2 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef V8_BASE_LOGGING_H_
|
||||
#define V8_BASE_LOGGING_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
|
||||
index 9079d15662..770f2c8b6e 100644
|
||||
index 61644ffe05..6fbc037437 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef V8_BASE_MACROS_H_
|
||||
#define V8_BASE_MACROS_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <limits>
|
||||
#include <type_traits>
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h b/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h
|
||||
index 03af2cc5e2..07774cd611 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h
|
||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/codegen/code-stub-assembler.h
|
||||
@@ -15,8 +15,11 @@
|
||||
#include "src/compiler/code-assembler.h"
|
||||
#include "src/objects/arguments.h"
|
||||
#include "src/objects/bigint.h"
|
||||
+#include "src/objects/cell.h"
|
||||
#include "src/objects/feedback-vector.h"
|
||||
#include "src/objects/js-function.h"
|
||||
+#include "src/objects/js-generator.h"
|
||||
+#include "src/objects/js-promise.h"
|
||||
#include "src/objects/objects.h"
|
||||
#include "src/objects/promise.h"
|
||||
#include "src/objects/shared-function-info.h"
|
||||
|
||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
|
||||
index c1d69c18f0..eb33c6816a 100644
|
||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
|
||||
@ -571,21 +720,21 @@ index c1d69c18f0..eb33c6816a 100644
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
|
||||
#define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
// Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
|
||||
diff --git a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
|
||||
index a10409f397..b9f5e59d8a 100644
|
||||
index 4e690ffb19..dfa884cd65 100644
|
||||
--- a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
|
||||
+++ b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "content/public/browser/browsing_data_remover_delegate.h"
|
||||
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace QtWebEngineCore {
|
||||
|
||||
|
||||
class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {
|
||||
@ -1,59 +0,0 @@
|
||||
Subject: [PATCH] Fix fatal error in getCurrentKeyboardLayout()
|
||||
|
||||
FATAL:xkb_keyboard_layout_engine.cc(640)] Keymap file failed to load: dk(polytonic)
|
||||
|
||||
Remove unnecessary tokenization of XKB layout.
|
||||
Parsing of layout configuration is already handled by
|
||||
XkbKeyboardLayoutEngine::ParseLayoutName().
|
||||
|
||||
Fixes: QTBUG-101201
|
||||
Task-number: QTBUG-92971
|
||||
Pick-to: 6.2 6.3
|
||||
Change-Id: Ia4f09ed99eb82064a3b12e14eda69a6e0e12b0dd
|
||||
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
---
|
||||
.../src/core/ozone/ozone_platform_qt.cpp | 24 ++++---------------
|
||||
1 file changed, 5 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/qtwebengine/src/core/ozone/ozone_platform_qt.cpp b/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
|
||||
index 33d7bd992b..543e4bd371 100644
|
||||
--- a/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
|
||||
+++ b/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
|
||||
@@ -184,29 +184,15 @@ static std::string getCurrentKeyboardLayout()
|
||||
if (XkbRF_GetNamesProp(dpy, nullptr, &vdr) == 0)
|
||||
return std::string();
|
||||
|
||||
- char *layout = strtok(vdr.layout, ",");
|
||||
- for (int i = 0; i < state.group; i++) {
|
||||
- layout = strtok(nullptr, ",");
|
||||
- if (layout == nullptr)
|
||||
- return std::string();
|
||||
- }
|
||||
+ if (!vdr.layout)
|
||||
+ return std::string();
|
||||
|
||||
if (!vdr.variant)
|
||||
- return layout;
|
||||
-
|
||||
- char *variant = strtok(vdr.variant, ",");
|
||||
- if (!variant)
|
||||
- return layout;
|
||||
-
|
||||
- for (int i = 0; i < state.group; i++) {
|
||||
- variant = strtok(nullptr, ",");
|
||||
- if (variant == nullptr)
|
||||
- return layout;
|
||||
- }
|
||||
+ return std::string(vdr.layout);
|
||||
|
||||
- std::string layoutWithVariant = layout;
|
||||
+ std::string layoutWithVariant = vdr.layout;
|
||||
layoutWithVariant = layoutWithVariant.append("-");
|
||||
- layoutWithVariant = layoutWithVariant.append(variant);
|
||||
+ layoutWithVariant = layoutWithVariant.append(vdr.variant);
|
||||
return layoutWithVariant;
|
||||
}
|
||||
#endif // BUILDFLAG(USE_XKBCOMMON)
|
||||
--
|
||||
2.35.3
|
||||
@ -0,0 +1,52 @@
|
||||
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
|
||||
Date: Mon, 29 May 2023 13:09:53 -0400
|
||||
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
|
||||
|
||||
Using O_PATH requires correctly specifying whether the fd is writable or
|
||||
not. Stating that the fd is writable without it actually being writable
|
||||
results into rejection on xdg-desktop-portal side. Other implementations
|
||||
like xdg-open or gtk have also moved away from O_PATH fds so this will
|
||||
make a matching implementation and avoid possible rejections from xdp.
|
||||
|
||||
Fixes: QTBUG-113143
|
||||
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
|
||||
---
|
||||
qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
|
||||
index a0e5466c58..fe0fdaa625 100644
|
||||
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
|
||||
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
|
||||
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
|
||||
// handle_token (s) - A string that will be used as the last element of the @handle.
|
||||
// writable (b) - Whether to allow the chosen application to write to the file.
|
||||
|
||||
-#ifdef O_PATH
|
||||
- const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
|
||||
+ const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
|
||||
if (fd != -1) {
|
||||
QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
|
||||
"/org/freedesktop/portal/desktop"_L1,
|
||||
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
|
||||
QDBusUnixFileDescriptor descriptor;
|
||||
descriptor.giveFileDescriptor(fd);
|
||||
|
||||
- const QVariantMap options = {{"writable"_L1, true}};
|
||||
+ const QVariantMap options = {};
|
||||
|
||||
// FIXME parent_window_id
|
||||
message << QString() << QVariant::fromValue(descriptor) << options;
|
||||
|
||||
return QDBusConnection::sessionBus().call(message);
|
||||
}
|
||||
-#else
|
||||
- Q_UNUSED(url);
|
||||
-#endif
|
||||
|
||||
return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
|
||||
}
|
||||
--
|
||||
2.40.1
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
From 517d0890f9e95c841bea3421f2455651ca0d8070 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Edelev <alexey.edelev@qt.io>
|
||||
Date: Wed, 23 Nov 2022 12:40:45 +0100
|
||||
Subject: [PATCH] Fix Linux build with CMake versions >= 3.25
|
||||
|
||||
The 'LINUX' variable exists in CMake since the version 3.25. This
|
||||
variable previously was undefined while preparsing the configure.cmake
|
||||
files. Since the CMake script that defines the 'check_for_ulimit'
|
||||
function is not included while evaluating configure.cmake first time
|
||||
we need to add a stub.
|
||||
|
||||
Change-Id: I25bdec4f4a1b6af23174507a8f0f9cbf01f0c398
|
||||
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
||||
(cherry picked from commit 240e71877865ed07e4c8d5bd4553aa0772c2adf4)
|
||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
||||
---
|
||||
|
||||
qtwebengine/configure.cmake | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/qtwebengine/configure.cmake b/qtwebengine/configure.cmake
|
||||
index 015bcd1..d8e7fea 100644
|
||||
--- a/qtwebengine/configure.cmake
|
||||
+++ b/qtwebengine/configure.cmake
|
||||
@@ -4,6 +4,8 @@ if(QT_CONFIGURE_RUNNING)
|
||||
endfunction()
|
||||
function(add_check_for_support)
|
||||
endfunction()
|
||||
+ function(check_for_ulimit)
|
||||
+ endfunction()
|
||||
else()
|
||||
find_package(Ninja 1.7.2)
|
||||
find_package(Gn ${QT_REPO_MODULE_VERSION} EXACT)
|
||||
@ -309,7 +309,6 @@ parts:
|
||||
- libjsoncpp-dev
|
||||
- libnm-dev # connectivityChanged()
|
||||
- libdbus-1-dev # dbus
|
||||
- libdbus-c++-dev
|
||||
- libpulse-dev # pulse
|
||||
- libudev-dev
|
||||
- libopus-dev # Avoid to build opus from contrib
|
||||
|
||||
@ -44,9 +44,9 @@ LD_LIBRARY_PATH="${QT_JAMI_PREFIX}/lib:${LD_LIBRARY_PATH}"
|
||||
PKG_CONFIG_PATH="${QT_JAMI_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}"
|
||||
CMAKE_PREFIX_PATH="${QT_JAMI_PREFIX}/lib/cmake:${CMAKE_PREFIX_PATH}"
|
||||
QT_MAJOR=6
|
||||
QT_MINOR=2
|
||||
QT_MINOR=4
|
||||
QT_PATCH=3
|
||||
QT_RELEASE_PATCH=5
|
||||
QT_RELEASE_PATCH=2
|
||||
|
||||
QT_MAJOR_MINOR=${QT_MAJOR}.${QT_MINOR}
|
||||
QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
|
||||
@ -54,7 +54,7 @@ QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
|
||||
QT_TARBALL_URL=https://download.qt.io/archive/qt/$QT_MAJOR_MINOR/\
|
||||
$QT_MAJOR_MINOR_PATCH/single/qt-everywhere-src-$QT_MAJOR_MINOR_PATCH.tar.xz
|
||||
|
||||
QT_TARBALL_SHA256="f784998a159334d1f47617fd51bd0619b9dbfe445184567d2cd7c820ccb12771"
|
||||
QT_TARBALL_SHA256="29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4"
|
||||
QT_TARBALL_FILE_NAME=$(basename "$QT_TARBALL_URL")
|
||||
CACHED_QT_TARBALL=$TARBALLS/$QT_TARBALL_FILE_NAME
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
Build, test, and package the project.
|
||||
|
||||
@ -27,7 +28,7 @@ mutually exclusive required arguments:
|
||||
-z, --zip Build portable archive
|
||||
|
||||
examples:
|
||||
1. build.py --qt=C:/Qt/6.2.3/msvc2019_64 # Build the app using a specific Qt
|
||||
1. build.py --qt=C:/Qt/6.4.3/msvc2019_64 # Build the app using a specific Qt
|
||||
2. build.py --init pack --msi # Build the app and an MSI installer
|
||||
3. build.py --init --tests # Build the app and run tests
|
||||
build.py pack --zip --skip-build # Generate a 7z archive of the app
|
||||
@ -293,11 +294,11 @@ def build(config_str, qt_dir, tests):
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def deploy_runtimes(qt_dir):
|
||||
def deploy_runtimes(config_str, qt_dir):
|
||||
"""Deploy the dependencies to the runtime directory."""
|
||||
print("Deploying runtime dependencies")
|
||||
|
||||
runtime_dir = os.path.join(repo_root_dir, "x64", "Release")
|
||||
runtime_dir = os.path.join(repo_root_dir, "x64", config_str)
|
||||
stamp_file = os.path.join(runtime_dir, ".deploy.stamp")
|
||||
if os.path.exists(stamp_file):
|
||||
return
|
||||
@ -340,8 +341,12 @@ def deploy_runtimes(qt_dir):
|
||||
print("Running windeployqt (this may take a while)...")
|
||||
win_deploy_qt = os.path.join(qt_dir, "bin", "windeployqt.exe")
|
||||
qml_src_dir = os.path.join(repo_root_dir, "src", "app")
|
||||
os.environ["VCINSTALLDIR"] = os.path.join(
|
||||
get_vs_prop("installationPath"), "VC")
|
||||
installation_dir = get_vs_prop("installationPath")
|
||||
if not installation_dir:
|
||||
print("Visual Studio not found. Please install Visual Studio 2017 or "
|
||||
"later.")
|
||||
sys.exit(1)
|
||||
os.environ["VCINSTALLDIR"] = os.path.join(installation_dir, "VC")
|
||||
executable = os.path.join(runtime_dir, "Jami.exe")
|
||||
execute_cmd([win_deploy_qt, "--verbose", "1", "--no-compiler-runtime",
|
||||
"--qmldir", qml_src_dir, "--release", executable],
|
||||
@ -371,11 +376,19 @@ def run_tests(config_str, qt_dir):
|
||||
qt_dir, 'bin', 'QtWebEngineProcess.exe')
|
||||
os.environ["QML2_IMPORT_PATH"] = os.path.join(qt_dir, "qml")
|
||||
|
||||
cmd = ["ctest", "-V", "-C", config_str]
|
||||
# On Windows, when running on a jenkins slave, the QML tests don't output
|
||||
# anything to stdout/stderr. Workaround by outputting to a file and then
|
||||
# printing the contents of the file.
|
||||
if os.environ.get("JENKINS_URL"):
|
||||
cmd += ["--output-log", "test.log", "--quiet"]
|
||||
tests_dir = os.path.join(build_dir, "tests")
|
||||
if execute_cmd(["ctest", "-V", "-C", config_str],
|
||||
False, None, tests_dir):
|
||||
print("Tests failed.")
|
||||
sys.exit(1)
|
||||
exit_code = execute_cmd(cmd, False, None, tests_dir)
|
||||
# Print the contents of the log file.
|
||||
if os.environ.get("JENKINS_URL"):
|
||||
with open(os.path.join(tests_dir, "test.log"), "r") as file:
|
||||
print(file.read())
|
||||
sys.exit(exit_code)
|
||||
|
||||
|
||||
def generate_msi(version):
|
||||
@ -483,7 +496,11 @@ def main():
|
||||
print("These scripts will only run on a 64-bit system for now.")
|
||||
sys.exit(1)
|
||||
if sys.platform == "win32":
|
||||
vs_version = get_vs_prop("installationVersion").split(".")[0]
|
||||
vs_version = get_vs_prop("installationVersion")
|
||||
if vs_version is None:
|
||||
print("Visual Studio version not found.")
|
||||
sys.exit(1)
|
||||
vs_version = vs_version.split(".")[0]
|
||||
if vs_version is None or int(vs_version) < 15:
|
||||
print("Visual Studio 2017 or later is required.")
|
||||
sys.exit(1)
|
||||
@ -516,7 +533,7 @@ def main():
|
||||
if not parsed_args.skip_build:
|
||||
build(config_str, parsed_args.qt, do_tests)
|
||||
if not parsed_args.skip_deploy:
|
||||
deploy_runtimes(parsed_args.qt)
|
||||
deploy_runtimes(config_str, parsed_args.qt)
|
||||
|
||||
if parsed_args.subcommand == "pack":
|
||||
do_build(False)
|
||||
|
||||
@ -52,7 +52,7 @@ for ARCH in "${ARCHS[@]}"; do
|
||||
# force to build every contrib
|
||||
for dir in "$DAEMON"/contrib/src/*/; do
|
||||
PKG=$(basename -- "$dir")
|
||||
if [ "$PKG" != "dbus-cpp" ] && [ "$PKG" != "natpmp" ] &&
|
||||
if [ "$PKG" != "sdbus-cpp" ] && [ "$PKG" != "natpmp" ] &&
|
||||
[ "$PKG" != "portaudio" ] && [ "$PKG" != "pthreads" ] &&
|
||||
[ "$PKG" != "lttng-ust" ] && [ "$PKG" != "openssl" ] &&
|
||||
[ "$PKG" != "media-sdk" ] && [ "$PKG" != "jack" ] &&
|
||||
|
||||
@ -33,7 +33,7 @@ export OSTYPE
|
||||
set -ex
|
||||
|
||||
# Qt_MIN_VER required for client-qt
|
||||
QT_MIN_VER="6.2"
|
||||
QT_MIN_VER="6.4"
|
||||
|
||||
debug=
|
||||
global=false
|
||||
|
||||
1
resources/icons/Horizontal_view.svg
Normal file
1
resources/icons/Horizontal_view.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="31.53" height="24.001" viewBox="0 0 31.53 24.001"><defs><style>.a,.c{fill:none;}.a{stroke:#005699;stroke-width:1.5px;}.b{stroke:none;}</style></defs><g transform="translate(1122.53 -712) rotate(90)"><g class="a" transform="translate(712 1122.53) rotate(-90)"><rect class="b" width="31.53" height="15.334"/><rect class="c" x="0.75" y="0.75" width="30.03" height="13.834"/></g><g class="a" transform="translate(726.667 1122.53) rotate(-90)"><rect class="b" width="31.53" height="9.333"/><rect class="c" x="0.75" y="0.75" width="30.03" height="7.833"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 610 B |
1
resources/icons/Vertical_view.svg
Normal file
1
resources/icons/Vertical_view.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="31.333" height="24" viewBox="0 0 31.333 24"><defs><style>.a,.c{fill:none;}.a{stroke:#005699;stroke-width:1.5px;}.b{stroke:none;}</style></defs><g transform="translate(-712 -1091)"><g class="a" transform="translate(712 1115) rotate(-90)"><rect class="b" width="24" height="22.667"/><rect class="c" x="0.75" y="0.75" width="22.5" height="21.167"/></g><g class="a" transform="translate(734 1115) rotate(-90)"><rect class="b" width="24" height="9.333"/><rect class="c" x="0.75" y="0.75" width="22.5" height="7.833"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 573 B |
@ -1,100 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2021 SoapBox Innovations Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
var linkifyStr = (function (linkifyjs) {
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
Convert strings of text into linkable HTML text
|
||||
*/
|
||||
|
||||
function escapeText(text) {
|
||||
return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
||||
}
|
||||
|
||||
function escapeAttr(href) {
|
||||
return href.replace(/"/g, '"');
|
||||
}
|
||||
|
||||
function attributesToString(attributes) {
|
||||
var result = [];
|
||||
|
||||
for (var attr in attributes) {
|
||||
var val = attributes[attr] + '';
|
||||
result.push(attr + "=\"" + escapeAttr(val) + "\"");
|
||||
}
|
||||
|
||||
return result.join(' ');
|
||||
}
|
||||
|
||||
function defaultRender(_ref) {
|
||||
var tagName = _ref.tagName,
|
||||
attributes = _ref.attributes,
|
||||
content = _ref.content;
|
||||
return "<" + tagName + " " + attributesToString(attributes) + ">" + escapeText(content) + "</" + tagName + ">";
|
||||
}
|
||||
/**
|
||||
* Convert a plan text string to an HTML string with links. Expects that the
|
||||
* given strings does not contain any HTML entities. Use the linkify-html
|
||||
* interface if you need to parse HTML entities.
|
||||
*
|
||||
* @param {string} str string to linkify
|
||||
* @param {import('linkifyjs').Opts} [opts] overridable options
|
||||
* @returns {string}
|
||||
*/
|
||||
|
||||
|
||||
function linkifyStr(str, opts) {
|
||||
if (opts === void 0) {
|
||||
opts = {};
|
||||
}
|
||||
|
||||
opts = new linkifyjs.Options(opts, defaultRender);
|
||||
var tokens = linkifyjs.tokenize(str);
|
||||
var result = [];
|
||||
|
||||
for (var i = 0; i < tokens.length; i++) {
|
||||
var token = tokens[i];
|
||||
|
||||
if (token.t === 'nl' && opts.get('nl2br')) {
|
||||
result.push('<br>\n');
|
||||
} else if (!token.isLink || !opts.check(token)) {
|
||||
result.push(escapeText(token.toString()));
|
||||
} else {
|
||||
result.push(opts.render(token));
|
||||
}
|
||||
}
|
||||
|
||||
return result.join('');
|
||||
}
|
||||
|
||||
if (!String.prototype.linkify) {
|
||||
Object.defineProperty(String.prototype, 'linkify', {
|
||||
writable: false,
|
||||
value: function linkify(options) {
|
||||
return linkifyStr(this, options);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return linkifyStr;
|
||||
|
||||
})(linkify);
|
||||
File diff suppressed because one or more lines are too long
@ -1,126 +0,0 @@
|
||||
/* MIT License
|
||||
|
||||
Copyright (c) 2019 Andrej Gajdos
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.*/
|
||||
|
||||
/**
|
||||
* Retrieves the title of a webpage which is used to fill out the preview of a hyperlink
|
||||
* @param doc the DOM of the url that is being previewed
|
||||
* @returns the title of the given webpage
|
||||
*/
|
||||
|
||||
function getTitle(doc){
|
||||
const og_title = doc.querySelector('meta[property="og:title"]')
|
||||
if (og_title !== null && og_title.content.length > 0) {
|
||||
return og_title.content
|
||||
}
|
||||
const twitter_title = doc.querySelector('meta[name="twitter:title"]')
|
||||
if (twitter_title !== null && twitter_title.content.length > 0) {
|
||||
return twitter_title.content
|
||||
}
|
||||
const doc_title = doc.title
|
||||
if (doc_title !== null && doc_title.length > 0) {
|
||||
return doc_title
|
||||
}
|
||||
if (doc.querySelector("h1") !== null){
|
||||
const header_1 = doc.querySelector("h1").innerHTML
|
||||
if (header_1 !== null && header_1.length > 0) {
|
||||
return header_1
|
||||
}
|
||||
}
|
||||
if (doc.querySelector("h2") !== null){
|
||||
const header_2 = doc.querySelector("h2").innerHTML
|
||||
if (header_2 !== null && header_2.length > 0) {
|
||||
return header_2
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains a description of the webpage for the hyperlink preview
|
||||
* @param doc the DOM of the url that is being previewed
|
||||
* @returns a description of the webpage
|
||||
*/
|
||||
function getDescription(doc){
|
||||
const og_description = doc.querySelector('meta[property="og:description"]')
|
||||
if (og_description !== null && og_description.content.length > 0) {
|
||||
return og_description.content
|
||||
}
|
||||
const twitter_description = doc.querySelector('meta[name="twitter:description"]')
|
||||
if (twitter_description !== null && twitter_description.content.length > 0) {
|
||||
return twitter_description.content
|
||||
}
|
||||
const meta_description = doc.querySelector('meta[name="description"]')
|
||||
if (meta_description !== null && meta_description.content.length > 0) {
|
||||
return meta_description.content
|
||||
}
|
||||
var all_paragraphs = doc.querySelectorAll("p")
|
||||
let first_visible_paragraph = null
|
||||
for (var i = 0; i < all_paragraphs.length; i++) {
|
||||
if (all_paragraphs[i].offsetParent !== null &&
|
||||
!all_paragraphs[i].childElementCount !== 0) {
|
||||
first_visible_paragraph = all_paragraphs[i].textContent
|
||||
break
|
||||
}
|
||||
}
|
||||
return first_visible_paragraph
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the image that represents a webpage.
|
||||
* @param doc the DOM of the url that is being previewed
|
||||
* @returns the image representing the url or null if no such image was found
|
||||
*/
|
||||
function getImage(doc) {
|
||||
const og_image = doc.querySelector('meta[property="og:image"]')
|
||||
if (og_image !== null && og_image.content.length > 0){
|
||||
return og_image.content
|
||||
}
|
||||
const image_rel_link = doc.querySelector('link[rel="image_src"]')
|
||||
if (image_rel_link !== null && image_rel_link.href.length > 0){
|
||||
return image_rel_link.href
|
||||
}
|
||||
const twitter_img = doc.querySelector('meta[name="twitter:image"]')
|
||||
if (twitter_img !== null && twitter_img.content.length > 0) {
|
||||
return twitter_img.content
|
||||
}
|
||||
|
||||
let imgs = Array.from(doc.getElementsByTagName("img"))
|
||||
if (imgs.length > 0) {
|
||||
imgs = imgs.filter(img => {
|
||||
let add_image = true
|
||||
if (img.naturalWidth > img.naturalHeight) {
|
||||
if (img.naturalWidth / img.naturalHeight > 3) {
|
||||
add_image = false
|
||||
}
|
||||
} else {
|
||||
if (img.naturalHeight / img.naturalWidth > 3) {
|
||||
add_image = false
|
||||
}
|
||||
}
|
||||
if (img.naturalHeight <= 50 || img.naturalWidth <= 50) {
|
||||
add_image = false
|
||||
}
|
||||
return add_image
|
||||
})
|
||||
}
|
||||
return null
|
||||
}
|
||||
@ -1,93 +0,0 @@
|
||||
_ = new QWebChannel(qt.webChannelTransport, function (channel) {
|
||||
window.jsbridge = channel.objects.jsbridge
|
||||
})
|
||||
|
||||
function log(msg) {
|
||||
window.jsbridge.log(msg)
|
||||
}
|
||||
|
||||
function getPreviewInfo(messageId, url) {
|
||||
var title = null
|
||||
var description = null
|
||||
var image = null
|
||||
var u = new URL(url)
|
||||
if (u.protocol === '') {
|
||||
url = "https://".concat(url)
|
||||
}
|
||||
var domain = (new URL(url))
|
||||
fetch(url, {
|
||||
mode: 'no-cors',
|
||||
headers: {'Set-Cookie': 'SameSite=None; Secure'}
|
||||
}).then(function (response) {
|
||||
const contentType = response.headers.get('content-type');
|
||||
if (!contentType || !contentType.includes('text/html')) {
|
||||
return
|
||||
}
|
||||
return response.body
|
||||
}).then(body => {
|
||||
const reader = body.getReader();
|
||||
|
||||
return new ReadableStream({
|
||||
start(controller) {
|
||||
return pump();
|
||||
|
||||
function pump() {
|
||||
return reader.read().then(({ done, value }) => {
|
||||
// When no more data needs to be consumed, close the stream
|
||||
if (done) {
|
||||
controller.close();
|
||||
return;
|
||||
}
|
||||
if(value.byteLength > 2*1024*1024) {
|
||||
controller.close();
|
||||
return;
|
||||
}
|
||||
|
||||
// Enqueue the next data chunk into our target stream
|
||||
controller.enqueue(value);
|
||||
return pump();
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}, e => Promise.reject(e))
|
||||
.then(stream => new Response(stream))
|
||||
.then(response => response.text())
|
||||
.then(function (html) {
|
||||
// create DOM from html string
|
||||
var parser = new DOMParser()
|
||||
var doc = parser.parseFromString(html, "text/html")
|
||||
if (!url.includes("twitter.com")){
|
||||
title = getTitle(doc)
|
||||
} else {
|
||||
title = "Twitter. It's what's happening."
|
||||
}
|
||||
image = getImage(doc, url)
|
||||
description = getDescription(doc)
|
||||
domain = (domain.hostname).replace("www.", "")
|
||||
}).catch(function (err) {
|
||||
log("Error occured while fetching document: " + err)
|
||||
}).finally(() => {
|
||||
window.jsbridge.emitInfoReady(messageId, {
|
||||
'title': title,
|
||||
'image': image,
|
||||
'description': description,
|
||||
'url': url,
|
||||
'domain': domain,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function parseMessage(messageId, message, showPreview, color='#0645AD') {
|
||||
var links = linkify.find(message)
|
||||
if (links.length === 0) {
|
||||
return
|
||||
}
|
||||
if (showPreview)
|
||||
getPreviewInfo(messageId, links[0].href)
|
||||
window.jsbridge.emitLinkified(messageId, linkifyStr(message, {
|
||||
attributes: {
|
||||
style: "color:" + color + ";"
|
||||
}
|
||||
}))
|
||||
}
|
||||
@ -37,6 +37,11 @@ import "commoncomponents"
|
||||
ApplicationWindow {
|
||||
id: root
|
||||
|
||||
property bool isRTL: UtilsAdapter.isRTL
|
||||
|
||||
LayoutMirroring.enabled: isRTL
|
||||
LayoutMirroring.childrenInherit: isRTL
|
||||
|
||||
enum LoadedSource {
|
||||
WizardView,
|
||||
MainView,
|
||||
@ -324,15 +329,15 @@ ApplicationWindow {
|
||||
function onUpdateErrorOccurred(error) {
|
||||
presentUpdateInfoDialog((function () {
|
||||
switch (error) {
|
||||
case NetWorkManager.ACCESS_DENIED:
|
||||
case NetworkManager.ACCESS_DENIED:
|
||||
return JamiStrings.genericError;
|
||||
case NetWorkManager.DISCONNECTED:
|
||||
case NetworkManager.DISCONNECTED:
|
||||
return JamiStrings.networkDisconnected;
|
||||
case NetWorkManager.NETWORK_ERROR:
|
||||
case NetworkManager.NETWORK_ERROR:
|
||||
return JamiStrings.updateNetworkError;
|
||||
case NetWorkManager.SSL_ERROR:
|
||||
case NetworkManager.SSL_ERROR:
|
||||
return JamiStrings.updateSSLError;
|
||||
case NetWorkManager.CANCELED:
|
||||
case NetworkManager.CANCELED:
|
||||
return JamiStrings.updateDownloadCanceled;
|
||||
default:
|
||||
return {};
|
||||
|
||||
@ -26,13 +26,13 @@ QtObject {
|
||||
|
||||
// The number of views loaded (`views` is only resized).
|
||||
function viewCount() {
|
||||
return Object.keys(views).length;
|
||||
return Object.keys(views).length
|
||||
}
|
||||
|
||||
// Destroy all views.
|
||||
function destroyAllViews() {
|
||||
for (var path in views) {
|
||||
destroyView(path);
|
||||
destroyView(path)
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,50 +40,50 @@ QtObject {
|
||||
if (views.hasOwnProperty(path)) {
|
||||
// an instance of <path> already exists
|
||||
if (cb !== null) {
|
||||
cb(views[path]);
|
||||
cb(views[path])
|
||||
}
|
||||
return views[path];
|
||||
return views[path]
|
||||
}
|
||||
const component = Qt.createComponent(Qt.resolvedUrl(path));
|
||||
const component = Qt.createComponent(Qt.resolvedUrl(path))
|
||||
if (component.status === Component.Ready) {
|
||||
const obj = component.createObject(parent, props);
|
||||
const obj = component.createObject(parent, props)
|
||||
if (obj === null) {
|
||||
print("error creating object");
|
||||
return null;
|
||||
print("error creating object")
|
||||
return null
|
||||
}
|
||||
views[path] = obj;
|
||||
views[path] = obj
|
||||
// Set the view name to the object name if it has one.
|
||||
const viewName = obj.objectName.toString() !== '' ? obj.objectName : path.replace(/^.*[\\\/]/, '').replace(/\.[^/.]+$/, "");
|
||||
viewPaths[viewName] = path;
|
||||
const viewName = obj.objectName.toString() !== '' ? obj.objectName : path.replace(/^.*[\\\/]/, '').replace(/\.[^/.]+$/, "")
|
||||
viewPaths[viewName] = path
|
||||
if (cb !== null) {
|
||||
cb(obj);
|
||||
cb(obj)
|
||||
}
|
||||
return views[path];
|
||||
return views[path]
|
||||
}
|
||||
print("error creating component", path);
|
||||
console.error(component.errorString());
|
||||
Qt.exit(1);
|
||||
return null;
|
||||
print("error creating component", path)
|
||||
console.error(component.errorString())
|
||||
Qt.exit(1)
|
||||
return null
|
||||
}
|
||||
|
||||
function destroyView(path) {
|
||||
// The view may already have been destroyed.
|
||||
if (!views.hasOwnProperty(path)) {
|
||||
return false;
|
||||
return false
|
||||
}
|
||||
views[path].destroy();
|
||||
delete views[path];
|
||||
views[path].destroy()
|
||||
delete views[path]
|
||||
// Remove the view name from the viewPaths map.
|
||||
for (var viewName in viewPaths) {
|
||||
if (viewPaths[viewName] === path) {
|
||||
delete viewPaths[viewName];
|
||||
break;
|
||||
delete viewPaths[viewName]
|
||||
break
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return true
|
||||
}
|
||||
|
||||
function getView(viewName) {
|
||||
return views[viewPaths[viewName]] || null;
|
||||
return views[viewPaths[viewName]] || null
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ extern const QString defaultDownloadPath;
|
||||
|
||||
// clang-format off
|
||||
#define KEYS \
|
||||
X(MinimizeOnClose, true) \
|
||||
X(MinimizeOnClose, false) \
|
||||
X(DownloadPath, defaultDownloadPath) \
|
||||
X(ScreenshotPath, {}) \
|
||||
X(EnableNotifications, true) \
|
||||
|
||||
@ -53,7 +53,7 @@ AudioDeviceModel::data(const QModelIndex& index, int role) const
|
||||
case Qt::DisplayRole:
|
||||
case Role::DeviceName: {
|
||||
auto deviceName = devices_.at(index.row());
|
||||
QRegularExpression re("{{(.*?)}}");
|
||||
const static QRegularExpression re("{{(.*?)}}");
|
||||
QRegularExpressionMatch match = re.match(deviceName);
|
||||
if (match.hasMatch() && re.captureCount() > 0) {
|
||||
deviceName.replace(match.captured(0), QObject::tr(match.captured(1).toUtf8()));
|
||||
|
||||
@ -177,7 +177,7 @@ AvAdapter::captureAllScreens()
|
||||
QPainter painter(&final);
|
||||
final.fill(Qt::black);
|
||||
|
||||
for (auto scr : scrs) {
|
||||
for (const auto& scr : scrs) {
|
||||
painter.drawPixmap(currentPoint, 0, scr.width(), scr.height(), scr);
|
||||
currentPoint += scr.width();
|
||||
}
|
||||
@ -208,7 +208,7 @@ AvAdapter::shareScreenArea(unsigned x, unsigned y, unsigned width, unsigned heig
|
||||
// xrectsel will freeze all displays too fast so that the call
|
||||
// context menu will not be closed even closed signal is emitted
|
||||
// use timer to wait until popup is closed
|
||||
QTimer::singleShot(100, [=]() mutable {
|
||||
QTimer::singleShot(100, this, [=]() mutable {
|
||||
x = y = width = height = 0;
|
||||
xrectsel(&x, &y, &width, &height);
|
||||
auto resource = lrcInstance_->getCurrentCallModel()->getDisplay(getScreenNumber(),
|
||||
@ -296,16 +296,18 @@ AvAdapter::stopSharing(const QString& source)
|
||||
if (!source.isEmpty() && !callId.isEmpty()) {
|
||||
if (source.startsWith(libjami::Media::VideoProtocolPrefix::DISPLAY)) {
|
||||
qDebug() << "Stopping display: " << source;
|
||||
lrcInstance_->getCurrentCallModel()->removeMedia(callId,
|
||||
libjami::Media::Details::MEDIA_TYPE_VIDEO,
|
||||
libjami::Media::VideoProtocolPrefix::DISPLAY,
|
||||
muteCamera_);
|
||||
lrcInstance_->getCurrentCallModel()
|
||||
->removeMedia(callId,
|
||||
libjami::Media::Details::MEDIA_TYPE_VIDEO,
|
||||
libjami::Media::VideoProtocolPrefix::DISPLAY,
|
||||
muteCamera_);
|
||||
} else {
|
||||
qDebug() << "Stopping file: " << source;
|
||||
lrcInstance_->getCurrentCallModel()->removeMedia(callId,
|
||||
libjami::Media::Details::MEDIA_TYPE_VIDEO,
|
||||
libjami::Media::VideoProtocolPrefix::FILE,
|
||||
muteCamera_);
|
||||
lrcInstance_->getCurrentCallModel()
|
||||
->removeMedia(callId,
|
||||
libjami::Media::Details::MEDIA_TYPE_VIDEO,
|
||||
libjami::Media::VideoProtocolPrefix::FILE,
|
||||
muteCamera_);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,33 +26,12 @@ BannedListModel::BannedListModel(QObject* parent)
|
||||
|
||||
{
|
||||
connect(this, &BannedListModel::lrcInstanceChanged, [this]() {
|
||||
if (lrcInstance_ && lrcInstance_->getCurrentContactModel()) {
|
||||
connect(
|
||||
lrcInstance_->getCurrentContactModel(),
|
||||
&ContactModel::bannedStatusChanged,
|
||||
// Listen for account change and reconnect to the new account contact model.
|
||||
connect(lrcInstance_,
|
||||
&LRCInstance::currentAccountIdChanged,
|
||||
this,
|
||||
[&](const QString& uri, bool banned) {
|
||||
if (banned) {
|
||||
beginInsertRows(QModelIndex(), rowCount(), rowCount());
|
||||
bannedlist_.append(uri);
|
||||
endInsertRows();
|
||||
set_count(rowCount());
|
||||
} else {
|
||||
auto it = std::find_if(bannedlist_.begin(),
|
||||
bannedlist_.end(),
|
||||
[&uri](const auto& c) { return uri == c; });
|
||||
if (it != bannedlist_.end()) {
|
||||
auto elementIndex = std::distance(bannedlist_.begin(), it);
|
||||
beginRemoveRows(QModelIndex(), elementIndex, elementIndex);
|
||||
bannedlist_.remove(elementIndex);
|
||||
endRemoveRows();
|
||||
set_count(rowCount());
|
||||
}
|
||||
}
|
||||
},
|
||||
Qt::UniqueConnection);
|
||||
}
|
||||
reset();
|
||||
&BannedListModel::setupForAccount);
|
||||
setupForAccount();
|
||||
});
|
||||
}
|
||||
|
||||
@ -66,16 +45,6 @@ BannedListModel::rowCount(const QModelIndex& parent) const
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
BannedListModel::columnCount(const QModelIndex& parent) const
|
||||
{
|
||||
Q_UNUSED(parent);
|
||||
/*
|
||||
* Only need one column.
|
||||
*/
|
||||
return 1;
|
||||
}
|
||||
|
||||
QVariant
|
||||
BannedListModel::data(const QModelIndex& index, int role) const
|
||||
{
|
||||
@ -123,13 +92,6 @@ BannedListModel::index(int row, int column, const QModelIndex& parent) const
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
QModelIndex
|
||||
BannedListModel::parent(const QModelIndex& child) const
|
||||
{
|
||||
Q_UNUSED(child);
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
Qt::ItemFlags
|
||||
BannedListModel::flags(const QModelIndex& index) const
|
||||
{
|
||||
@ -148,3 +110,38 @@ BannedListModel::reset()
|
||||
endResetModel();
|
||||
set_count(rowCount());
|
||||
}
|
||||
|
||||
void
|
||||
BannedListModel::setupForAccount()
|
||||
{
|
||||
if (lrcInstance_ && lrcInstance_->getCurrentContactModel()) {
|
||||
connect(lrcInstance_->getCurrentContactModel(),
|
||||
&ContactModel::bannedStatusChanged,
|
||||
this,
|
||||
&BannedListModel::onBannedStatusChanged,
|
||||
Qt::UniqueConnection);
|
||||
}
|
||||
reset();
|
||||
}
|
||||
|
||||
void
|
||||
BannedListModel::onBannedStatusChanged(const QString& uri, bool banned)
|
||||
{
|
||||
if (banned) {
|
||||
beginInsertRows(QModelIndex(), rowCount(), rowCount());
|
||||
bannedlist_.append(uri);
|
||||
endInsertRows();
|
||||
set_count(rowCount());
|
||||
} else {
|
||||
auto it = std::find_if(bannedlist_.begin(), bannedlist_.end(), [&uri](const auto& c) {
|
||||
return uri == c;
|
||||
});
|
||||
if (it != bannedlist_.end()) {
|
||||
auto elementIndex = std::distance(bannedlist_.begin(), it);
|
||||
beginRemoveRows(QModelIndex(), elementIndex, elementIndex);
|
||||
bannedlist_.remove(elementIndex);
|
||||
endRemoveRows();
|
||||
set_count(rowCount());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -32,25 +32,22 @@ public:
|
||||
explicit BannedListModel(QObject* parent = nullptr);
|
||||
~BannedListModel();
|
||||
|
||||
/*
|
||||
* QAbstractListModel override.
|
||||
*/
|
||||
// QAbstractListModel override.
|
||||
int rowCount(const QModelIndex& parent = QModelIndex()) const override;
|
||||
int columnCount(const QModelIndex& parent) const override;
|
||||
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
|
||||
/*
|
||||
* Override role name as access point in qml.
|
||||
*/
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
QModelIndex index(int row, int column = 0, const QModelIndex& parent = QModelIndex()) const;
|
||||
QModelIndex parent(const QModelIndex& child) const;
|
||||
Qt::ItemFlags flags(const QModelIndex& index) const;
|
||||
QModelIndex index(int row,
|
||||
int column = 0,
|
||||
const QModelIndex& parent = QModelIndex()) const override;
|
||||
Qt::ItemFlags flags(const QModelIndex& index) const override;
|
||||
|
||||
/*
|
||||
* This function is to reset the model when there's new account added.
|
||||
*/
|
||||
// This function is to reset the model when there's new account added.
|
||||
void reset();
|
||||
|
||||
private Q_SLOTS:
|
||||
void setupForAccount();
|
||||
void onBannedStatusChanged(const QString& uri, bool banned);
|
||||
|
||||
private:
|
||||
QList<QString> bannedlist_;
|
||||
};
|
||||
|
||||
@ -72,6 +72,7 @@ CallAdapter::CallAdapter(SystemTray* systemTray, LRCInstance* instance, QObject*
|
||||
// notification responses (gnu/linux currently)
|
||||
connect(systemTray_,
|
||||
&SystemTray::answerCallActivated,
|
||||
this,
|
||||
[this](const QString& accountId, const QString& convUid) {
|
||||
acceptACall(accountId, convUid);
|
||||
Q_EMIT lrcInstance_->notificationClicked();
|
||||
@ -81,6 +82,7 @@ CallAdapter::CallAdapter(SystemTray* systemTray, LRCInstance* instance, QObject*
|
||||
});
|
||||
connect(systemTray_,
|
||||
&SystemTray::declineCallActivated,
|
||||
this,
|
||||
[this](const QString& accountId, const QString& convUid) {
|
||||
hangUpACall(accountId, convUid);
|
||||
});
|
||||
@ -134,10 +136,10 @@ CallAdapter::onCallStatusChanged(const QString& accountId, const QString& callId
|
||||
// handle notifications
|
||||
if (call.status == lrc::api::call::Status::IN_PROGRESS) {
|
||||
// Call answered and in progress; close the notification
|
||||
systemTray_->hideNotification(QString("%1;%2").arg(accountId).arg(convInfo.uid));
|
||||
systemTray_->hideNotification(QString("%1;%2").arg(accountId, convInfo.uid));
|
||||
} else if (call.status == lrc::api::call::Status::ENDED) {
|
||||
// Call ended; close the notification
|
||||
if (systemTray_->hideNotification(QString("%1;%2").arg(accountId).arg(convInfo.uid))
|
||||
if (systemTray_->hideNotification(QString("%1;%2").arg(accountId, convInfo.uid))
|
||||
&& call.startTime.time_since_epoch().count() == 0) {
|
||||
// This was a missed call; show a missed call notification
|
||||
auto convAvatar = Utils::conversationAvatar(lrcInstance_,
|
||||
@ -146,11 +148,11 @@ CallAdapter::onCallStatusChanged(const QString& accountId, const QString& callId
|
||||
accountId);
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId);
|
||||
auto from = accInfo.conversationModel->title(convInfo.uid);
|
||||
auto notifId = QString("%1;%2").arg(accountId).arg(convInfo.uid);
|
||||
auto notifId = QString("%1;%2").arg(accountId, convInfo.uid);
|
||||
systemTray_->showNotification(notifId,
|
||||
tr("Missed call"),
|
||||
tr("Missed call with %1").arg(from),
|
||||
NotificationType::CHAT,
|
||||
SystemTray::NotificationType::CHAT,
|
||||
Utils::QImageToByteArray(convAvatar));
|
||||
}
|
||||
}
|
||||
@ -449,11 +451,11 @@ CallAdapter::showNotification(const QString& accountId, const QString& convUid)
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
auto convAvatar = Utils::conversationAvatar(lrcInstance_, convUid, QSize(50, 50), accountId);
|
||||
auto notifId = QString("%1;%2").arg(accountId).arg(convUid);
|
||||
auto notifId = QString("%1;%2").arg(accountId, convUid);
|
||||
systemTray_->showNotification(notifId,
|
||||
tr("Incoming call"),
|
||||
tr("%1 is calling you").arg(title),
|
||||
NotificationType::CALL,
|
||||
SystemTray::NotificationType::CALL,
|
||||
Utils::QImageToByteArray(convAvatar));
|
||||
#else
|
||||
auto onClicked = [this, accountId, convUid]() {
|
||||
@ -544,7 +546,7 @@ CallAdapter::setActiveStream(const QString& uri, const QString& deviceId, const
|
||||
auto participants = participantsModel.getParticipants();
|
||||
decltype(participants) activeParticipants = {};
|
||||
bool removeActive = false;
|
||||
for (auto part : participants) {
|
||||
for (const auto& part : participants) {
|
||||
auto isParticipant = part.uri == uri && part.device == deviceId
|
||||
&& part.sinkId == streamId;
|
||||
if (part.active && !isParticipant)
|
||||
@ -687,23 +689,6 @@ CallAdapter::participantIsHost(const QString& uri) const
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
CallAdapter::isModerator(const QString& uri) const
|
||||
{
|
||||
auto* callModel = lrcInstance_->getAccountInfo(accountId_).callModel.get();
|
||||
const auto& convInfo = lrcInstance_->getConversationFromConvUid(
|
||||
lrcInstance_->get_selectedConvUid());
|
||||
auto confId = convInfo.confId;
|
||||
|
||||
if (confId.isEmpty())
|
||||
confId = convInfo.callId;
|
||||
try {
|
||||
return callModel->isModerator(confId, uri);
|
||||
} catch (...) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
CallAdapter::isHandRaised(const QString& uri) const
|
||||
{
|
||||
@ -957,21 +942,21 @@ CallAdapter::updateAdvancedInformation()
|
||||
bool
|
||||
CallAdapter::takeScreenshot(const QImage& image, const QString& path)
|
||||
{
|
||||
QString name = QString("%1 %2")
|
||||
.arg(tr("Screenshot"))
|
||||
QString name = QString("%1 %2").arg(tr("Screenshot"),
|
||||
#ifdef WIN32
|
||||
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HHmmss"));
|
||||
QDateTime::currentDateTime().toString("yyyy-MM-dd HHmmss")
|
||||
#else
|
||||
.arg(QDateTime::currentDateTime().toString(Qt::ISODate));
|
||||
QDateTime::currentDateTime().toString(Qt::ISODate)
|
||||
#endif
|
||||
);
|
||||
|
||||
bool fileAlreadyExists = true;
|
||||
int nb = 0;
|
||||
QString filePath = QString("%1%2.png").arg(path).arg(name);
|
||||
QString filePath = QString("%1%2.png").arg(path, name);
|
||||
while (fileAlreadyExists) {
|
||||
filePath = QString("%1%2.png").arg(path).arg(name);
|
||||
filePath = QString("%1%2.png").arg(path, name);
|
||||
if (nb)
|
||||
filePath = QString("%1(%2).png").arg(filePath).arg(QString::number(nb));
|
||||
filePath = QString("%1(%2).png").arg(filePath, QString::number(nb));
|
||||
QFileInfo check_file(filePath);
|
||||
fileAlreadyExists = check_file.exists() && check_file.isFile();
|
||||
nb++;
|
||||
|
||||
@ -71,7 +71,6 @@ public:
|
||||
Q_INVOKABLE bool isCurrentHost() const;
|
||||
Q_INVOKABLE bool participantIsHost(const QString& uri) const;
|
||||
Q_INVOKABLE void setModerator(const QString& uri, const bool state);
|
||||
Q_INVOKABLE bool isModerator(const QString& uri = {}) const;
|
||||
Q_INVOKABLE bool isHandRaised(const QString& uri = {}) const;
|
||||
Q_INVOKABLE void raiseHand(const QString& uri, const QString& deviceId, bool state);
|
||||
Q_INVOKABLE void holdThisCallToggle();
|
||||
|
||||
@ -35,10 +35,11 @@ IndexRangeFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex& s
|
||||
{
|
||||
auto index = sourceModel()->index(sourceRow, 0, sourceParent);
|
||||
bool predicate = true;
|
||||
bool enabled = sourceModel()->data(index, CallControl::Role::Enabled).toBool();
|
||||
if (filterRole() != Qt::DisplayRole) {
|
||||
predicate = sourceModel()->data(index, filterRole()).toInt() != 0;
|
||||
}
|
||||
return sourceRow <= max_ && sourceRow >= min_ && predicate;
|
||||
return sourceRow <= max_ && sourceRow >= min_ && predicate && enabled;
|
||||
}
|
||||
|
||||
void
|
||||
@ -197,10 +198,12 @@ CallControlListModel::data(const QModelIndex& index, int role) const
|
||||
auto item = data_.at(index.row());
|
||||
|
||||
switch (role) {
|
||||
case Role::ItemAction:
|
||||
case CallControl::Role::ItemAction:
|
||||
return QVariant::fromValue(item.itemAction);
|
||||
case Role::UrgentCount:
|
||||
case CallControl::Role::UrgentCount:
|
||||
return QVariant::fromValue(item.urgentCount);
|
||||
case CallControl::Role::Enabled:
|
||||
return QVariant::fromValue(item.enabled);
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
@ -212,6 +215,7 @@ CallControlListModel::roleNames() const
|
||||
QHash<int, QByteArray> roles;
|
||||
roles[ItemAction] = "ItemAction";
|
||||
roles[UrgentCount] = "UrgentCount";
|
||||
roles[Enabled] = "Enabled";
|
||||
return roles;
|
||||
}
|
||||
|
||||
@ -232,6 +236,24 @@ CallControlListModel::setUrgentCount(QVariant item, int count)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
CallControlListModel::setEnabled(QObject* obj, bool enabled)
|
||||
{
|
||||
beginResetModel();
|
||||
auto it = std::find_if(data_.cbegin(), data_.cend(), [obj](const auto& item) {
|
||||
return item.itemAction == obj;
|
||||
});
|
||||
if (it != data_.cend()) {
|
||||
auto row = std::distance(data_.cbegin(), it);
|
||||
if (row >= rowCount())
|
||||
return;
|
||||
data_[row].enabled = enabled;
|
||||
auto idx = index(row, 0);
|
||||
Q_EMIT dataChanged(idx, idx);
|
||||
}
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void
|
||||
CallControlListModel::addItem(const CallControl::Item& item)
|
||||
{
|
||||
@ -264,15 +286,15 @@ CallOverlayModel::CallOverlayModel(LRCInstance* instance, QObject* parent)
|
||||
}
|
||||
|
||||
void
|
||||
CallOverlayModel::addPrimaryControl(const QVariant& action)
|
||||
CallOverlayModel::addPrimaryControl(const QVariant& action, bool enabled)
|
||||
{
|
||||
primaryModel_->addItem(CallControl::Item {action.value<QObject*>()});
|
||||
primaryModel_->addItem(CallControl::Item {action.value<QObject*>(), enabled});
|
||||
}
|
||||
|
||||
void
|
||||
CallOverlayModel::addSecondaryControl(const QVariant& action)
|
||||
CallOverlayModel::addSecondaryControl(const QVariant& action, bool enabled)
|
||||
{
|
||||
secondaryModel_->addItem(CallControl::Item {action.value<QObject*>()});
|
||||
secondaryModel_->addItem(CallControl::Item {action.value<QObject*>(), enabled});
|
||||
setControlRanges();
|
||||
}
|
||||
|
||||
@ -282,6 +304,13 @@ CallOverlayModel::setUrgentCount(QVariant row, int count)
|
||||
secondaryModel_->setUrgentCount(row, count);
|
||||
}
|
||||
|
||||
void
|
||||
CallOverlayModel::setEnabled(QObject* obj, bool enabled)
|
||||
{
|
||||
primaryModel_->setEnabled(obj, enabled);
|
||||
secondaryModel_->setEnabled(obj, enabled);
|
||||
}
|
||||
|
||||
QVariant
|
||||
CallOverlayModel::primaryModel()
|
||||
{
|
||||
@ -363,7 +392,8 @@ CallOverlayModel::eventFilter(QObject* object, QEvent* event)
|
||||
void
|
||||
CallOverlayModel::setControlRanges()
|
||||
{
|
||||
auto count = secondaryModel_->rowCount();
|
||||
overflowModel_->setRange(0, overflowIndex_);
|
||||
overflowVisibleModel_->setRange(overflowIndex_, secondaryModel_->rowCount());
|
||||
overflowHiddenModel_->setRange(overflowIndex_ + 1, secondaryModel_->rowCount());
|
||||
overflowVisibleModel_->setRange(overflowIndex_, count);
|
||||
overflowHiddenModel_->setRange(overflowIndex_ + 1, count);
|
||||
}
|
||||
|
||||
@ -36,12 +36,13 @@
|
||||
|
||||
namespace CallControl {
|
||||
Q_NAMESPACE
|
||||
enum Role { ItemAction = Qt::UserRole + 1, UrgentCount };
|
||||
enum Role { ItemAction = Qt::UserRole + 1, UrgentCount, Enabled};
|
||||
Q_ENUM_NS(Role)
|
||||
|
||||
struct Item
|
||||
{
|
||||
QObject* itemAction;
|
||||
bool enabled {true};
|
||||
int urgentCount {0};
|
||||
};
|
||||
} // namespace CallControl
|
||||
@ -106,6 +107,7 @@ public:
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
void setUrgentCount(QVariant item, int count);
|
||||
void setEnabled(QObject* obj, bool enabled);
|
||||
void addItem(const CallControl::Item& item);
|
||||
void clearData();
|
||||
|
||||
@ -121,9 +123,10 @@ class CallOverlayModel : public QObject
|
||||
public:
|
||||
CallOverlayModel(LRCInstance* instance, QObject* parent = nullptr);
|
||||
|
||||
Q_INVOKABLE void addPrimaryControl(const QVariant& action);
|
||||
Q_INVOKABLE void addSecondaryControl(const QVariant& action);
|
||||
Q_INVOKABLE void addPrimaryControl(const QVariant& action, bool enabled);
|
||||
Q_INVOKABLE void addSecondaryControl(const QVariant& action, bool enabled);
|
||||
Q_INVOKABLE void setUrgentCount(QVariant item, int count);
|
||||
Q_INVOKABLE void setEnabled(QObject* obj, bool enabled);
|
||||
Q_INVOKABLE void clearControls();
|
||||
|
||||
Q_INVOKABLE QVariant primaryModel();
|
||||
|
||||
@ -76,7 +76,7 @@ class CallParticipantsModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(LayoutType conferenceLayout READ conferenceLayout NOTIFY layoutChanged)
|
||||
Q_PROPERTY(LayoutType conferenceLayout READ conferenceLayout NOTIFY conferenceLayoutChanged)
|
||||
QML_RO_PROPERTY(int, count)
|
||||
|
||||
public:
|
||||
@ -98,18 +98,18 @@ public:
|
||||
void setConferenceLayout(int layout, const QString& callId)
|
||||
{
|
||||
auto newLayout = static_cast<LayoutType>(layout);
|
||||
if (callId == callId_ && newLayout != layout_) {
|
||||
layout_ = newLayout;
|
||||
Q_EMIT layoutChanged();
|
||||
if (callId == callId_ && newLayout != conferenceLayout_) {
|
||||
conferenceLayout_ = newLayout;
|
||||
Q_EMIT conferenceLayoutChanged();
|
||||
}
|
||||
}
|
||||
LayoutType conferenceLayout()
|
||||
{
|
||||
return layout_;
|
||||
return conferenceLayout_;
|
||||
}
|
||||
|
||||
Q_SIGNALS:
|
||||
void layoutChanged();
|
||||
void conferenceLayoutChanged();
|
||||
|
||||
private:
|
||||
LRCInstance* lrcInstance_ {nullptr};
|
||||
@ -117,5 +117,5 @@ private:
|
||||
std::mutex participantsMtx_;
|
||||
QList<CallParticipant::Item> participants_ {};
|
||||
QString callId_;
|
||||
LayoutType layout_;
|
||||
LayoutType conferenceLayout_;
|
||||
};
|
||||
|
||||
@ -31,6 +31,8 @@ PushButton {
|
||||
preferredHeight: JamiTheme.wizardViewPageBackButtonHeight
|
||||
hoveredColor: JamiTheme.hoveredButtonColorWizard
|
||||
|
||||
mirror: Qt.application.layoutDirection === Qt.RightToLeft
|
||||
|
||||
source: JamiResources.ic_arrow_back_24dp_svg
|
||||
toolTipText: JamiStrings.back
|
||||
|
||||
|
||||
@ -112,6 +112,7 @@ Popup {
|
||||
color: JamiTheme.shadowColor
|
||||
source: container
|
||||
transparentBorder: true
|
||||
samples: radius + 1
|
||||
}
|
||||
|
||||
enter: Transition {
|
||||
|
||||
@ -55,12 +55,13 @@ SBSMessageBase {
|
||||
property bool isActive: LRCInstance.indexOfActiveCall(ConfId, ActionUri, DeviceId) !== -1
|
||||
visible: isActive || ConfId === "" || Duration > 0
|
||||
|
||||
property var baseColor: isOutgoing? CurrentConversation.color : JamiTheme.messageInBgColor
|
||||
bubble.color: {
|
||||
if (ConfId === "" && Duration === 0) {
|
||||
// If missed, we can add a darker pattern
|
||||
return isOutgoing ? Qt.lighter(CurrentConversation.color, 1.15) : Qt.darker(JamiTheme.messageInBgColor, 1.15);
|
||||
return Qt.lighter(root.baseColor, 1.15)
|
||||
}
|
||||
return isOutgoing ? CurrentConversation.color : JamiTheme.messageInBgColor;
|
||||
return root.baseColor
|
||||
}
|
||||
|
||||
innerContent.children: [
|
||||
@ -89,7 +90,7 @@ SBSMessageBase {
|
||||
renderType: Text.NativeRendering
|
||||
textFormat: Text.MarkdownText
|
||||
|
||||
color: UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewTextColorLight : JamiTheme.chatviewTextColorDark
|
||||
color: UtilsAdapter.luma(root.baseColor) ? JamiTheme.chatviewTextColorLight : JamiTheme.chatviewTextColorDark
|
||||
}
|
||||
|
||||
JoinCallButton {
|
||||
|
||||
@ -25,59 +25,84 @@ BaseView {
|
||||
required property Item leftPaneItem
|
||||
required property Item rightPaneItem
|
||||
|
||||
property bool isRTL: UtilsAdapter.isRTL
|
||||
|
||||
property alias leftPane: leftPane
|
||||
property alias rightPane: rightPane
|
||||
|
||||
property alias splitViewStateKey: splitView.splitViewStateKey
|
||||
|
||||
property real leftPaneMinWidth: JamiTheme.mainViewLeftPaneMinWidth
|
||||
property real rightPaneMinWidth: JamiTheme.mainViewPaneMinWidth
|
||||
property real minorPaneMinWidth: JamiTheme.mainViewLeftPaneMinWidth
|
||||
property real majorPaneMinWidth: JamiTheme.mainViewPaneMinWidth
|
||||
|
||||
property real previousMinorPaneWidth: isRTL ? leftPane.width : rightPane.width
|
||||
property real previousMajorPaneWidth: isRTL ? rightPane.width : leftPane.width
|
||||
|
||||
property bool isSinglePane
|
||||
|
||||
onPresented: {
|
||||
if (leftPaneItem)
|
||||
leftPaneItem.parent = leftPane;
|
||||
leftPaneItem.parent = leftPane
|
||||
if (rightPaneItem)
|
||||
rightPaneItem.parent = rightPane;
|
||||
splitView.restoreSplitViewState();
|
||||
resolvePanes();
|
||||
rightPaneItem.parent = rightPane
|
||||
splitView.restoreSplitViewState()
|
||||
resolvePanes()
|
||||
}
|
||||
onDismissed: splitView.saveSplitViewState()
|
||||
|
||||
Component.onCompleted: {
|
||||
// Avoid double triggering this handler during instantiation.
|
||||
onIsSinglePaneChanged.connect(isSinglePaneChangedHandler);
|
||||
onIsSinglePaneChanged.connect(isSinglePaneChangedHandler)
|
||||
}
|
||||
|
||||
property real previousLeftPaneWidth: leftPane.width
|
||||
onWidthChanged: resolvePanes()
|
||||
function resolvePanes() {
|
||||
isSinglePane = width < rightPaneMinWidth + previousLeftPaneWidth;
|
||||
isSinglePane = width < majorPaneMinWidth + previousMinorPaneWidth
|
||||
}
|
||||
|
||||
// Override this if needed.
|
||||
property var isSinglePaneChangedHandler: function () {
|
||||
rightPaneItem.parent = isSinglePane ? leftPane : rightPane;
|
||||
rightPaneItem.parent = isSinglePane ? leftPane : rightPane
|
||||
}
|
||||
|
||||
JamiSplitView {
|
||||
id: splitView
|
||||
anchors.fill: parent
|
||||
splitViewStateKey: viewNode.objectName
|
||||
isSinglePane: viewNode.isSinglePane
|
||||
|
||||
Item {
|
||||
SplitPane {
|
||||
id: leftPane
|
||||
onWidthChanged: if (!isSinglePane)
|
||||
previousLeftPaneWidth = width
|
||||
SplitView.minimumWidth: isSinglePane ? viewNode.width : viewNode.leftPaneMinWidth
|
||||
SplitView.maximumWidth: isSinglePane ? viewNode.width : viewNode.width - rightPaneMinWidth
|
||||
SplitView.preferredWidth: viewNode.leftPaneMinWidth
|
||||
clip: true
|
||||
isMinorPane: true
|
||||
}
|
||||
Item {
|
||||
SplitPane {
|
||||
id: rightPane
|
||||
clip: true
|
||||
isMinorPane: false
|
||||
}
|
||||
}
|
||||
|
||||
component SplitPane: Item {
|
||||
clip: true
|
||||
required property bool isMinorPane
|
||||
onWidthChanged: {
|
||||
if (!isSinglePane && ((isRTL && !isMinorPane) || (!isRTL && isMinorPane)))
|
||||
previousMinorPaneWidth = width
|
||||
if (!isSinglePane && ((isRTL && isMinorPane) || (!isRTL && !isMinorPane)))
|
||||
previousMajorPaneWidth = width
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: UtilsAdapter
|
||||
|
||||
function onIsRTLChanged() {
|
||||
var bck = previousMinorPaneWidth
|
||||
previousMinorPaneWidth = previousMajorPaneWidth
|
||||
previousMajorPaneWidth = bck
|
||||
}
|
||||
}
|
||||
|
||||
SplitView.minimumWidth: isSinglePane ? viewNode.width : (isMinorPane && !isRTL ? minorPaneMinWidth : majorPaneMinWidth)
|
||||
SplitView.maximumWidth: isSinglePane ? viewNode.width : viewNode.width - (isMinorPane && !isRTL ? majorPaneMinWidth : minorPaneMinWidth)
|
||||
SplitView.preferredWidth: isMinorPane && !isRTL ? minorPaneMinWidth : majorPaneMinWidth
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ Popup {
|
||||
background.visible: false
|
||||
parent: Overlay.overlay
|
||||
|
||||
property var emojiReaction
|
||||
property var reactions
|
||||
property string msgId
|
||||
|
||||
// center in parent
|
||||
@ -88,9 +88,9 @@ Popup {
|
||||
spacing: 15
|
||||
Layout.preferredWidth: 400
|
||||
Layout.preferredHeight: childrenRect.height + 30 < 700 ? childrenRect.height + 30 : 700
|
||||
model: Object.entries(emojiReaction)
|
||||
model: Object.entries(reactions)
|
||||
clip: true
|
||||
property int modelCount: Object.entries(emojiReaction).length
|
||||
property int modelCount: Object.entries(reactions).length
|
||||
|
||||
delegate: RowLayout {
|
||||
width: parent.width
|
||||
@ -191,6 +191,7 @@ Popup {
|
||||
color: JamiTheme.shadowColor
|
||||
source: container
|
||||
transparentBorder: true
|
||||
samples: radius + 1
|
||||
}
|
||||
|
||||
enter: Transition {
|
||||
|
||||
@ -24,19 +24,20 @@ import net.jami.Constants 1.1
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property var emojiReaction
|
||||
property var reactions
|
||||
property real contentHeight: bubble.height
|
||||
property real contentWidth: bubble.width
|
||||
property var emojiTexts: ownEmojiList
|
||||
|
||||
visible: emojis.length && Body !== ""
|
||||
|
||||
property string emojis: {
|
||||
if (reactions === undefined)
|
||||
return [];
|
||||
var space = "";
|
||||
var emojiList = [];
|
||||
var emojiNumberList = [];
|
||||
for (const reactions of Object.entries(emojiReaction)) {
|
||||
var authorEmojiList = reactions[1];
|
||||
for (const reaction of Object.entries(reactions)) {
|
||||
var authorEmojiList = reaction[1];
|
||||
for (var emojiIndex in authorEmojiList) {
|
||||
var emoji = authorEmojiList[emojiIndex];
|
||||
if (emojiList.includes(emoji)) {
|
||||
@ -60,12 +61,14 @@ Item {
|
||||
return cur;
|
||||
}
|
||||
|
||||
property var ownEmojiList: {
|
||||
property var ownEmojis: {
|
||||
if (reactions === undefined)
|
||||
return [];
|
||||
var list = [];
|
||||
var index = 0;
|
||||
for (const reactions of Object.entries(emojiReaction)) {
|
||||
var authorUri = reactions[0];
|
||||
var authorEmojiList = reactions[1];
|
||||
for (const reaction of Object.entries(reactions)) {
|
||||
var authorUri = reaction[0];
|
||||
var authorEmojiList = reaction[1];
|
||||
if (CurrentAccount.uri === authorUri) {
|
||||
for (var emojiIndex in authorEmojiList) {
|
||||
list[index] = authorEmojiList[emojiIndex];
|
||||
@ -107,5 +110,6 @@ Item {
|
||||
color: JamiTheme.shadowColor
|
||||
source: bubble
|
||||
transparentBorder: true
|
||||
samples: radius + 1
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ Item {
|
||||
source: usernameTextEdit.editMode ? JamiResources.check_black_24dp_svg : JamiResources.round_edit_24dp_svg
|
||||
toolTipText: JamiStrings.chooseUsername
|
||||
onClicked: {
|
||||
if (!usernameTextEdit.editMode) {
|
||||
if (usernameTextEdit.readOnly) {
|
||||
usernameTextEdit.startEditing();
|
||||
usernameTextEdit.readOnly = false;
|
||||
} else {
|
||||
|
||||
@ -22,6 +22,21 @@ import net.jami.Constants 1.1
|
||||
SplitView {
|
||||
id: root
|
||||
|
||||
property bool isRTL: UtilsAdapter.isRTL
|
||||
property bool isSinglePane: false
|
||||
property bool isSwapped: false
|
||||
|
||||
onIsRTLChanged: {
|
||||
if (isRTL && isSinglePane && !isSwapped)
|
||||
return
|
||||
if ((isRTL && !isSwapped) || (!isRTL && isSwapped))
|
||||
swapItems()
|
||||
}
|
||||
onIsSinglePaneChanged: {
|
||||
if (isSwapped || isRTL)
|
||||
swapItems()
|
||||
}
|
||||
|
||||
property string splitViewStateKey: objectName
|
||||
property bool autoManageState: !(parent instanceof BaseView)
|
||||
|
||||
@ -41,11 +56,23 @@ SplitView {
|
||||
visible ? restoreSplitViewState() : saveSplitViewState();
|
||||
}
|
||||
|
||||
function swapItems() {
|
||||
isSwapped = !isSwapped
|
||||
var qqci = children[0];
|
||||
if (qqci.children.length > 1) {
|
||||
// swap the children
|
||||
var tempPane = qqci.children[0];
|
||||
qqci.children[0] = qqci.children[1];
|
||||
qqci.children.push(tempPane);
|
||||
}
|
||||
}
|
||||
|
||||
handle: Rectangle {
|
||||
implicitWidth: JamiTheme.splitViewHandlePreferredWidth
|
||||
implicitHeight: root.height
|
||||
color: JamiTheme.primaryBackgroundColor
|
||||
Rectangle {
|
||||
anchors.left: parent.left
|
||||
implicitWidth: 1
|
||||
implicitHeight: root.height
|
||||
color: JamiTheme.tabbarBorderColor
|
||||
|
||||
@ -45,7 +45,7 @@ DualPaneView {
|
||||
function selectIndex(index) { viewNode.index = index }
|
||||
|
||||
// Override this predicate if needed.
|
||||
property bool hasValidSelection: viewNode.index >= 0
|
||||
property bool hasValidSelection: viewNode.index >= -1
|
||||
onHasValidSelectionChanged: isSinglePaneChangedHandler()
|
||||
|
||||
// Override BaseView.dismiss with some selection logic.
|
||||
|
||||
@ -14,72 +14,122 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import Qt5Compat.GraphicalEffects
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import Qt5Compat.GraphicalEffects
|
||||
import net.jami.Constants 1.1
|
||||
import net.jami.Models 1.1
|
||||
|
||||
RadioButton {
|
||||
id: root
|
||||
property color backgroundColor: JamiTheme.radioBackgroundColor
|
||||
property color borderColor: JamiTheme.radioBorderColor
|
||||
property color borderOuterRectangle: "transparent"
|
||||
property color checkedColor: JamiTheme.radioBorderColor
|
||||
property string iconSource: ""
|
||||
property color textColor: JamiTheme.textColor
|
||||
|
||||
property string color: JamiTheme.textColor
|
||||
property string bgColor: ""
|
||||
useSystemFocusVisuals: false
|
||||
|
||||
indicator: Rectangle {
|
||||
id: rect
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: root.bgColor
|
||||
|
||||
border {
|
||||
id: border
|
||||
color: JamiTheme.buttonTintedBlue
|
||||
width: 1
|
||||
}
|
||||
|
||||
implicitWidth: 20
|
||||
implicitHeight: 20
|
||||
radius: 10
|
||||
|
||||
Rectangle {
|
||||
id: innerRect
|
||||
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: 10
|
||||
height: 10
|
||||
radius: 10
|
||||
visible: checked || hovered
|
||||
|
||||
Behavior on visible {
|
||||
NumberAnimation {
|
||||
from: 0
|
||||
duration: JamiTheme.shortFadeDuration
|
||||
}
|
||||
}
|
||||
|
||||
color: JamiTheme.buttonTintedBlue
|
||||
|
||||
HoverHandler {
|
||||
target: parent
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
text: root.text
|
||||
color: root.color
|
||||
leftPadding: root.indicator.width + root.spacing
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: JamiTheme.settingsDescriptionPixelSize
|
||||
}
|
||||
height: implicitHeight
|
||||
|
||||
Keys.onPressed: function (event) {
|
||||
if (event.key === Qt.Key_Enter || event.key === Qt.Key_Return) {
|
||||
root.checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: backgroundColor
|
||||
radius: JamiTheme.settingsBoxRadius
|
||||
|
||||
border {
|
||||
color: borderOuterRectangle
|
||||
width: 1
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: "transparent"
|
||||
radius: JamiTheme.settingsBoxRadius
|
||||
visible: checked || hovered
|
||||
|
||||
border {
|
||||
color: borderColor
|
||||
width: 1
|
||||
}
|
||||
|
||||
Behavior on visible {
|
||||
enabled: hovered
|
||||
|
||||
NumberAnimation {
|
||||
duration: JamiTheme.shortFadeDuration
|
||||
from: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: RowLayout {
|
||||
spacing: 10
|
||||
|
||||
anchors.left: root.indicator.right
|
||||
anchors.leftMargin: root.spacing
|
||||
|
||||
ResponsiveImage {
|
||||
color: borderColor
|
||||
height: JamiTheme.radioImageSize
|
||||
source: iconSource
|
||||
visible: iconSource !== ""
|
||||
width: JamiTheme.radioImageSize
|
||||
}
|
||||
|
||||
Text {
|
||||
color: textColor
|
||||
font.pixelSize: JamiTheme.settingsDescriptionPixelSize
|
||||
text: root.text
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
}
|
||||
|
||||
indicator: Rectangle {
|
||||
id: indicatorRectangle
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 18
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: "transparent"
|
||||
implicitHeight: 20
|
||||
implicitWidth: 20
|
||||
radius: JamiTheme.settingsBoxRadius
|
||||
z: 1
|
||||
|
||||
border {
|
||||
id: border
|
||||
color: borderColor
|
||||
width: 1
|
||||
}
|
||||
Rectangle {
|
||||
id: innerRect
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: checkedColor
|
||||
height: 12
|
||||
radius: JamiTheme.settingsBoxRadius
|
||||
visible: checked || hovered
|
||||
width: 12
|
||||
|
||||
HoverHandler {
|
||||
target: parent
|
||||
}
|
||||
|
||||
Behavior on visible {
|
||||
enabled: hovered
|
||||
|
||||
NumberAnimation {
|
||||
duration: JamiTheme.shortFadeDuration
|
||||
from: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,9 +33,11 @@ Popup {
|
||||
padding: 0
|
||||
background.visible: false
|
||||
|
||||
required property var emojiReactions
|
||||
property var emojiReplied: emojiReactions.ownEmojis
|
||||
|
||||
required property string msgId
|
||||
required property string msgBody
|
||||
required property var emojiReplied
|
||||
required property bool isOutgoing
|
||||
required property int type
|
||||
required property string transferName
|
||||
@ -107,27 +109,11 @@ Popup {
|
||||
onClosed: if (emojiPicker) emojiPicker.closeEmojiPicker()
|
||||
|
||||
function getModel() {
|
||||
var model = ["👍", "👎", "😂"]
|
||||
var cur = []
|
||||
//Add emoji reacted
|
||||
var index = 0
|
||||
for (let emoji of emojiReplied) {
|
||||
if (index < model.length) {
|
||||
cur[index] = emoji
|
||||
index ++
|
||||
}
|
||||
}
|
||||
//complete with default model
|
||||
var modelIndex = cur.length
|
||||
for (let j = 0; j < model.length; j++) {
|
||||
if (cur.length < model.length) {
|
||||
if (!cur.includes(model[j]) ) {
|
||||
cur[modelIndex] = model[j]
|
||||
modelIndex ++
|
||||
}
|
||||
}
|
||||
}
|
||||
return cur
|
||||
const defaultModel = ["👍", "👎", "😂"]
|
||||
const reactedEmojis = Array.isArray(emojiReplied) ? emojiReplied.slice(0, defaultModel.length) : []
|
||||
const uniqueEmojis = Array.from(new Set(reactedEmojis))
|
||||
const missingEmojis = defaultModel.filter(emoji => !uniqueEmojis.includes(emoji))
|
||||
return uniqueEmojis.concat(missingEmojis)
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
@ -167,7 +153,7 @@ Popup {
|
||||
|
||||
background: Rectangle {
|
||||
anchors.fill: parent
|
||||
opacity: emojiReplied.includes(modelData) ? 1 : 0
|
||||
opacity: emojiReplied ? (emojiReplied.includes(modelData) ? 1 : 0) : 0
|
||||
color: JamiTheme.emojiReactPushButtonColor
|
||||
radius: 10
|
||||
}
|
||||
@ -289,6 +275,7 @@ Popup {
|
||||
color: JamiTheme.shadowColor
|
||||
source: bubble
|
||||
transparentBorder: true
|
||||
samples: radius + 1
|
||||
}
|
||||
|
||||
enter: Transition {
|
||||
|
||||
@ -75,7 +75,7 @@ Loader {
|
||||
|
||||
// Needed to give proper focus to loaded item
|
||||
onFocusChanged: {
|
||||
if (root.focus && root.isPersistent) {
|
||||
if (item && root.focus && root.isPersistent) {
|
||||
item.forceActiveFocus();
|
||||
}
|
||||
isEditing = !isEditing;
|
||||
|
||||
@ -34,7 +34,7 @@ Item {
|
||||
property real avatarSize
|
||||
property bool doubleEditAvatar: false
|
||||
|
||||
height: Math.max(avatarSize, buttonSize)
|
||||
height: avatarSize
|
||||
|
||||
Rectangle {
|
||||
id: imageLayer
|
||||
|
||||
@ -74,6 +74,8 @@ AbstractButton {
|
||||
property alias imagePadding: image.padding
|
||||
property alias imageOffset: image.offset
|
||||
|
||||
property alias mirror: image.mirror
|
||||
|
||||
width: preferredWidth ? preferredWidth : preferredSize
|
||||
height: preferredHeight ? preferredHeight : preferredSize
|
||||
|
||||
|
||||
@ -32,6 +32,7 @@ Item {
|
||||
property alias source: image.source
|
||||
property alias status: image.status
|
||||
property alias cache: image.cache
|
||||
property alias mirror: image.mirror
|
||||
property string color: "transparent"
|
||||
property bool hovered: false
|
||||
property bool mirrorHorizontally: false
|
||||
@ -67,8 +68,6 @@ Item {
|
||||
antialiasing: true
|
||||
asynchronous: true
|
||||
visible: false
|
||||
mirror: root.mirrorHorizontally
|
||||
mirrorVertically: root.mirrorVertically
|
||||
|
||||
function setSourceSize() {
|
||||
sourceSize = undefined;
|
||||
|
||||
@ -37,9 +37,7 @@ ContextMenuAutoLoader {
|
||||
|
||||
canTrigger: root.transferId !== ""
|
||||
itemName: JamiStrings.saveFile
|
||||
onClicked: {
|
||||
MessagesAdapter.copyToDownloads(root.transferId, root.transferName);
|
||||
}
|
||||
onClicked: MessagesAdapter.copyToDownloads(root.transferId, root.transferName)
|
||||
},
|
||||
GeneralMenuItem {
|
||||
id: openLocation
|
||||
|
||||
@ -15,12 +15,10 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import Qt5Compat.GraphicalEffects
|
||||
|
||||
import net.jami.Models 1.1
|
||||
import net.jami.Adapters 1.1
|
||||
import net.jami.Constants 1.1
|
||||
@ -64,9 +62,7 @@ Control {
|
||||
|
||||
// If the ListView attached properties are not available,
|
||||
// then the root delegate is likely a Loader.
|
||||
readonly property ListView listView: ListView.view ?
|
||||
ListView.view :
|
||||
parent.ListView.view
|
||||
readonly property ListView listView: ListView.view ? ListView.view : parent.ListView.view
|
||||
|
||||
rightPadding: hPadding
|
||||
leftPadding: hPadding
|
||||
@ -99,7 +95,7 @@ Control {
|
||||
id: username
|
||||
text: UtilsAdapter.getBestNameForUri(CurrentAccount.id, Author)
|
||||
font.bold: true
|
||||
visible:(seq === MsgSeq.first || seq === MsgSeq.single) && !isOutgoing
|
||||
visible: (seq === MsgSeq.first || seq === MsgSeq.single) && !isOutgoing
|
||||
font.pixelSize: JamiTheme.usernameBlockFontSize
|
||||
color: JamiTheme.chatviewUsernameColor
|
||||
lineHeight: JamiTheme.usernameBlockLineHeight
|
||||
@ -108,7 +104,6 @@ Control {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Item {
|
||||
id: replyItem
|
||||
property bool isSelf: ReplyToAuthor === CurrentAccount.uri
|
||||
@ -123,14 +118,15 @@ Control {
|
||||
Layout.leftMargin: isOutgoing ? undefined : JamiTheme.sbsMessageBaseReplyMargin
|
||||
Layout.rightMargin: !isOutgoing ? undefined : JamiTheme.sbsMessageBaseReplyMargin
|
||||
|
||||
transform: Translate { y: JamiTheme.sbsMessageBaseReplyBottomMargin }
|
||||
|
||||
transform: Translate {
|
||||
y: JamiTheme.sbsMessageBaseReplyBottomMargin
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
width: parent.width
|
||||
spacing: 2
|
||||
|
||||
RowLayout{
|
||||
RowLayout {
|
||||
id: replyToLayout
|
||||
|
||||
Layout.alignment: isOutgoing ? Qt.AlignRight : Qt.AlignLeft
|
||||
@ -155,8 +151,8 @@ Control {
|
||||
showPresenceIndicator: false
|
||||
imageId: {
|
||||
if (replyItem.isSelf)
|
||||
return CurrentAccount.id
|
||||
return ReplyToAuthor
|
||||
return CurrentAccount.id;
|
||||
return ReplyToAuthor;
|
||||
}
|
||||
mode: replyItem.isSelf ? Avatar.Mode.Account : Avatar.Mode.Contact
|
||||
}
|
||||
@ -179,11 +175,10 @@ Control {
|
||||
color: replyItem.isSelf ? CurrentConversation.color : JamiTheme.messageInBgColor
|
||||
radius: msgRadius
|
||||
|
||||
Layout.preferredWidth: replyToRow.width + 2*JamiTheme.preferredMarginSize
|
||||
Layout.preferredHeight: replyToRow.height + 2*JamiTheme.preferredMarginSize
|
||||
Layout.preferredWidth: replyToRow.width + 2 * JamiTheme.preferredMarginSize
|
||||
Layout.preferredHeight: replyToRow.height + 2 * JamiTheme.preferredMarginSize
|
||||
Layout.alignment: isOutgoing ? Qt.AlignRight : Qt.AlignLeft
|
||||
|
||||
|
||||
// place actual content here
|
||||
ReplyToRow {
|
||||
id: replyToRow
|
||||
@ -194,8 +189,8 @@ Control {
|
||||
MouseArea {
|
||||
z: 2
|
||||
anchors.fill: parent
|
||||
onClicked: function(mouse) {
|
||||
CurrentConversation.scrollToMsg(ReplyTo)
|
||||
onClicked: function (mouse) {
|
||||
CurrentConversation.scrollToMsg(ReplyTo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -211,7 +206,7 @@ Control {
|
||||
Item {
|
||||
id: avatarBlock
|
||||
|
||||
Layout.preferredWidth: isOutgoing ? 0 : avatar.width + hPadding/3
|
||||
Layout.preferredWidth: isOutgoing ? 0 : avatar.width + hPadding / 3
|
||||
Layout.preferredHeight: isOutgoing ? 0 : bubble.height
|
||||
Avatar {
|
||||
id: avatar
|
||||
@ -238,7 +233,7 @@ Control {
|
||||
hoverEnabled: true
|
||||
onClicked: function (mouse) {
|
||||
if (root.hoveredLink) {
|
||||
MessagesAdapter.openUrl(root.hoveredLink)
|
||||
MessagesAdapter.openUrl(root.hoveredLink);
|
||||
}
|
||||
}
|
||||
property bool bubbleHovered: containsMouse || textHovered
|
||||
@ -276,30 +271,24 @@ Control {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: isOutgoing ? optionButtonItem.right : undefined
|
||||
anchors.left: !isOutgoing ? optionButtonItem.left : undefined
|
||||
visible: CurrentAccount.type !== Profile.Type.SIP && Body !== "" &&
|
||||
(
|
||||
bubbleArea.bubbleHovered
|
||||
|| hovered
|
||||
|| reply.hovered
|
||||
|| bgHandler.hovered
|
||||
)
|
||||
visible: CurrentAccount.type !== Profile.Type.SIP && Body !== "" && (bubbleArea.bubbleHovered || hovered || reply.hovered || bgHandler.hovered)
|
||||
source: JamiResources.more_vert_24dp_svg
|
||||
width: optionButtonItem.width / 2
|
||||
height: optionButtonItem.height
|
||||
|
||||
onClicked: {
|
||||
var component = Qt.createComponent("qrc:/commoncomponents/MessageOptionsPopup.qml")
|
||||
var component = Qt.createComponent("qrc:/commoncomponents/MessageOptionsPopup.qml");
|
||||
var obj = component.createObject(bubble, {
|
||||
"emojiReplied": Qt.binding(() => emojiReaction.emojiTexts),
|
||||
"isOutgoing": isOutgoing,
|
||||
"msgId": Id,
|
||||
"msgBody": Body,
|
||||
"type": Type,
|
||||
"transferName": TransferName,
|
||||
"msgBubble": bubble,
|
||||
"listView": listView
|
||||
})
|
||||
obj.open()
|
||||
"emojiReactions": emojiReactions,
|
||||
"isOutgoing": isOutgoing,
|
||||
"msgId": Id,
|
||||
"msgBody": Body,
|
||||
"type": Type,
|
||||
"transferName": TransferName,
|
||||
"msgBubble": bubble,
|
||||
"listView": listView
|
||||
});
|
||||
obj.open();
|
||||
}
|
||||
}
|
||||
|
||||
@ -315,17 +304,11 @@ Control {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: isOutgoing ? more.left : undefined
|
||||
anchors.left: !isOutgoing ? more.right : undefined
|
||||
visible: CurrentAccount.type !== Profile.Type.SIP && Body !== "" &&
|
||||
(
|
||||
bubbleArea.bubbleHovered
|
||||
|| hovered
|
||||
|| more.hovered
|
||||
|| bgHandler.hovered
|
||||
)
|
||||
visible: CurrentAccount.type !== Profile.Type.SIP && Body !== "" && (bubbleArea.bubbleHovered || hovered || more.hovered || bgHandler.hovered)
|
||||
|
||||
onClicked: {
|
||||
MessagesAdapter.editId = ""
|
||||
MessagesAdapter.replyToId = Id
|
||||
MessagesAdapter.editId = "";
|
||||
MessagesAdapter.replyToId = Id;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -335,19 +318,18 @@ Control {
|
||||
|
||||
property bool isEdited: PreviousBodies.length !== 0
|
||||
visible: !IsEmojiOnly
|
||||
z:-1
|
||||
z: -1
|
||||
out: isOutgoing
|
||||
type: seq
|
||||
isReply: root.isReply
|
||||
|
||||
|
||||
function getBaseColor() {
|
||||
var baseColor = isOutgoing ? CurrentConversation.color : JamiTheme.messageInBgColor
|
||||
var baseColor = isOutgoing ? CurrentConversation.color : JamiTheme.messageInBgColor;
|
||||
if (Id === MessagesAdapter.replyToId || Id === MessagesAdapter.editId) {
|
||||
// If we are replying to or editing the message
|
||||
return Qt.darker(baseColor, 1.5)
|
||||
return Qt.darker(baseColor, 1.5);
|
||||
}
|
||||
return baseColor
|
||||
return baseColor;
|
||||
}
|
||||
|
||||
color: getBaseColor()
|
||||
@ -359,7 +341,6 @@ Control {
|
||||
height: innerContent.childrenRect.height + (visible ? root.extraHeight : 0)
|
||||
}
|
||||
|
||||
|
||||
Rectangle {
|
||||
id: bg
|
||||
|
||||
@ -413,8 +394,8 @@ Control {
|
||||
target: CurrentConversation
|
||||
function onScrollTo(id) {
|
||||
if (id !== root.id)
|
||||
return
|
||||
selectAnimation.start()
|
||||
return;
|
||||
selectAnimation.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -445,10 +426,10 @@ Control {
|
||||
|
||||
width: {
|
||||
if (root.readers.length === 0)
|
||||
return 0
|
||||
var nbAvatars = root.readers.length
|
||||
var margin = JamiTheme.avatarReadReceiptSize / 3
|
||||
return nbAvatars * JamiTheme.avatarReadReceiptSize - (nbAvatars - 1) * margin
|
||||
return 0;
|
||||
var nbAvatars = root.readers.length;
|
||||
var margin = JamiTheme.avatarReadReceiptSize / 3;
|
||||
return nbAvatars * JamiTheme.avatarReadReceiptSize - (nbAvatars - 1) * margin;
|
||||
}
|
||||
height: JamiTheme.avatarReadReceiptSize
|
||||
|
||||
@ -459,20 +440,20 @@ Control {
|
||||
}
|
||||
|
||||
EmojiReactions {
|
||||
id: emojiReaction
|
||||
id: emojiReactions
|
||||
|
||||
property bool isOutgoing: Author === CurrentAccount.uri
|
||||
Layout.alignment: isOutgoing ? Qt.AlignRight : Qt.AlignLeft
|
||||
Layout.rightMargin: isOutgoing ? status.width : undefined
|
||||
Layout.leftMargin: !isOutgoing ? avatarBlock.width : undefined
|
||||
Layout.topMargin: - contentHeight/4
|
||||
Layout.topMargin: -contentHeight / 4
|
||||
Layout.preferredHeight: contentHeight + 5
|
||||
Layout.preferredWidth: contentWidth
|
||||
emojiReaction: Reactions
|
||||
reactions: Reactions
|
||||
|
||||
TapHandler {
|
||||
onTapped: {
|
||||
reactionPopup.open()
|
||||
reactionPopup.open();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -484,10 +465,10 @@ Control {
|
||||
orientation: ListView.Horizontal
|
||||
Layout.preferredHeight: {
|
||||
if (showTime || seq === MsgSeq.last)
|
||||
return contentHeight + timestampItem.contentHeight
|
||||
return contentHeight + timestampItem.contentHeight;
|
||||
else if (readsMultiple.visible)
|
||||
return JamiTheme.avatarReadReceiptSize
|
||||
return 0
|
||||
return JamiTheme.avatarReadReceiptSize;
|
||||
return 0;
|
||||
}
|
||||
|
||||
ReadStatus {
|
||||
@ -495,14 +476,14 @@ Control {
|
||||
visible: root.readers.length > 1 && CurrentAccount.sendReadReceipt
|
||||
width: {
|
||||
if (root.readers.length === 0)
|
||||
return 0
|
||||
var nbAvatars = root.readers.length
|
||||
var margin = JamiTheme.avatarReadReceiptSize / 3
|
||||
return nbAvatars * JamiTheme.avatarReadReceiptSize - (nbAvatars - 1) * margin
|
||||
return 0;
|
||||
var nbAvatars = root.readers.length;
|
||||
var margin = JamiTheme.avatarReadReceiptSize / 3;
|
||||
return nbAvatars * JamiTheme.avatarReadReceiptSize - (nbAvatars - 1) * margin;
|
||||
}
|
||||
|
||||
anchors.right: parent.right
|
||||
anchors.top : parent.top
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 1
|
||||
readers: root.readers
|
||||
}
|
||||
@ -512,7 +493,7 @@ Control {
|
||||
EmojiReactionPopup {
|
||||
id: reactionPopup
|
||||
|
||||
emojiReaction: Reactions
|
||||
reactions: Reactions
|
||||
msgId: Id
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,7 +85,12 @@ ComboBox {
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
leftPadding: root.indicator.width
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: root.indicator.width
|
||||
width: parent.width - root.indicator.width * 2
|
||||
anchors.rightMargin: root.indicator.width * 2
|
||||
font.pixelSize: JamiTheme.settingsDescriptionPixelSize
|
||||
text: root.displayText
|
||||
color: JamiTheme.comboboxTextColor
|
||||
|
||||
@ -32,6 +32,18 @@ SBSMessageBase {
|
||||
property bool isEmojiOnly: IsEmojiOnly
|
||||
property real maxMsgWidth: root.width - senderMargin - 2 * hPadding - avatarBlockWidth
|
||||
property string colorUrl: UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewLinkColorLight : JamiTheme.chatviewLinkColorDark
|
||||
property string colorText: UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewTextColorLight : JamiTheme.chatviewTextColorDark
|
||||
|
||||
Connections {
|
||||
target: bubble
|
||||
function onColorChanged(color) {
|
||||
root.colorUrl = UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewLinkColorLight : JamiTheme.chatviewLinkColorDark
|
||||
root.colorText = UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewTextColorLight : JamiTheme.chatviewTextColorDark
|
||||
// Update parsed body with correct colors
|
||||
if (Body !== "")
|
||||
MessagesAdapter.parseMessage(Id, Body, UtilsAdapter.getAppValue(Settings.DisplayHyperlinkPreviews), root.colorUrl, bubble.color);
|
||||
}
|
||||
}
|
||||
|
||||
isOutgoing: Author === CurrentAccount.uri
|
||||
author: Author
|
||||
@ -51,10 +63,11 @@ SBSMessageBase {
|
||||
padding: isEmojiOnly ? 0 : JamiTheme.preferredMarginSize
|
||||
anchors.right: isOutgoing ? parent.right : undefined
|
||||
text: {
|
||||
if (LinkifiedBody !== "" && Linkified.length === 0) {
|
||||
MessagesAdapter.parseMessageUrls(Id, Body, UtilsAdapter.getAppValue(Settings.DisplayHyperlinkPreviews), root.colorUrl);
|
||||
if (Body !== "" && ParsedBody.length === 0) {
|
||||
MessagesAdapter.parseMessage(Id, Body, UtilsAdapter.getAppValue(Settings.DisplayHyperlinkPreviews), root.colorUrl, bubble.color);
|
||||
return ""
|
||||
}
|
||||
return (LinkifiedBody !== "") ? LinkifiedBody : "*(" + JamiStrings.deletedMessage + ")*";
|
||||
return (ParsedBody !== "") ? ParsedBody : "<i>(" + JamiStrings.deletedMessage + ")</i>";
|
||||
}
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
|
||||
@ -76,7 +89,8 @@ SBSMessageBase {
|
||||
font.pixelSize: isEmojiOnly ? JamiTheme.chatviewEmojiSize : JamiTheme.emojiBubbleSize
|
||||
font.hintingPreference: Font.PreferNoHinting
|
||||
renderType: Text.NativeRendering
|
||||
textFormat: Text.MarkdownText
|
||||
textFormat: Text.RichText
|
||||
clip: true
|
||||
onLinkHovered: root.hoveredLink = hoveredLink
|
||||
onLinkActivated: Qt.openUrlExternally(new URL(hoveredLink))
|
||||
readOnly: true
|
||||
@ -142,7 +156,7 @@ SBSMessageBase {
|
||||
Layout.bottomMargin: JamiTheme.preferredMarginSize
|
||||
|
||||
text: JamiStrings.edited
|
||||
color: UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewTextColorLight : JamiTheme.chatviewTextColorDark
|
||||
color: root.colorText
|
||||
font.pointSize: JamiTheme.editedFontSize
|
||||
|
||||
TapHandler {
|
||||
@ -226,8 +240,8 @@ SBSMessageBase {
|
||||
wrapMode: Label.WrapAtWordBoundaryOrAnywhere
|
||||
renderType: Text.NativeRendering
|
||||
textFormat: TextEdit.RichText
|
||||
color: UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewTextColorLight : JamiTheme.chatviewTextColorDark
|
||||
visible: LinkPreviewInfo.title !== null
|
||||
color: root.colorText
|
||||
visible: LinkPreviewInfo.title.length > 0
|
||||
text: LinkPreviewInfo.title
|
||||
}
|
||||
Label {
|
||||
@ -237,7 +251,7 @@ SBSMessageBase {
|
||||
wrapMode: Label.WrapAtWordBoundaryOrAnywhere
|
||||
renderType: Text.NativeRendering
|
||||
textFormat: TextEdit.RichText
|
||||
visible: LinkPreviewInfo.description !== null
|
||||
visible: LinkPreviewInfo.description.length > 0
|
||||
font.underline: root.hoveredLink
|
||||
text: LinkPreviewInfo.description
|
||||
color: root.colorUrl
|
||||
@ -249,7 +263,7 @@ SBSMessageBase {
|
||||
wrapMode: Label.WrapAtWordBoundaryOrAnywhere
|
||||
renderType: Text.NativeRendering
|
||||
textFormat: TextEdit.RichText
|
||||
color: UtilsAdapter.luma(bubble.color) ? JamiTheme.chatviewTextColorLight : JamiTheme.chatviewTextColorDark
|
||||
color: root.colorText
|
||||
text: LinkPreviewInfo.domain
|
||||
}
|
||||
}
|
||||
@ -263,10 +277,5 @@ SBSMessageBase {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
if (Linkified.length === 0) {
|
||||
MessagesAdapter.parseMessageUrls(Id, Body, UtilsAdapter.getAppValue(Settings.DisplayHyperlinkPreviews), root.colorUrl);
|
||||
}
|
||||
opacity = 1;
|
||||
}
|
||||
Component.onCompleted: opacity = 1;
|
||||
}
|
||||
|
||||
@ -51,6 +51,7 @@ ModalTextEdit {
|
||||
|
||||
property bool isActive: false
|
||||
property string infohash: CurrentAccount.uri
|
||||
property string accountId: CurrentAccount.id
|
||||
property string registeredName: CurrentAccount.registeredName
|
||||
staticText: root.isActive ? registeredName : (registeredName ? registeredName : infohash)
|
||||
|
||||
@ -118,7 +119,7 @@ ModalTextEdit {
|
||||
onTriggered: {
|
||||
if (dynamicText.length !== 0) {
|
||||
nameRegistrationState = UsernameTextEdit.NameRegistrationState.SEARCHING;
|
||||
NameDirectory.lookupName(CurrentAccount.id, dynamicText);
|
||||
NameDirectory.lookupName(root.accountId, dynamicText);
|
||||
} else {
|
||||
nameRegistrationState = UsernameTextEdit.NameRegistrationState.BLANK;
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ Item {
|
||||
|
||||
antialiasing: true
|
||||
anchors.fill: parent
|
||||
opacity: videoProvider.activeRenderers[rendererId] !== undefined
|
||||
opacity: videoProvider.activeRenderers[rendererId] === true
|
||||
visible: opacity
|
||||
|
||||
fillMode: crop ? VideoOutput.PreserveAspectCrop : VideoOutput.PreserveAspectFit
|
||||
|
||||
@ -100,6 +100,7 @@ Menu {
|
||||
radius: 16.0
|
||||
color: JamiTheme.shadowColor
|
||||
transparentBorder: true
|
||||
samples: radius + 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -183,7 +183,7 @@ primaryConnectionChanged(NMClient* nm, GParamSpec*, ConnectivityMonitor* cm)
|
||||
{
|
||||
auto connection = nm_client_get_primary_connection(nm);
|
||||
logConnectionInfo(connection);
|
||||
cm->connectivityChanged();
|
||||
Q_EMIT cm->connectivityChanged();
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
class ConnectivityMonitor final : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -34,6 +33,7 @@ Q_SIGNALS:
|
||||
void connectivityChanged();
|
||||
|
||||
private:
|
||||
#ifdef Q_OS_WIN
|
||||
void destroy();
|
||||
|
||||
struct INetworkListManager* pNetworkListManager_;
|
||||
@ -41,21 +41,5 @@ private:
|
||||
struct IConnectionPoint* pConnectPoint_;
|
||||
class NetworkEventHandler* netEventHandler_;
|
||||
unsigned long cookie_;
|
||||
};
|
||||
|
||||
#else
|
||||
// TODO: platform implementations should be in the daemon.
|
||||
|
||||
class ConnectivityMonitor final : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ConnectivityMonitor(QObject* parent = nullptr);
|
||||
~ConnectivityMonitor();
|
||||
|
||||
bool isOnline();
|
||||
|
||||
Q_SIGNALS:
|
||||
void connectivityChanged();
|
||||
};
|
||||
#endif // Q_OS_WIN
|
||||
};
|
||||
|
||||
@ -165,7 +165,6 @@ Item {
|
||||
|
||||
// SettingsHeader
|
||||
property string back: qsTr("Back")
|
||||
property string accountSettingsTitle: qsTr("Account Settings")
|
||||
property string accountSettingsMenuTitle: qsTr("Account")
|
||||
property string generalSettingsTitle: qsTr("General")
|
||||
property string pluginSettingsTitle: qsTr("Plugins")
|
||||
@ -199,7 +198,7 @@ Item {
|
||||
property string enableHWAccel: qsTr("Enable hardware acceleration")
|
||||
property string mirrorLocalVideo: qsTr("Mirror local video")
|
||||
property string previewUnavailable: qsTr("Preview unavailable")
|
||||
property string screenSharing: qsTr("Screen Sharing")
|
||||
property string screenSharing: qsTr("Screen sharing")
|
||||
property string selectScreenSharingFPS: qsTr("Select screen sharing frame rate (frames per second)")
|
||||
property string noVideo: qsTr("no video")
|
||||
|
||||
@ -295,6 +294,7 @@ Item {
|
||||
property string layoutSettings: qsTr("Layout settings")
|
||||
property string tileScreenshot: qsTr("Take tile screenshot")
|
||||
property string screenshotTaken: qsTr("Screenshot saved to %1")
|
||||
property string fileSaved: qsTr("File saved to %1")
|
||||
|
||||
//advanced information
|
||||
property string renderersInformation: qsTr("Renderers information")
|
||||
@ -886,7 +886,7 @@ Item {
|
||||
property string enableAccountDescription: qsTr("Enabling your account allows you to be contacted on Jami")
|
||||
|
||||
// General
|
||||
property string appearence: qsTr("Appearance")
|
||||
property string appearance: qsTr("Appearance")
|
||||
|
||||
// System
|
||||
property string experimental: qsTr("Experimental")
|
||||
|
||||
@ -142,7 +142,7 @@ Item {
|
||||
property color switchHandleBorderColor: tintedBlue
|
||||
property color switchHandleCheckedBorderColor: darkTheme ? "#0071c9" : "#005699"
|
||||
|
||||
//Combobox
|
||||
// Combobox
|
||||
property color comboBoxBackgroundColor: darkTheme ? editBackgroundColor : selectedColor
|
||||
property color comboboxBorderColorActive: darkTheme ? "#03B9E9" : "#005699"
|
||||
property color comboboxBorderColor: darkTheme ? "#1D5F70" : "#A3C2DA"
|
||||
@ -151,11 +151,11 @@ Item {
|
||||
property color comboboxTextColor: darkTheme ? "#03B9E9" : "#005699"
|
||||
property color comboboxTextColorHovered: tintedBlue
|
||||
|
||||
//Spinbox
|
||||
// Spinbox
|
||||
property color spinboxBackgroundColor: darkTheme ? editBackgroundColor : selectedColor
|
||||
property color spinboxBorderColor: darkTheme ? "#1D5F70" : "#A3C2DA"
|
||||
|
||||
//Toast
|
||||
// Toast
|
||||
property color toastColor: darkTheme ? "#f0f0f0" : "#000000"
|
||||
property color toastRectColor: !darkTheme ? "#f0f0f0" : "#000000"
|
||||
property real toastFontSize: calcSize(15)
|
||||
@ -231,7 +231,7 @@ Item {
|
||||
property color messageWebViewFooterButtonImageColor: darkTheme ? "#838383" : "#656565"
|
||||
property color chatviewUsernameColor: "#A7A7A7"
|
||||
|
||||
//ChatView Footer
|
||||
// ChatView Footer
|
||||
property color chatViewFooterListColor: darkTheme ? blackColor : "#E5E5E5"
|
||||
property color chatViewFooterImgColor: darkTheme ? whiteColor : blackColor
|
||||
property color showMoreButtonOpenColor: darkTheme ? "#123F4A" : "#CCCCCC"
|
||||
@ -239,13 +239,13 @@ Item {
|
||||
property color chatViewFooterSendButtonColor: darkTheme ? "#03B9E9" : "#005699"
|
||||
property color chatViewFooterSendButtonImgColor: darkTheme ? blackColor : whiteColor
|
||||
|
||||
//mapPosition
|
||||
// mapPosition
|
||||
property color mapButtonsOverlayColor: darkTheme ? "#000000" : "#f0f0f0"
|
||||
property color mapButtonColor: darkTheme ? "#f0f0f0" : "#000000"
|
||||
property color sharePositionIndicatorColor: darkTheme ? "#03B9E9" : "#005699"
|
||||
property color sharedPositionIndicatorColor: darkTheme ? whiteColor : blackColor
|
||||
|
||||
//EmojiReact
|
||||
// EmojiReact
|
||||
property real emojiBubbleSize: calcSize(17)
|
||||
property real emojiBubbleSizeBig: calcSize(21)
|
||||
property real emojiReactSize: calcSize(12)
|
||||
@ -271,7 +271,7 @@ Item {
|
||||
property color typingDotsNormalColor: darkTheme ? "#686b72" : "lightgrey"
|
||||
property color typingDotsEnlargeColor: darkTheme ? "white" : Qt.darker("lightgrey", 3.0)
|
||||
|
||||
// Font.
|
||||
// Font
|
||||
property color faddedFontColor: darkTheme ? "#c0c0c0" : "#a0a0a0"
|
||||
property color faddedLastInteractionFontColor: darkTheme ? "#c0c0c0" : "#505050"
|
||||
|
||||
@ -307,7 +307,6 @@ Item {
|
||||
property real buttonFontSize: calcSize(9)
|
||||
property real materialButtonPreferredHeight: calcSize(36)
|
||||
property real participantFontSize: calcSize(10 + fontSizeOffset)
|
||||
property real participantSwarmDetailFontSize: calcSize(15 + fontSizeOffset)
|
||||
property real menuFontSize: calcSize(12 + fontSizeOffset)
|
||||
property real headerFontSize: calcSize(14.25 + fontSizeOffset)
|
||||
property real titleFontSize: calcSize(16 + fontSizeOffset)
|
||||
@ -383,7 +382,7 @@ Item {
|
||||
property real recordingBtnSize: 12
|
||||
property real recordingIndicatorSize: 24
|
||||
|
||||
//TimestampInfo
|
||||
// TimestampInfo
|
||||
property int timestampLinePadding: 40
|
||||
property int dayTimestampTopMargin: 8
|
||||
property int dayTimestampBottomMargin: 8
|
||||
@ -394,7 +393,7 @@ Item {
|
||||
property real timestampFont: calcSize(12)
|
||||
property int timestampIntervalTime: 120
|
||||
|
||||
//swarmDetailsPage
|
||||
// SwarmDetailsPage
|
||||
property real swarmDetailsPageTopMargin: 32
|
||||
property real swarmDetailsPageDocumentsMargins: 5
|
||||
property real swarmDetailsPageDocumentsMediaRadius: 15
|
||||
@ -403,7 +402,7 @@ Item {
|
||||
property real swarmDetailsPageDocumentsHeight: 40 * baseZoom
|
||||
property real swarmDetailsPageDocumentsMinHeight: 40
|
||||
|
||||
//Call information
|
||||
// Call information
|
||||
property real textFontPointSize: calcSize(10)
|
||||
property real titleFontPointSize: calcSize(13)
|
||||
property color callInfoColor: whiteColor
|
||||
@ -455,9 +454,8 @@ Item {
|
||||
property real typingDotsSize: 8
|
||||
|
||||
// MessageWebView File Transfer Container
|
||||
property real filesToSendContainerSpacing: 120
|
||||
property real filesToSendContainerSpacing: 25
|
||||
property real filesToSendContainerPadding: 10
|
||||
property real filesToSendDelegateWidth: 100
|
||||
property real filesToSendDelegateHeight: 100
|
||||
property real filesToSendDelegateRadius: 7
|
||||
property real filesToSendDelegateButtonSize: 16
|
||||
@ -536,11 +534,11 @@ Item {
|
||||
|
||||
property real cornerIconSize: 40
|
||||
|
||||
//InfoBox
|
||||
// InfoBox
|
||||
property real infoBoxTitleFontSize: calcSize(13)
|
||||
property real infoBoxDescFontSize: calcSize(12)
|
||||
|
||||
//Tipbox
|
||||
// Tipbox
|
||||
property real tipBoxTitleFontSize: calcSize(13)
|
||||
property real tipBoxContentFontSize: calcSize(12)
|
||||
property color tipBoxBackgroundColor: darkTheme ? blackColor : whiteColor
|
||||
@ -549,10 +547,10 @@ Item {
|
||||
property color tooltipShortCutBackgroundColor: darkTheme ? blackColor : "#2c2c2c"
|
||||
property color tooltipShortCutTextColor: "#a7a7a7"
|
||||
|
||||
//sharePosition
|
||||
// SharePosition
|
||||
property real timerButtonsFontSize: calcSize(11)
|
||||
|
||||
//Popups
|
||||
// Popups
|
||||
property real popuptextSize: calcSize(15)
|
||||
property real popupButtonsMargin: 20
|
||||
property real popupPhotoTextSize: calcSize(18)
|
||||
@ -565,7 +563,7 @@ Item {
|
||||
property real textEditError: calcSize(15)
|
||||
property real maximumCharacters: 50
|
||||
|
||||
//MaterialButton
|
||||
// MaterialButton
|
||||
property real buttontextPadding: 10
|
||||
property real buttontextWizzardPadding: 30
|
||||
property real buttontextHeightMargin: 21
|
||||
@ -578,7 +576,7 @@ Item {
|
||||
// JamiScrollBar
|
||||
property int scrollBarHandleSize: 6
|
||||
|
||||
//KeyboardShortcutTable
|
||||
// KeyboardShortcutTable
|
||||
property int titleRectMargin: 25
|
||||
property int keyboardShortcutTabBarSize: 24
|
||||
property int keyboardShortcutDelegateSize: 50
|
||||
@ -617,6 +615,17 @@ Item {
|
||||
property int settingsMenuHeaderButtonHeight: 50
|
||||
property int settingsListViewsSpacing: 10
|
||||
|
||||
// MaterialRadioButton
|
||||
property int radioImageSize: 30
|
||||
property color radioBackgroundColor: darkTheme ? "#515151" : "#F0EFEF"
|
||||
property color radioBorderColor: darkTheme ? "#03B9E9" : "#005699"
|
||||
property color lightThemeBackgroundColor: JamiTheme.whiteColor
|
||||
property color lightThemeCheckedColor: "#005699"
|
||||
property color lightThemeBorderColor: "#005699"
|
||||
property color darkThemeBackgroundColor: JamiTheme.darkTheme ? JamiTheme.blackColor : JamiTheme.bgDarkMode_
|
||||
property color darkThemeCheckedColor: "#03B9E9"
|
||||
property color darkThemeBorderColor: "#03B9E9"
|
||||
|
||||
function setTheme(dark) {
|
||||
darkTheme = dark;
|
||||
}
|
||||
|
||||
@ -28,7 +28,10 @@ ContactAdapter::ContactAdapter(LRCInstance* instance, QObject* parent)
|
||||
selectableProxyModel_.reset(new SelectableProxyModel(this));
|
||||
if (lrcInstance_) {
|
||||
connectSignals();
|
||||
connect(lrcInstance_, &LRCInstance::currentAccountIdChanged, [this] { connectSignals(); });
|
||||
connect(lrcInstance_,
|
||||
&LRCInstance::currentAccountIdChanged,
|
||||
this,
|
||||
&ContactAdapter::connectSignals);
|
||||
}
|
||||
}
|
||||
|
||||
@ -246,20 +249,27 @@ ContactAdapter::removeContact(const QString& peerUri, bool banContact)
|
||||
void
|
||||
ContactAdapter::connectSignals()
|
||||
{
|
||||
if (lrcInstance_->getCurrentContactModel()) {
|
||||
connect(lrcInstance_->getCurrentContactModel(),
|
||||
&ContactModel::bannedStatusChanged,
|
||||
this,
|
||||
&ContactAdapter::bannedStatusChanged,
|
||||
Qt::UniqueConnection);
|
||||
connect(
|
||||
lrcInstance_->getCurrentContactModel(),
|
||||
if (!lrcInstance_->getCurrentContactModel()) {
|
||||
qWarning() << Q_FUNC_INFO << "No contact model";
|
||||
return;
|
||||
}
|
||||
|
||||
connect(lrcInstance_->getCurrentContactModel(),
|
||||
&ContactModel::bannedStatusChanged,
|
||||
this,
|
||||
&ContactAdapter::bannedStatusChanged,
|
||||
Qt::UniqueConnection);
|
||||
connect(lrcInstance_->getCurrentContactModel(),
|
||||
&ContactModel::modelUpdated,
|
||||
this,
|
||||
[&](const auto& uri) {
|
||||
// Refresh contacts shown
|
||||
selectableProxyModel_->invalidate();
|
||||
},
|
||||
&ContactAdapter::onModelUpdated,
|
||||
Qt::UniqueConnection);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ContactAdapter::onModelUpdated(const QString& uri)
|
||||
{
|
||||
Q_UNUSED(uri)
|
||||
// Refresh contacts shown
|
||||
selectableProxyModel_->invalidate();
|
||||
}
|
||||
|
||||
@ -95,6 +95,10 @@ public:
|
||||
|
||||
Q_SIGNALS:
|
||||
void bannedStatusChanged(const QString& uri, bool banned);
|
||||
void defaultModeratorsUpdated();
|
||||
|
||||
private Q_SLOTS:
|
||||
void onModelUpdated(const QString& uri);
|
||||
|
||||
private:
|
||||
SmartListModel::Type listModeltype_;
|
||||
@ -105,7 +109,4 @@ private:
|
||||
|
||||
bool hasDifferentMembers(const VectorString& currentMembers,
|
||||
const VectorString& convMembers) const;
|
||||
|
||||
Q_SIGNALS:
|
||||
void defaultModeratorsUpdated();
|
||||
};
|
||||
|
||||
@ -23,7 +23,12 @@ ConversationListModelBase::ConversationListModelBase(LRCInstance* instance, QObj
|
||||
: AbstractListModelBase(parent)
|
||||
{
|
||||
lrcInstance_ = instance;
|
||||
model_ = lrcInstance_->getCurrentConversationModel();
|
||||
try {
|
||||
auto& accInfo = lrcInstance_->getCurrentAccountInfo();
|
||||
accountId_ = accInfo.id;
|
||||
model_ = accInfo.conversationModel.get();
|
||||
} catch (...) {
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
@ -47,12 +52,12 @@ ConversationListModelBase::roleNames() const
|
||||
QVariant
|
||||
ConversationListModelBase::dataForItem(item_t item, int role) const
|
||||
{
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId_);
|
||||
switch (role) {
|
||||
case Role::InCall: {
|
||||
const auto& convInfo = lrcInstance_->getConversationFromConvUid(item.uid);
|
||||
if (!convInfo.uid.isEmpty()) {
|
||||
auto* callModel = lrcInstance_->getCurrentCallModel();
|
||||
return QVariant(callModel->hasCall(convInfo.callId));
|
||||
return QVariant(accInfo.callModel->hasCall(convInfo.callId));
|
||||
}
|
||||
return QVariant(false);
|
||||
}
|
||||
@ -69,9 +74,8 @@ ConversationListModelBase::dataForItem(item_t item, int role) const
|
||||
case Role::CallStackViewShouldShow: {
|
||||
const auto& convInfo = lrcInstance_->getConversationFromConvUid(item.uid);
|
||||
if (!convInfo.uid.isEmpty() && !convInfo.callId.isEmpty()) {
|
||||
auto* callModel = lrcInstance_->getCurrentCallModel();
|
||||
const auto& call = callModel->getCall(convInfo.callId);
|
||||
return QVariant(callModel->hasCall(convInfo.callId)
|
||||
const auto& call = accInfo.callModel->getCall(convInfo.callId);
|
||||
return QVariant(accInfo.callModel->hasCall(convInfo.callId)
|
||||
&& ((!call.isOutgoing
|
||||
&& (call.status == call::Status::IN_PROGRESS
|
||||
|| call.status == call::Status::PAUSED
|
||||
@ -141,7 +145,7 @@ ConversationListModelBase::dataForItem(item_t item, int role) const
|
||||
QStringList ret;
|
||||
Q_FOREACH (const auto& peerUri, model_->peersForConversation(item.uid))
|
||||
try {
|
||||
auto& accInfo = lrcInstance_->getCurrentAccountInfo();
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId_);
|
||||
auto contact = accInfo.contactModel->getContact(peerUri);
|
||||
ret << contact.profileInfo.alias << contact.registeredName;
|
||||
} catch (const std::exception&) {
|
||||
@ -152,7 +156,7 @@ ConversationListModelBase::dataForItem(item_t item, int role) const
|
||||
// The conversation can show a green dot if at least one peer is present
|
||||
Q_FOREACH (const auto& peerUri, model_->peersForConversation(item.uid))
|
||||
try {
|
||||
auto& accInfo = lrcInstance_->getCurrentAccountInfo();
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId_);
|
||||
if (peerUri == accInfo.profileInfo.uri)
|
||||
return true; // Self account
|
||||
auto contact = accInfo.contactModel->getContact(peerUri);
|
||||
@ -171,7 +175,7 @@ ConversationListModelBase::dataForItem(item_t item, int role) const
|
||||
if (peerUriList.isEmpty())
|
||||
return {};
|
||||
auto peerUri = peerUriList.at(0);
|
||||
auto& accInfo = lrcInstance_->getCurrentAccountInfo();
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId_);
|
||||
if (peerUri == accInfo.profileInfo.uri) {
|
||||
// Conversation alone with self
|
||||
switch (role) {
|
||||
@ -186,8 +190,7 @@ ConversationListModelBase::dataForItem(item_t item, int role) const
|
||||
case Role::IsBanned:
|
||||
return QVariant(false);
|
||||
case Role::ContactType:
|
||||
return QVariant(
|
||||
static_cast<int>(accInfo.profileInfo.type));
|
||||
return QVariant(static_cast<int>(accInfo.profileInfo.type));
|
||||
}
|
||||
}
|
||||
ContactModel* contactModel;
|
||||
@ -196,8 +199,9 @@ ConversationListModelBase::dataForItem(item_t item, int role) const
|
||||
try {
|
||||
contact = contactModel->getContact(peerUri);
|
||||
} catch (const std::exception&) {
|
||||
qWarning() << Q_FUNC_INFO << "Can't find contact" << peerUri
|
||||
<< " this is a bug, please report";
|
||||
qWarning() << Q_FUNC_INFO << "Can't find contact" << peerUri << " for account "
|
||||
<< lrcInstance_->accountModel().bestNameForAccount(accInfo.id)
|
||||
<< " - Conv: " << item.uid;
|
||||
}
|
||||
|
||||
switch (role) {
|
||||
|
||||
@ -80,5 +80,6 @@ protected:
|
||||
using Role = ConversationList::Role;
|
||||
|
||||
// Convenience pointer to be pulled from lrcinstance
|
||||
ConversationModel* model_;
|
||||
ConversationModel* model_ {nullptr};
|
||||
QString accountId_;
|
||||
};
|
||||
|
||||
@ -22,6 +22,9 @@
|
||||
#include "qtutils.h"
|
||||
#include "systemtray.h"
|
||||
#include "qmlregister.h"
|
||||
#include "qtutils.h"
|
||||
|
||||
#include "namedirectory.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QJsonObject>
|
||||
@ -85,18 +88,21 @@ ConversationsAdapter::ConversationsAdapter(SystemTray* systemTray,
|
||||
// notification responses
|
||||
connect(systemTray_,
|
||||
&SystemTray::openConversationActivated,
|
||||
this,
|
||||
[this](const QString& accountId, const QString& convUid) {
|
||||
Q_EMIT lrcInstance_->notificationClicked();
|
||||
lrcInstance_->selectConversation(convUid, accountId);
|
||||
});
|
||||
connect(systemTray_,
|
||||
&SystemTray::acceptPendingActivated,
|
||||
this,
|
||||
[this](const QString& accountId, const QString& convUid) {
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId);
|
||||
accInfo.conversationModel->acceptConversationRequest(convUid);
|
||||
});
|
||||
connect(systemTray_,
|
||||
&SystemTray::refusePendingActivated,
|
||||
this,
|
||||
[this](const QString& accountId, const QString& convUid) {
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId);
|
||||
accInfo.conversationModel->removeConversation(convUid);
|
||||
@ -178,11 +184,11 @@ ConversationsAdapter::onNewUnreadInteraction(const QString& accountId,
|
||||
interaction.authorUri,
|
||||
QSize(50, 50),
|
||||
accountId);
|
||||
auto notifId = QString("%1;%2;%3").arg(accountId).arg(convUid).arg(interactionId);
|
||||
auto notifId = QString("%1;%2;%3").arg(accountId, convUid, interactionId);
|
||||
systemTray_->showNotification(notifId,
|
||||
tr("%1 received a new message").arg(to),
|
||||
from + ": " + body_,
|
||||
NotificationType::CHAT,
|
||||
SystemTray::NotificationType::CHAT,
|
||||
Utils::QImageToByteArray(contactPhoto));
|
||||
|
||||
#else
|
||||
@ -207,7 +213,7 @@ ConversationsAdapter::onNewReadInteraction(const QString& accountId,
|
||||
{
|
||||
#ifdef Q_OS_LINUX
|
||||
// hide notification
|
||||
auto notifId = QString("%1;%2;%3").arg(accountId).arg(convUid).arg(interactionId);
|
||||
auto notifId = QString("%1;%2;%3").arg(accountId, convUid, interactionId);
|
||||
systemTray_->hideNotification(notifId);
|
||||
#else
|
||||
Q_UNUSED(accountId)
|
||||
@ -229,21 +235,37 @@ ConversationsAdapter::onNewTrustRequest(const QString& accountId,
|
||||
if (convInfo.uid.isEmpty())
|
||||
return;
|
||||
}
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId);
|
||||
auto from = accInfo.contactModel->bestNameForContact(peerUri);
|
||||
auto to = lrcInstance_->accountModel().bestNameForAccount(accountId);
|
||||
|
||||
auto preferences = accInfo.conversationModel->getConversationPreferences(convId);
|
||||
// Ignore notifications for this conversation
|
||||
if (preferences["ignoreNotifications"] == "true")
|
||||
return;
|
||||
auto contactPhoto = Utils::contactPhoto(lrcInstance_, peerUri, QSize(50, 50), accountId);
|
||||
auto notifId = QString("%1;%2").arg(accountId).arg(conv);
|
||||
systemTray_->showNotification(notifId,
|
||||
tr("%1 received a new trust request").arg(to),
|
||||
"New request from " + from,
|
||||
NotificationType::REQUEST,
|
||||
Utils::QImageToByteArray(contactPhoto));
|
||||
auto cb = [this, to, accountId, conv, peerUri](QString peerBestName) {
|
||||
auto contactPhoto = Utils::contactPhoto(lrcInstance_, peerUri, QSize(50, 50), accountId);
|
||||
auto notifId = QString("%1;%2").arg(accountId, conv);
|
||||
systemTray_->showNotification(notifId,
|
||||
tr("%1 received a new trust request").arg(to),
|
||||
"New request from " + peerBestName,
|
||||
SystemTray::NotificationType::REQUEST,
|
||||
Utils::QImageToByteArray(contactPhoto));
|
||||
};
|
||||
|
||||
// This peer is not yet a contact, so we don't have a name for it,
|
||||
// but we can attempt to look it up using the name service before
|
||||
// falling back to the bestNameForContact.
|
||||
Utils::oneShotConnect(&NameDirectory::instance(),
|
||||
&NameDirectory::registeredNameFound,
|
||||
this,
|
||||
[this, accountId, peerUri, cb](NameDirectory::LookupStatus status,
|
||||
const QString& address,
|
||||
const QString& name) {
|
||||
if (address == peerUri) {
|
||||
if (status == NameDirectory::LookupStatus::SUCCESS)
|
||||
cb(name);
|
||||
else {
|
||||
auto& accInfo = lrcInstance_->getAccountInfo(accountId);
|
||||
cb(accInfo.contactModel->bestNameForContact(peerUri));
|
||||
}
|
||||
}
|
||||
});
|
||||
std::ignore = NameDirectory::instance().lookupAddress(accountId, peerUri);
|
||||
}
|
||||
#else
|
||||
Q_UNUSED(accountId)
|
||||
@ -257,7 +279,7 @@ ConversationsAdapter::onTrustRequestTreated(const QString& accountId, const QStr
|
||||
{
|
||||
#ifdef Q_OS_LINUX
|
||||
// hide notification
|
||||
auto notifId = QString("%1;%2").arg(accountId).arg(peerUri);
|
||||
auto notifId = QString("%1;%2").arg(accountId, peerUri);
|
||||
systemTray_->hideNotification(notifId);
|
||||
#else
|
||||
Q_UNUSED(accountId)
|
||||
|
||||
@ -37,19 +37,12 @@ CurrentAccount::CurrentAccount(LRCInstance* lrcInstance,
|
||||
this,
|
||||
&CurrentAccount::onAccountUpdated);
|
||||
|
||||
|
||||
connect(lrcInstance_->getCurrentContactModel(),
|
||||
&ContactModel::bannedStatusChanged,
|
||||
connect(lrcInstance_,
|
||||
&LRCInstance::currentAccountIdChanged,
|
||||
this,
|
||||
[&](const auto&, auto) {
|
||||
set_hasBannedContacts(
|
||||
lrcInstance_->getCurrentAccountInfo().contactModel->getBannedContacts().size());
|
||||
},
|
||||
Qt::UniqueConnection);
|
||||
&CurrentAccount::setupForAccount);
|
||||
|
||||
connect(lrcInstance_, &LRCInstance::currentAccountIdChanged, [this] { updateData(); });
|
||||
|
||||
updateData();
|
||||
setupForAccount();
|
||||
}
|
||||
|
||||
void
|
||||
@ -94,6 +87,17 @@ CurrentAccount::get_isLocalModeratorsEnabled()
|
||||
return isLocalModeratorsEnabled_;
|
||||
}
|
||||
|
||||
void
|
||||
CurrentAccount::setupForAccount()
|
||||
{
|
||||
connect(lrcInstance_->getCurrentContactModel(),
|
||||
&ContactModel::bannedStatusChanged,
|
||||
this,
|
||||
&CurrentAccount::onBannedStatusChanged,
|
||||
Qt::UniqueConnection);
|
||||
updateData();
|
||||
}
|
||||
|
||||
void
|
||||
CurrentAccount::onAccountUpdated(const QString& id)
|
||||
{
|
||||
@ -103,6 +107,15 @@ CurrentAccount::onAccountUpdated(const QString& id)
|
||||
updateData();
|
||||
}
|
||||
|
||||
void
|
||||
CurrentAccount::onBannedStatusChanged(const QString& contactUri, bool banned)
|
||||
{
|
||||
Q_UNUSED(contactUri)
|
||||
Q_UNUSED(banned)
|
||||
set_hasBannedContacts(
|
||||
lrcInstance_->getCurrentAccountInfo().contactModel->getBannedContacts().size());
|
||||
}
|
||||
|
||||
void
|
||||
CurrentAccount::updateData()
|
||||
{
|
||||
|
||||
@ -211,7 +211,9 @@ Q_SIGNALS:
|
||||
|
||||
private Q_SLOTS:
|
||||
void updateData();
|
||||
void setupForAccount();
|
||||
void onAccountUpdated(const QString& id);
|
||||
void onBannedStatusChanged(const QString& contactUri, bool banned);
|
||||
|
||||
private:
|
||||
bool isAllModeratorsEnabled_;
|
||||
|
||||
@ -43,6 +43,13 @@ CurrentCall::CurrentCall(LRCInstance* lrcInstance, QObject* parent)
|
||||
this,
|
||||
&CurrentCall::onShowIncomingCallView);
|
||||
|
||||
try {
|
||||
auto& accInfo = lrcInstance_->getCurrentAccountInfo();
|
||||
set_isSIP(accInfo.profileInfo.type == profile::Type::SIP);
|
||||
} catch (const std::exception& e) {
|
||||
qWarning() << "Can't update current call type" << e.what();
|
||||
}
|
||||
|
||||
connectModel();
|
||||
}
|
||||
|
||||
|
||||
@ -324,12 +324,13 @@ CurrentConversation::updateErrors(const QString& convId)
|
||||
if (code == 1) {
|
||||
newErrors.append(tr("An error occurred while fetching this repository"));
|
||||
} else if (code == 2) {
|
||||
newErrors.append(tr("The conversation's mode is un-recognized"));
|
||||
newErrors.append(tr("Unrecognized conversation mode"));
|
||||
} else if (code == 3) {
|
||||
newErrors.append(tr("An invalid message was detected"));
|
||||
} else if (code == 4) {
|
||||
newErrors.append(
|
||||
tr("Not enough authorization for updating conversation's infos"));
|
||||
newErrors.append(tr("Not authorized to update conversation information"));
|
||||
} else if (code == 5) {
|
||||
newErrors.append(tr("An error occurred while committing a new message"));
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ DBusErrorHandler::errorCallback()
|
||||
|
||||
Q_EMIT showDaemonReconnectPopup(true);
|
||||
|
||||
QTimer::singleShot(2500, [this]() {
|
||||
QTimer::singleShot(2500, this, [this]() {
|
||||
if ((!lrc::api::Lrc::isConnected()) || (!lrc::api::Lrc::dbusIsValid())) {
|
||||
qDebug() << "Could not reconnect to the daemon";
|
||||
Q_EMIT daemonReconnectFailed();
|
||||
|
||||
107
src/app/htmlparser.h
Normal file
107
src/app/htmlparser.h
Normal file
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Savoir-faire Linux Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QVariantMap>
|
||||
|
||||
#include "tidy.h"
|
||||
#include "tidybuffio.h"
|
||||
|
||||
// This class is used to parse HTML strings. It uses the libtidy library to parse
|
||||
// the HTML and traverse the DOM tree. It can be used to extract a list of tags
|
||||
// and their values from an HTML string.
|
||||
// Currently, it is used to extract the <a> and <pre> tags from a message body,
|
||||
// and in the future it can be used in conjunction with QtNetwork to generate link
|
||||
// previews without having to use QtWebEngine.
|
||||
class HtmlParser : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
HtmlParser(QObject* parent = nullptr)
|
||||
: QObject(parent)
|
||||
{
|
||||
doc_ = tidyCreate();
|
||||
tidyOptSetBool(doc_, TidyQuiet, yes);
|
||||
tidyOptSetBool(doc_, TidyShowWarnings, no);
|
||||
}
|
||||
|
||||
~HtmlParser()
|
||||
{
|
||||
tidyRelease(doc_);
|
||||
}
|
||||
|
||||
bool parseHtmlString(const QString& html)
|
||||
{
|
||||
return tidyParseString(doc_, html.toLocal8Bit().data()) >= 0;
|
||||
}
|
||||
|
||||
using TagInfoList = QMap<TidyTagId, QList<QString>>;
|
||||
|
||||
// A function that traverses the DOM tree and fills a QVariantMap with a list
|
||||
// of the tags and their values. The result is structured as follows:
|
||||
// {tagId1: ["tagValue1", "tagValue2", ...],
|
||||
// tagId: ["tagValue1", "tagValue2", ...],
|
||||
// ... }
|
||||
TagInfoList getTags(QList<TidyTagId> tags, int maxDepth = -1)
|
||||
{
|
||||
TagInfoList result;
|
||||
traverseNode(
|
||||
tidyGetRoot(doc_),
|
||||
tags,
|
||||
[&result](const QString& value, TidyTagId tag) { result[tag].append(value); },
|
||||
maxDepth);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QString getFirstTagValue(TidyTagId tag, int maxDepth = -1)
|
||||
{
|
||||
QString result;
|
||||
traverseNode(
|
||||
tidyGetRoot(doc_),
|
||||
{tag},
|
||||
[&result](const QString& value, TidyTagId) { result = value; },
|
||||
maxDepth);
|
||||
return result;
|
||||
}
|
||||
|
||||
private:
|
||||
void traverseNode(TidyNode node,
|
||||
QList<TidyTagId> tags,
|
||||
const std::function<void(const QString&, TidyTagId)>& cb,
|
||||
int depth = -1)
|
||||
{
|
||||
TidyBuffer nodeValue = {};
|
||||
for (auto tag : tags) {
|
||||
if (tidyNodeGetId(node) == tag && tidyNodeGetText(doc_, node, &nodeValue) == yes && cb) {
|
||||
cb(QString::fromLocal8Bit(nodeValue.bp), tag);
|
||||
if (depth != -1 && --depth == 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Traverse the children of the current node.
|
||||
for (TidyNode child = tidyGetChild(node); child; child = tidyGetNext(child)) {
|
||||
traverseNode(child, tags, cb, depth);
|
||||
}
|
||||
}
|
||||
|
||||
TidyDoc doc_;
|
||||
};
|
||||
@ -21,23 +21,23 @@
|
||||
#pragma once
|
||||
|
||||
namespace JamiAvatarTheme {
|
||||
static const QColor defaultAvatarColor_ = {"#ff9e9e9e"}; // Grey
|
||||
static const QColor defaultAvatarColor_ = {0x9e, 0x9e, 0x9e}; // Grey
|
||||
static const QColor avatarColors_[] {
|
||||
{"#fff44336"}, // Red
|
||||
{"#ffe91e63"}, // Pink
|
||||
{"#ff9c27b0"}, // Purple
|
||||
{"#ff673ab7"}, // Deep Purple
|
||||
{"#ff3f51b5"}, // Indigo
|
||||
{"#ff2196f3"}, // Blue
|
||||
{"#ff00bcd4"}, // Cyan
|
||||
{"#ff009688"}, // Teal
|
||||
{"#ff4caf50"}, // Green
|
||||
{"#ff8bc34a"}, // Light Green
|
||||
{"#ff9e9e9e"}, // Grey
|
||||
{"#ffcddc39"}, // Lime
|
||||
{"#ffffc107"}, // Amber
|
||||
{"#ffff5722"}, // Deep Orange
|
||||
{"#ff795548"}, // Brown
|
||||
{"#ff607d8b"} // Blue Grey
|
||||
{0xf4, 0x43, 0x24}, // Red
|
||||
{0xe9, 0x1e, 0x63}, // Pink
|
||||
{0x9c, 0x27, 0xb0}, // Purple
|
||||
{0x67, 0x3a, 0xb7}, // Deep Purple
|
||||
{0x3f, 0x51, 0xb5}, // Indigo
|
||||
{0x21, 0x96, 0xf3}, // Blue
|
||||
{0x00, 0xbc, 0xd4}, // Cyan
|
||||
{0x00, 0x96, 0x88}, // Teal
|
||||
{0x4c, 0xaf, 0x50}, // Green
|
||||
{0x8b, 0xc3, 0x4a}, // Light Green
|
||||
{0x9e, 0x9e, 0x9e}, // Grey
|
||||
{0xcd, 0xdc, 0x39}, // Lime
|
||||
{0xff, 0xc1, 0x07}, // Amber
|
||||
{0xff, 0x57, 0x22}, // Deep Orange
|
||||
{0x79, 0x55, 0x48}, // Brown
|
||||
{0x60, 0x7d, 0x8b} // Blue Grey
|
||||
};
|
||||
} // namespace JamiAvatarTheme
|
||||
|
||||
@ -58,7 +58,7 @@ LRCInstance::LRCInstance(migrateCallback willMigrateCb,
|
||||
set_currentAccountAvatarSet(!profileInfo.avatar.isEmpty());
|
||||
});
|
||||
|
||||
connect(&accountModel(), &AccountModel::profileUpdated, [this](const QString& id) {
|
||||
connect(&accountModel(), &AccountModel::profileUpdated, this, [this](const QString& id) {
|
||||
if (id != currentAccountId_)
|
||||
return;
|
||||
|
||||
|
||||
@ -138,7 +138,6 @@ Q_SIGNALS:
|
||||
void selectedConvUidChanged();
|
||||
void restoreAppRequested();
|
||||
void notificationClicked();
|
||||
void quitEngineRequested();
|
||||
void conversationUpdated(const QString& convId, const QString& accountId);
|
||||
void draftSaved(const QString& convId);
|
||||
void base64SwarmAvatarChanged();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user