| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-113277
Change-Id: I4885e6df894e24c2fdacccc4e58530ee9b190968
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 91c3e3dceaaaf27e7e92425e99f42898871fb6c1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f87eb7401c50cf8fca61e49f06e1bfbb52964639)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linkify Qt Bluetooth, and add tags.
QtBluetooth will create a link to https://doc.qt.io/qt-6/qtbluetooth-module.html
Change-Id: I9da8bda1591fae26fbe0bde7ac86371af4b9e71c
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 619c20be1274778ff3a9344cd7f5b13f085bc956)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 7d458f96c45474ee20ca3c2f7aaf91a07427aeee)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the example to use QML Permission API.
This is not strictly necessary, because the example provides custom
C++ wrappers around Qt Bluetooth classes, and the permission request
was already conveniently implemented there.
However, this example is a good candidate to show QML Permission API
usage with Qt Bluetooth.
That's the reason for the code update, as well as a documentation
improvement.
Fixes: QTBUG-114640
Change-Id: I3ffeb61a83c205724da8b462f930604e1adb26c0
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
(cherry picked from commit 92e095a4ff780145d91feae2be33184be4503b40)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now when we have the fine-grained public QBluetoothPermission API, we
can use it to check for permissions in the Android implementation.
Adapt QtBluetooth examples to use only the minimal required set of
permissions.
As a drive-by: fix a couple of qCWarning() strings.
Task-number: QTBUG-109964
Change-Id: I55c67bcae27926e76bf9c1a8a9367af2b58883ff
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The '\meta category' command was used for tagging examples with a
specific category, used in Qt Creators Welcome mode.
As we want to also generate lists of examples belonging to a category
elsewhere in the documentation, replace the command with a macro that
expands to the original \meta command and also adds the example to
a group using the \ingroup command. This way, the category names can
be used as arguments to the \generatelist or \annotatedlist commands.
Pick-to: 6.5
Task-number: QTBUG-112731
Change-Id: I1df2d3bd6f2ef904ac7bac4d606b93d3824a802a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building an example for iOS with qmake (qt-cmake -GXcode) the
local Info.plists of three of the examples don't work, because they
were using qmake substitutions (${EXECUTABLE_NAME} instead of
${MACOSX_BUNDLE_EXECUTABLE_NAME}), which resulted in "CFBundleExecutable
is not specified".
Instead use shared plist files, each for CMake and qmake.
One of the removed files contained
NSBluetoothPeripheralUsageDescription key, which I think can be
discarded now; it is intended for iOS < 13, and the minimum for Qt 6
is 13.
Pick-to: 6.5
Change-Id: I901dc176c001e25ce88d42b9456b6e16d8f43c20
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... and also show the newly-discovered devices as soon as they are
discovered.
This requires a more complex logic for updating the device list,
because the deviceDiscovered() signal can be emitted multiple times for
the same device.
Task-number: QTBUG-111972
Pick-to: 6.5
Change-Id: I8e5f839ffb679516819d8f6063393d5a9b0ec840
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adapt the QML code to modern guidelines:
* properly create a QML module in CMake and qmake
* use versionless imports
* convert the Device class to QML_SINGLETON instead of injecting it
into the root context
* use QQmlApplicationEngine::loadFromModule() to start the app
The last change actually requires that we use Window instead of a
Rectangle for the Main.qml page. This, in turn, breaks the pre-existing
Loader logic, because every time we load the Main.qml page, a new
window is created. Apart from that, we get unqualified access warnings
from qmllint, because loader is accessed from every QML element, while
it is only defined in the Main.qml.
To fix that, we introduce a new page for device scan, and convert
Main.qml to use StackLayout instead of a Loader to avoid unqualified
access warnings. While on it, also fix other qmllint warnings and
re-format the QML files.
Task-number: QTBUG-111972
Pick-to: 6.5 6.5.0
Change-Id: Ia83cda08bf9547f5c2e335cb090c15d776f1b6ad
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces non-QML clean-ups to the example:
* add Connectivity category to the docs
* fix includes
* consistently use Qt::StringLiterals
* split some too long lines
QML part requires a huge refactoring, which is done in
a follow-up commit.
Task-number: QTBUG-111972
Pick-to: 6.5 6.5.0
Change-Id: I053b1c564d9dc2e05dfdb8879821615391e4be35
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|
|
|
|
|
|
|
|
|
| |
To explicitly handle Bluetooth permissions, not relying on QtBluetooth
silently doing this under the hood.
Task-number: QTBUG-109964
Change-Id: If8851e764bd0d06bddac815e8c8d1a88eb749438
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I9ace956ba9ee596ddf820623957f2d476036c5ed
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I8df2954bb61e0dc2a89f48c056b10a4bab395e0b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: Ic31d264037cb00d72436d585820e45e4ccac5c60
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: Ifc22d8ae24532e9a1093ca613ed6590a1992bc39
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove automatic use of CMAKE_AUTORCC
- Only opt into CMAKE_AUTOUIC if .ui files are involved
- Remove explicit setting of CMAKE_INCLUDE_CURRENT_DIR
- Combine multiple find_package(Qt6 ... calls)
- use REQUIRED COMPONENTS
- sort components alphabetically
- Fix wrong indentations
- Use (only) one empty line after multi-line commands
Pick-to: 6.3
Change-Id: If1935beb09edd873c45842ae06d0f41267a9b36a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default generated Info.plist is not enough as the Bluetooth examples
require NSBluetoothAlwaysUsageDescription key to work. Without this
patch on macOS 12 there are two possible outcomes:
1) If the example is built with qmake, the application will crash
and the crash report will indicate that the key is missing
2) If the example is built with CMake, the application will not start
as it tries to use iOS specific .plist file
The patch uses absolute paths in the example CMakeLists.txt files
to work around a Ninja bug:
https://gitlab.kitware.com/cmake/cmake/-/issues/20181
Using relative paths resulted in "multiple rules generate" errors
if the QtConnectivity module is built with examples.
Note that the plist files are only effective if the application is
started as an app bundle, ie. not if launching the contained binary
directly.
Pick-to: 6.2
Task-number: QTBUG-98090
Change-Id: Iedb7eabbb8fde6ad1ba14ada1a7ee87ec1d708ba
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As per Qt documentation in
https://doc.qt.io/qt-5/qml-qtquick-listview.html#example-usage
the parent of a delegate can change and be 'null' at times.
This commit refers explicitly to the containing view instead.
Change-Id: I9c9a8c907daba2b6de52a246ae71cfde0c27e55b
Fixes: QTBUG-97691
Pick-to: 6.2
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I87097dc605ff34db1f8d7fb92d055402693906e1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QML View was created on heap and outlived the 'device'
context property on stack. This resulted in distracting
'null' property access errors on exit.
In addition remove unnecessary QML import versioning.
Pick-to: 6.2
Change-Id: I5cb7d219582ef8e9a72a3f7e514e78fb16a54e2f
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Our lowenergyscanner example can be built and deployed on iOS device.
As such, it has to provide an explanation, why it needs an access to
BT adapter, otherwise, it would crash with the most recent versions
of iOS.
Pick-to: 6.2 5.15
Change-Id: Iebcdf8af931002532aada0c452263effd342300e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Task-number: QTBUG-95636
Change-Id: I2ae5ba6164cb5ed450c8924d484d30167461c10d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The low timeout of five seconds leads to lots of frustration.
This patch extends to 25 seconds, which is most of the time
long enough.
Pick-to: 6.2
Change-Id: I2157ac0e794011a65e306dd7451e35e1bc0e7c8d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-62877
Task-number: QTBUG-94138
Change-Id: Id8c98e267c9b16f77a63f63f41638efbe627acaa
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the future, discoverDetails() should become optional.
The state of a QLowEnergyService after its creation should have
a name which does not imply it is not functional yet. This patch
changes the name of the initial state from "DiscoveryRequired"
to the neutral "RemoteService".
Task-number: QTBUG-75340
Change-Id: Ib407e60f5fc7264a04a124561dacbcebb01bf252
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, there is a name clash between the error getter and
the error signal. This leads to extensive use of qOverload or
similar. This patch renames all error signals to errorOccurred
to resolve this.
Task-number: QTBUG-62877
Change-Id: I615e2405f855433b6e142d820072c4d3f35ae28f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QBluetoothUuid contains enums for ProtocolUuid, ServiceClassUuid,
CharacteristicType and DescriptorType. So far, they all
put their constants directly into the QBluetoothUuid
namespace, making it easy to mix them up. This patch changes
those to scoped enums. That way, each enum has its items in
its own namespace.
Change-Id: I86ea08ff31009dc8073d84cfe678e27920d693f7
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
Missing reference in range-for with non trivial type (QBluetoothDeviceInfo)
Change-Id: I6f2e3092054376fdc52acdbeba149fe1a02b88fe
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
|
|
|
|
|
|
|
|
| |
This patch streamlines all bluetooth examples to have
logging prepared, but not activated, in main().
Change-Id: Idbc81e2937c56acdc17c8fb81de2b8afe384608d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes several warnings like
assets/Services.qml:81:5: QML Connections: Implicitly defined onFoo
properties in Connections are deprecated. Use this syntax instead:
function onFoo(<arguments>) { ... }
Change-Id: Ic4af8f2fc76e437f7b4113e691f2b2461b273bbb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
To use CMake only in the future to build QtConnectivity, all
the traces from the qmake->CMake conversion can now be removed.
This patch deletes all ".prev_CMakeLists.txt" files, in deletes all
"*.pro" files and it removes all "special case" markers in
CMakeLists.txt files. "special case" in "*.cmake" files are kept.
Change-Id: Ia0f5d4de5d77b9f2e5cc8d97fc8f04077e042a6f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
| |
Recreated all CMake files in QtConnectivity using
run_pro2cmake.py . --only-existing -- --api-version 3
Furthermore, port bttestui to CMake.
Change-Id: Idb55f1b4c1cff30d7824a42e3ee6923c39e698df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-87661
Change-Id: Ib6722991251673c6531667cb6b318b0531df5cda
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
| |
warning: ‘AA_EnableHighDpiScaling’ is deprecated:
High-DPI scaling is always enabled. This attribute
no longer has any effect. [-Wdeprecated-declarations]
Change-Id: I335b72eeb71fa6eb5d9d980bec22e226a069e6d9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\
| |
| |
| | |
Change-Id: Icb3abdf0b150b5b09c13f4b054b402ba5b6a9684
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also removed dependencies.yaml at the same time, as the new dependency
tracking is not used in wip/cmake at the moment.
Task-number: QTBUG-78181
Change-Id: I39c23da8daeedd86b7720d66d48ab0af3762083c
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Singular is a better fit to avoid the notion of several services
being discovered at a given time.
[ChangeLog][QtBluetooth][QLowEnergyService] Renamed DiscoveringServices enum
value to DiscoveringService.
Task-number: QTBUG-75344
Change-Id: I9ebe8a8ccba8bb49c55772ae81338f376826ee64
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Technically speaking, nothing really changes in the application. However
devices found, when QBluetoothDeviceInfo::deviceDiscovered() is emitted,
may not have the complete set of data for a given device. In particular,
rssi and manufacturer data changes happen later.
Later changes to the example may want to display these transient types
of information at which point this change becomes essential. It makes
the app simpler to adopt for testing purposes too.
Change-Id: I119b6e80a9a92b16de2d3e6792132ceb06b577a4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
|
|
|
|
|
|
|
|
|
| |
This change sets the Qt::AA_EnableHighDpiScaling application attribute.
It also uses nullptr to initialize pointers and adds a trivial
optimization to the low energy scanner example.
Change-Id: Ia923573ad78108a2a6a72be4c0948ea97a7ec094
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\
| |
| |
| | |
Change-Id: I20db491b185972148ad3fbe6953e5d6ce2889a7f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QMetaEnum helps us avoid writing separate strings for each error
description; it's not very verbose but it's way better than saying
that most of the errors are "unknown".
Change-Id: I61aaf3be6982a2987aabfa6be3192e1afb7df17a
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Iaaf169b1ac9b3d4c348d9cabf737b395198a921f
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
QLowEnergyController::createCentral() is the official API to do the same.
Change-Id: Idbd26d201b24add6697f6f9cdf1194511c160273
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|/
|
|
|
|
|
|
| |
To avoid unnecessary copies, const is used wherever possible.
Change-Id: Ic743716512751cfd24fad5bd37c244b115dd26fe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I5dcafa278c0c51bc3d540ab46320e5a21ef51115
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The method device.connectToService() can be finished quickly and
Device::characteristicsUpdated() can be triggered
before than the Characteristics.qml page will be loaded.
Therefore we will get stuck in "Scanning for characteristics..."
state. So, we need to call the device.connectToService() after
loading of the Characteristics.qml page.
Change-Id: Ic5c790f6f8dbeeae1e368c8a1c8ad8fb12a57087
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Iaa053dcb125490ee1e83d7e27cb75d4171297b9f
|
| |
| |
| |
| |
| | |
Change-Id: I28f5936913a6127806325df34af4bf71a142e72e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I84bfe86751c27eabb4e75912ae3c0b4d3781faf1
|
| |
| |
| |
| |
| | |
Change-Id: Ia26b0bf499f8a0b6040e82bc1d460bee688bfbf6
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
... and deprecate the former. By doing so we get the header
file in line with other modules - see qtnetworkglobal.h for
example.
The include is not used in the examples so it is removed
there.
Change-Id: Ie6267738d4a45e45a0350d458a40654d8a952f4a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|