summaryrefslogtreecommitdiffstats
path: root/examples/applicationmanager/intents
Commit message (Collapse)AuthorAgeFilesLines
* YAML: Add support for version 1.2 document parsingRobert Griebl8 days2-3/+3
| | | | | | | | | | | | | | | | | | | | | YAML 1.2 was specified in 2009 and 1.1 is considered legacy nowadays. The default for parsing and emitting unversioned documents is still 1.1, but you will see warnings for unversioned documents that use features that are not compatible with 1.2. Starting with AppMan 6.12, the default will switch over to 1.2 for unversioned documents. In addition all tags from the core schema are now correctly applied to both 1.1 and 1.2 documents. Version 1.1 will still be supported in the future for explicitly versioned documents. Change-Id: I6c9920784c8f7650d7e63f2273773d7fa462fe9a Pick-to: 6.11 Reviewed-by: Bernd Weimer <bernd.weimer@qt.io>
* Re-organize the appman libraries into more manageable chunksRobert Griebl8 days2-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is part 2 of this patch series. Part 1 was about converting the libs from static to shared. This patch now consolidates the library zoo into more manageable and logical chunks. Plus this will also help with keeping the hit to the startup performance (incurred by part 1) in check. The new setup closely follows the QML module nomenclature, but needs to account for the tool builds as well. The new libs are: - Common no changes - Package a combination of Package, Application and Crypto - Shared renamed from SharedMain and combined with Monitor and IntentClient - SystemUI renamed from Main and combined with Manager, DBus, IntentServer and Window - Application renamed from ApplicationMain Because the CrashHandler is using a "constructor" function, it had to be moved from the Common to the Shared lib to avoid having the custom crash handler also in the tools, as they need to install their own CTRL+C handler at times. In addition the 3 QML import modules are now built as official QML plugins and they are installed into $QTDIR/qml as any other import library. NB! There is a problem we still have to solve: custom appman binaries (system-ui's) are currently built by linking against Qt::AppManMain, but this no longer exists. It would be ideal if we could add an alias here. The other renamed modules are not that problematic, as they shouldn't be used outside of the appman project itself. If an alias is not possible, a dummy library which depends on the new "SystemUI" one should also do the trick. Change-Id: Id07e05a523c48e773c295c5be2f27804229155e0 Pick-to: 6.11 Reviewed-by: Bernd Weimer <bernd.weimer@qt.io>
* Fix all cmake warnings in the examples and testsRobert Griebl14 days1-15/+8
| | | | | | | | | | | | All the warnings in the examples came from qt_internal_add_example in qtbase changing and nobody applying the necessary fixes to the appman examples. The bubblewrap example on the other hand just had a package name that conflicted with QML module conventions. Change-Id: Id63ccb9b02c16ae581a1796c09d1308f61a85511 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Examples: enable development modeRobert Griebl2025-11-191-1/+1
| | | | | Change-Id: I050cee2f770ee7dd86ca1e52c0c956244ac60853 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Examples: Move to 'Embedded' categoryKai Köhne2025-06-241-0/+1
| | | | | | | | | This makes sure the example are shown under 'Embedded' in Qt Creator's welcome screen, and not under 'Other'. Pick-to: 6.9 6.10 Change-Id: Ib4f39f9ddc65b70d5f6b3cd7ea36ecdf7157b99f Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* CMake: Use versionless commands everywhereDominik Holland2024-09-041-3/+3
| | | | | | Change-Id: I3bd2bde0ffc04e57ae852c92828626f97e04a0f6 Pick-to: 6.8 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Add missing install destinations to all examplesDominik Holland2024-08-191-0/+2
| | | | | | | | | | Install destinations for BUNDLE and LIBRARY are needed for android and ios deployment. Change-Id: I8370e3155534f9d0c99c9ea1ca6ecbe2e1543884 Pick-to: 6.8 Fixes: QTBUG-127933 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove the now defunct qmake pro files for the examplesRobert Griebl2024-07-301-32/+0
| | | | | | | | Also fixed some docs that still reference qmake functionality. Pick-to: 6.8 Change-Id: I9244248b3a6252ef10cbd44c6e51de01ca22b2d6 Reviewed-by: Bernd Weimer <bernd.weimer@qt.io>
* Switch all examples to the modern am-package manifest formatRobert Griebl2024-07-263-11/+16
| | | | | | Change-Id: Ia4cf62be2e793ccab269b64d7188c9202b160360 Pick-to: 6.8 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Rewrite all examples using modern Qt APIsDominik Holland2024-07-198-31/+95
| | | | | | | | | | | | * Use new CMake API * Add a main.cpp to every example * Compile the system-ui and am-config.yaml into the every binary * Compile all apps in the application-feature example into binaries * Use the new package CMake API in all examples Pick-to: 6.8 Change-Id: I97112bde1631c142a65824f30233835076f6cab6 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* doc: Document the problem with missing libwayland-dev packagesRobert Griebl2024-03-071-0/+2
| | | | | | | Change-Id: If225fd8e4aaff922375f96c573a7996e8ed21f74 Pick-to: 6.7 6.6 6.5 Fixes: QTBUG-123088 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Make sure that no example throws qmllint warningsRobert Griebl2023-06-122-8/+19
| | | | | | Pick-to: 6.6 Change-Id: I8915fce95eaa0f2c80290f403088c842b02c9657 Reviewed-by: Bernd Weimer <bernd.weimer@qt.io>
* Fix intents example deploymentRobert Griebl2023-02-281-0/+1
| | | | | | Change-Id: Ie464c7911a44c1a02c4c2942e40cbee0a2797c42 Pick-to: 6.5 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* CMake: document qt6_am_add_systemui_wrapperRobert Griebl2022-09-271-0/+1
| | | | | | Fixes: AUTOSUITE-1673 Change-Id: I95bb5768aa96f35a9941ea29492d52eb789d4075 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Intents: add broadcastsRobert Griebl2022-09-1610-42/+83
| | | | | | | | | | | | | | | This commit adds a new intent type: a broadcast. Broadcasts will be delivered to all applications (*), but they do not have the possibility to return a reply back to the sender. Implementation wise, they are just treated as normal requests that are multiplexed for every application. (*) This can be limited with the new handleOnlyWhenRunning flag. Change-Id: If9f954cf5e52707624b95c80c8e984dfd6c4315a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Fix setting the Material style in the Intents exampleRobert Griebl2022-08-072-2/+2
| | | | | | Change-Id: Ib4e94bebdd2b2416a9ed6a5fc21e357223ab36fb Pick-to: 6.2 6.3 6.4 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Use SPDX license identifiersDominik Holland2022-06-157-334/+28
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I09660e42dea769d720ff30e652485d9861cea965 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Doc: Adjust title of Hello Word exampleTopi Reinio2022-03-211-1/+1
| | | | | | | | | | | An example title starting with punctuation makes the example appear as the first one in Qt Creator's Welcome mode; this is not desired for this example, so rename its title. Pick-to: 6.3.0 6.3 Task-number: QTBUG-100139 Change-Id: Iff725a90e0f5c411c1d87d19c34453b69e78bb9c Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Improve examplesBernd Weimer2022-01-192-7/+7
| | | | | | | | Fixed build issues, avoided warnings and improved output. Pick-to: 6.2 6.3 Change-Id: I07f2e950399fb7b5a934686e5efe48cfaf7135e4 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Raise cmake_minimum_required to VERSION 3.16 in examplesRobert Griebl2021-09-221-1/+1
| | | | | | | Change-Id: Ib75913d86e42c3fa8c2a6e5347d110836d0e1c50 Pick-to: 6.2 Task-number: QTBUG-95636 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* cmake: remove all comments from the pro2cmake tool conversionRobert Griebl2021-06-301-1/+0
| | | | | Change-Id: Id162a38debf7c801dfefb519274a7761e742b7f1 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Make all qml-only examples usable from within QtCreatorDominik Holland2021-06-281-0/+26
| | | | | | | | | This adds a new qt6_am_add_systemui_wrapper cmake function which generates a wrapper script and makes sure this is callable from within QtCreator. Change-Id: I8270d31167ef5572514d294d634f55962af04355 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Update copyright headers to 2021 an finally switch to the GPLRobert Griebl2021-06-017-69/+63
| | | | | | | | | Also removed all the SPDX tags and -QTAS license extensions. Change-Id: Ibd10fe37afcbba832831d027cf2f1891ca0226c0 Fixes: AUTOSUITE-1648 Fixes: AUTOSUITE-1646 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Spelling fixes all over the placeRobert Griebl2020-07-172-21/+21
| | | | | Change-Id: Ic0018eddb8fcfbd22136fbf62d3e15e0e1c4c0b3 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* Define functions in QML Connections explicitlyBernd Weimer2020-05-271-1/+3
| | | | | | | | | Don't use implicitly defined handler, since this is deprecated from Qt 5.15. This works since Qt 5.14 only, but we are tied to 5.15, anyways. Change-Id: I82e66b0c6186237757e060bfb21d86c91ec8498b Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Add intent handling in the system-uiRobert Griebl2020-01-316-5/+66
| | | | | | | | | Added a new component IntentServerHandler which lets you declare intent handlers directly in the system-ui. As an added benefit, these handlers also have access to the application id of the intent creator. Change-Id: Ia2d6f0860bc20e50ec8a0dd1f4bbca1a2b6967d0 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Change intent implementation to better fit new architectureRobert Griebl2019-10-281-2/+3
| | | | | | | | | | - IntentServer is now a list model as all the other singletons. - IntentModel is the companion filter model for the IntentServer, just like the ApplicationModel is for the ApplicationManager - Intent is now a Q_OBJECT instead of a Q_GADGET Change-Id: Ifead097c543fb00b08ab21210e4526a6f65ba167 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Rename from Luxoft AM to Qt AMRobert Griebl2019-08-057-7/+7
| | | | | | Change-Id: I84bbd9e7f735ed1864804a9887d3a02b7c925e53 Reviewed-by: Vladimir Minenko <vladimir.minenko@pelagicore.com> Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* [doc] Sync title with the new Examples pageKavindra Palaraja2019-06-031-1/+1
| | | | | | | | * This makes sure that the link renders correctly Task-number: AUTOSUITE-927 Change-Id: I14633104ecc9e90ac78974efd1d2de8c9d92f901 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* The actual doc contents of the previous commitRobert Griebl2019-02-121-60/+55
| | | | | Change-Id: Ide8ca0d223baf73ef9f9f2b75469d9d48d6a471c Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
* Add documentation for the intents exampleRobert Griebl2019-02-1210-10/+245
| | | | | Change-Id: I474f8bc8d8a3efa7b0f8405892d56a793a88e883 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
* Update copyright statementsRobert Griebl2018-12-186-6/+12
| | | | | | | | - added 2019 - everything is (c) Luxoft instead of Pelagicore from now on Change-Id: I82f874f0b0601deae1bb39347821edaf3c4cc6d8 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Bump all QtApplicationManager QML imports to 2.0Robert Griebl2018-12-182-4/+4
| | | | | | | Change-Id: I98bab2070b7a35cefae46bca8a06bac4a1cf1487 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Ilya A, Galkin <igalkin@luxoft.com> Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
* Fix imports for the intents exampleRobert Griebl2018-11-092-0/+2
| | | | | Change-Id: Ida5388618a097ece3e308bd4a237562645a348f8 Reviewed-by: Daniel d'Andrada <daniel.dandrada@luxoft.com>
* Split the QtApplicationManager qml moduleDaniel d'Andrada2018-10-303-3/+2
| | | | | | | | | Into QtApplicationManager, QtApplicationManager.SystemUI and QtApplicationManager.Application Task-number: AUTOSUITE-671 Change-Id: I09eb914e026e230280c426dd00884f2883b5e7bd Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Intents: fixed API naming to follow a consistent request/reply send/receive ↵Robert Griebl2018-10-302-8/+8
| | | | | | | pattern Change-Id: I29a80a6d31940c955f18ddcf3651be2e9607fcc8 Reviewed-by: Daniel d'Andrada <daniel.dandrada@luxoft.com>
* Heavily extended the intents exampleRobert Griebl2018-10-2416-109/+455
| | | | | | | | | | | | | | | | | These intents features are now available: - requests from the system-ui - disambiguation when no applicationId is specified - requesting from/replying to an in-process app (green is always running as a single-process app) - private intents (blue-window-private) - intents that require capabilities (only the sysui and red can call rotate-window on blue) Also, the example wrapper script is now able to deal with developer builds. Change-Id: I9ff2d6012b2c9cf29e32abaaa7d4fa3b3122944e Reviewed-by: Daniel d'Andrada <daniel.dandrada@luxoft.com>
* Add support for Intents for both single- and multi-process modeRobert Griebl2018-10-1211-0/+369
This commit adds support for Intents, aka. a loosely coupled IPC between arbitrary applications in the AM system. (please read https://wiki.qt.io/QtAppMan-Intents for same background information). The core implementation on both server and client side in this patch is not dependent on the AM itself (apart from the common-lib for convenience sake, but this dependency could easily be removed). There are 2 interfaces that are implemented in the manager-lib and launcher-lib that connect the Intent core to the actual AM and AM's qml runtime launcher. Missing features: - updating the list of intents on app installation and removal - support for background services in the AM itself - support for "file-handles" in the request and reply part - documentation - an example that is better focused on intents themselves Change-Id: Ia7cab2bb569fb2cdb8e5ab7e8167e477cff3068c Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>