summaryrefslogtreecommitdiffstats
path: root/examples/wayland/custom-extension
Commit message (Collapse)AuthorAgeFilesLines
* Port from qAsConst() to std::as_const()Marc Mutz2022-11-141-3/+3
| | | | | | | | | | | | | | | | 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. This is a 6.4 re-run of the script we ran in dev, in order to avoid conflicts between the branches when cherry-picking. Change-Id: I5eca3df3179dfb2b2682c75a479ba9a4259cc703 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use QColor::fromString instead of some deprecated functionsJiDe Zhang2022-07-051-4/+4
| | | | | | | | | | It's a follow-up of a series changes from 78b6876974d2cea087cb229257097052dad5fcf7 in qtbase. Change-Id: I4ad19b07489630a4648b5d6ca4a8c074ed88827b Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 32d8cb010545f5f221689bd7f9a80281f62ad89d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use SPDX license identifiersLucie Gérard2022-06-1011-524/+21
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 811f060c37a58580e0697d0beb34a6f91efeeb41) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove .prev_CMakeLists.txtKai Köhne2022-03-223-171/+0
| | | | | | Pick-to: 6.3 Change-Id: Ifa372bef54747f0d933916b31bbd31a269e38a63 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Improve examples CMakeLists.txtKai Köhne2022-02-194-40/+15
| | | | | | | | | | | | | | | | | - Remove "# generated from xyz.pro" comment from pro2cmake - 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: I3ce281ae1fb44c8d54ee09860ddadd3dbbdf7271 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Switch examples to build as isolated sub-buildsAlexandru Croitor2021-12-151-3/+3
| | | | | | | Pick-to: 6.2 6.3 Task-number: QTBUG-90820 Change-Id: I4906db476df58ba248f415ef150551a88b942379 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* example/tests: update com.theqtcompany to io.qtLiang Qi2021-10-264-4/+4
| | | | | | | Pick-to: 6.2 Fixes: QTBUG-96370 Change-Id: Id0fc8ba2b552f7ab99fa208210c5bad016c3a043 Reviewed-by: Inho Lee <inho.lee@qt.io>
* Raise cmake_minimum_required to VERSION 3.16 in examplesJoerg Bornemann2021-08-173-3/+3
| | | | | | | Pick-to: 6.2 Task-number: QTBUG-95636 Change-Id: I821f412f9dbe11ae99ffd888a7ab2ba415ed9379 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Don't use deprecated APIPaul Olav Tvete2021-05-141-6/+4
| | | | | | | | | | QExposeEvent::region() is deprecated. Fixes: QTBUG-93751 Pick-to: 6.1 Change-Id: Idaff6fdc4c88e70696ba0074e26db3505c48b9d0 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* CMake: Regenerate projects using pro2cmake one last timeAlexandru Croitor2020-12-093-0/+171
| | | | | | | Pick-to: 6.0 Change-Id: Ia5383c8ac8b375e493ae1c73ecc1270f857be24d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake Build: Fix QtWayland examples linker errorsCristian Adam2020-11-053-3/+3
| | | | | | | | | | | | | | The examples have enabled only the CXX language, while the wayland code generation CMake helper function would generate a C file, which would not get compiled correctly. By removing LANGUAGES CXX, the examples will have the default CMake languages enabled: C and CXX. Fixes: QTBUG-88040 Change-Id: Ia79563b60b5bc140ad0f9e087198044b2eb67d9e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* CMake: Regenerate examples to set the WIN32_EXECUTABLE propertyAlexandru Croitor2020-10-263-0/+12
| | | | | | | | As well as the MACOSX_BUNDLE properties as necessary. Task-number: QTBUG-87664 Change-Id: I2e238dff7bdda6c47dfbe28e2a560ee4c25f3d02 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Regenerate examples to use qt_add_executableAlexandru Croitor2020-10-203-3/+3
| | | | | | Task-number: QTBUG-87661 Change-Id: I640a3c4281040309a6feb3585c4134190627d17d Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* Move WlShell types into their own importEskil Abrahamsen Blomfeldt2020-07-091-0/+1
| | | | | | | | | | | We want extensions to be in submodules in QML. [ChangeLog][WlShell] Moved WlShell types into QML import QtWayland.Compositor.WlShell rather than QtWayland.Compositor Task-number: QTBUG-68840 Change-Id: I7c3d2d05efdab86ea61affc6a9a0bc3e10835328 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Move Screen -> CompositorScreen in examplesEskil Abrahamsen Blomfeldt2020-07-095-4/+4
| | | | | | | | | | | | | We no longer support using types called Screen when QtQuick is imported. This also cleans up a couple of copy-paste errors, where Screen.qml is referenced from the .pro file without actually existing in the example. Task-number: QTBUG-85199 Change-Id: I7f456aabacaf6165d38fbe4bf951baf6d3dab9a6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Remove import versions from QML examplesEskil Abrahamsen Blomfeldt2020-07-093-8/+8
| | | | | | | | | | | | | We no longer have to specify the version for QML imports, as it will just default to most recently available. The examples should follow best practices, so this cleans up all the QML in the examples. Note: Due to QTBUG-85443, we have to leave the QtQuick.Controls imports versioned for now. Change-Id: I237da0bd406fe1e06123bb47e29a7d921c64b5b5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Replace calls to deprecated QEvent accessor functionsShawn Rutledge2020-06-291-8/+8
| | | | | | | | | | | | | | | | | | | | Several event accessors were deprecated in qtbase/24e52c10deedbaef833c0e2c3ee7bee03eacc4f5. Replacements were generated by clazy using the new qevent-accessors check: $ export CLAZY_CHECKS=qevent-accessors $ export CLAZY_EXPORT_FIXES=1 $ ../qt6/configure -platform linux-clang -developer-build -debug -no-optimize-debug -opensource -confirm-license -no-pch QMAKE_CXX=clazy $ make $ cd ../../qt6/qtwayland $ find . -name "*.clazy.yaml" $ clang-apply-replacements . Task-number: QTBUG-20885 Task-number: QTBUG-84775 Change-Id: If822ba409f974f737dc46ac31f6e8e92cc1603cc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use WaylandCursorItem over clients, window system cursor otherwiseShawn Rutledge2020-05-291-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pre-existing binding visible: cursorItem.surface != null implied that the surface would often be null; but in practice it was only null at startup. After entering a client window, whatever cursor it set would be retained when the mouse left the window. With client- side decorations, this could go unnoticed, because often the mouse would go across the titlebar or edge decorations on exit, and those would set the cursor back to a standard arrow. But in compositors that implement a lot of Qt Quick content of their own (server-side decorations and/or built-in features such as menus, docks etc.), that content cannot change the cursor that the WaylandCursorItem shows. Instead, we need the underlying window system cursor to be shown whenever the mouse is not hovering over a client window. As a drive-by, remove the inputEventsEnabled: false declarations from the examples, because WaylandCursorItem already does that internally. The pure-qml example is not fixed; it shows the window system cursor only when the compositor is a nested compositor. When it's not nested, you just have to move the mouse slowly enough to avoid "jumping over" the window edges. Or run clients that don't change the cursor. Pick-to: 5.15 Fixes: QTBUG-84391 Change-Id: I3e677f3e4314d01e5d27d8eea49b4cb315c29d03 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* CMake: Regenerate projectsAlexandru Croitor2020-05-263-3/+15
| | | | | Change-Id: I51a365ef29277bfcb3a62d04954dbe109ab6eac7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Client: Don't send fake SurfaceCreated/Destroyed eventsDavid Edmundson2020-04-281-2/+5
| | | | | | | | | | | | | | | | | | | | | QPlatformSurface relates to the platform window, not the wl_surface. The events are already emitted by QPlatformWindow on create/destroy. To preserve compatibility for a previous KDE version it was faked to emit the events when the wl_surface is created/hidden to keep behavior. This is no longer necessary, and it has caused multiple errors, the latest being a crash when switching between sub-menus with the Sway compositor. [ChangeLog][QPA plugin] QWaylandWindow no longer sends fake SurfaceCreated/Destroyed events. Use expose events to be notified when a Wayland surface appears. Task-number: QTBUG-76324 Fixes: QTBUG-81952 Pick-to: 5.15 Change-Id: I2f003bc9da85f032a0053677fd281152099fc9eb Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* CMake: Regenerate and adjust projects after mergeAlexandru Croitor2020-03-262-8/+2
| | | | | | | | | | | | | | | Some of the changes that were needed - adjusted wayland macros due to changed target names for plugins - a few direct moc file includes, to get rid of compilation errors - Threads::Threads linking for a few tests - a few special cases for QT_FOR_PRIVATE handling because pro2cmake doesn't handle those correctly at the moment (they map to PRIVATE_MODULE_INTERFACE rather than PRIVATE_LIBRARIES) - just regenerating all projects Change-Id: I418ce91b1c69c7388d41eb22b94a93a9e80fa732 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Initial CMake portJohan Klokkhammer Helsing2019-11-264-0/+158
| | | | | | | | | | | | | | | | The client, compositor, tests, plugins and examples now build. There are still a few minor issues: - The protocol source generation is a bit hacky. - The tests for checking if building CMake projects don't work anymore as they have Qt 5 specific code. They have just been commented out for now. Fixes: QTBUG-78177 Change-Id: Ie17cb05f0cdbd5b098970ce765adaeccf61a8fde Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* Set unique targets for examples that conflictJohan Klokkhammer Helsing2019-10-023-1/+5
| | | | | | | | This makes it easier for CMake when we run the conversion scripts. Task-number: QTBUG-78177 Change-Id: I304dd12b0daacba37662604847c5200e27ebfd28 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove waylandclient-private dependency from custom-extension exampleJohan Klokkhammer Helsing2018-04-255-8/+5
| | | | | | | | We really only depend on gui-private. Change-Id: Ic774cf94d8d94194c26d3852206ecff488948196 Reviewed-by: Drew DeVault <qt@cmpwn.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use default member initialization for raw pointersJohan Klokkhammer Helsing2018-02-281-1/+1
| | | | | | | | Initialize to nullptr to prevent undefined behavior. Change-Id: I7753c0be77a886d62ecb1cd7b86fc8c98340b0b8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Init variables where they are declared when possible (clang-tidy)Johan Klokkhammer Helsing2018-02-272-2/+1
| | | | | | | | | | | | | | | | | | | | clang-tidy -p compile_commands.json $file \ -checks='-*,modernize-use-default-member-init,readability-redundant-member-init' \ -config='{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: "1"}]}' \ -header-filter='qtwayland' \ -fix Afterwards I ran search and replace on the diff to clean up some whitespace errors: - Replaced '(\n\+[^:\n]*)(:\s+\+\s+)' with '$1: ' - Replaced '(\n\+[^,\n]*)(,\s+\+\s+)' with '$1, ' - Replaced '\n\+\s*\n' with '\n' I also had to do some manual edits, because for some reason, this particular clang-tidy check doesn't trigger for some files. Change-Id: I3b3909bac4bf20108bbe8ad1e01bcc54236dae1b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Use nullptr instead of 0 or NULLJohan Klokkhammer Helsing2018-02-201-1/+1
| | | | | | | | Applied automatic fixes using clang-tidy's modernize-use-nullptr, and some manual cleanup to prevent QFlag macros to be affected. Change-Id: I88f94390185bc6e6f23693b68723cd5710815ae6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add non-global object to custom extension examplePaul Olav Tvete2017-10-057-11/+254
| | | | | | | | | | Show how to create non-global objects on the client side. Also fix error in the XML file: move the enum outside the event. Change-Id: I85b4cae115a57d60eda4a54d652ea98a8cd39548 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Fix licensingv5.9.0-beta4Jani Heikkinen2017-05-0410-23/+123
| | | | | | | | | | Currently tests are licensed under GPL-EXCEPT, examples under BSD and src under LGPL so replase old license headers with new & proper ones. Also remove old & unused license files Task-number: QTBUG-57147 Change-Id: Ia6a738798736c275dc309ccfa5b627dc2178d241 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-253-10/+10
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/wayland/custom-extension/client-common/main.cpp src/client/qwaylandwlshellintegration_p.h src/client/qwaylandxdgshellintegration_p.h src/compositor/compositor_api/qwaylandquickoutput.h src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h Change-Id: Ic78c610ddf102b0a185294f625bbfcb9238b0f3c
| * Replace all occurrences of Q_DECL_OVERRIDE with overrideJohan Klokkhammer Helsing2017-01-234-11/+11
| | | | | | | | | | Change-Id: I16b7b23efe944b49d1fcc9e7588cdb0a991cebd1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Remove unused files from examplePaul Olav Tvete2017-01-023-103/+0
|/ | | | | Change-Id: I8ce9c4b284da2d3e7f88e8449be22f9a25b5a2e0 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Move qtwayland over to use the new configuration systemLars Knoll2016-11-234-33/+0
| | | | | | | | | | | | | Re-use configuration results from qtbase where possible and move all pkg-config handling over to be done at configuration time. Since waylandclient and waylandcompositor are two independent libs, this required some duplication of features and libraries used by both in the configure.json files. Change-Id: I1f3ec56c85cb780324cc7634a3ad7951125853a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Add mode support to QWaylandOutputPier Luigi Fiorini2016-10-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Outputs usually have more than one mode, add an API to support them. When sizeFollowsWindow is true, modes are replaced by one with the window size and refresh rate. In that circumstance the mode changes when the window is resized. The sizeFollowsWindow property default value is no longer true. The setGeometry() method is gone as it doesn't make sense now, the setWidth() and setHeight() methods are now private slots to resize the resolution as the window resizes (and sizeFollowsWindow is true). Refresh rate is expressed in mHz rather than Hz just like the Wayland protocol. A compositor implementation may choose to add modes if it has access to hardware information, it will call addMode() for each mode and then invoke the setCurrentMode() method that sends the modes list to the client. The preferred mode is indicated with a boolean parameter to the addMode() method. Change-Id: Iffed4784ccef695c276ebd800172957f4cff3324 Task-number: QTBUG-49814 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Make the custom extension example more interestingPaul Olav Tvete2016-09-3011-95/+470
| | | | | | | Define a protocol that does something visible. Change-Id: I29133eeffbb2c98a61ee59b241dcf6a6a0f543cb Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Simplify custom-extension examplePaul Olav Tvete2016-09-0816-70/+50
| | | | | | | | | | | | | Don't confuse people by creating the extension inside a platform plugin. It's only necessary when modifying Qt's default behaviour, and we're not going to teach that in this example. Also remove the load/unload extension logic from the qml example. Don't make people believe that they have to use a loader. Change-Id: Id263bb7d77fba176bfb8b6843a6ece9a0a203754 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* Compositor API: rename QWaylandInputDevice to QWaylandSeatJohan Klokkhammer Helsing2016-08-111-1/+1
| | | | | | | | | | | | The name QWaylandInputDevice could be confusing and misleading: - A QWaylandInputDevice was not one input device, but a collection of many. - Classes that sounded like they should inherit from it did not, i.e: QWaylandKeyboard, QWaylandPointer and QWaylandTouch. - The Wayland protocol already has another term for this, which is seat. Change-Id: I9d9690d5b378075d9dddaeb8cf18395c7f47603e Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Rename createSurface and similar signalsJohan Klokkhammer Helsing2016-08-031-1/+1
| | | | | | | | | | | * createSurface -> surfaceRequested * createXdgSurface -> xdgSurfaceRequested * createXdgPopup -> xdgPopupRequested * createShellSurface -> wlShellSurfaceRequested * shellSurfaceCreated -> wlShellSurfaceCreated Change-Id: I715a927242130d7504955002a6a64a2bac516d46 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Compositor: make the extensions property list optionalPaul Olav Tvete2016-07-121-16/+12
| | | | | | | | | | Extensions will now automatically add themselves to their parent if they are not inside an extensions [ ... ] array. Change-Id: I26c7f7c2ee023595eb4cd2496dd56e212f05329c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Adjust for hotspot position inside WaylandCursorItemJohan Klokkhammer Helsing2016-07-111-2/+2
| | | | | Change-Id: Ide6605b7bd05f739976ed603c19e030ec74d2a2a Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Rename enableWSCursor to windowSystemCursorEnabledJohan Klokkhammer Helsing2016-07-111-1/+1
| | | | | | | What WS stood for may not have been obvious. Change-Id: Ib2a3f566e4e49d8be0c14c4937e7356b51718e44 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* fix example installOswald Buddenhagen2016-05-251-0/+3
| | | | | | Change-Id: I3d7b995ecbe2e06d9c87aea743d59ee551e1fae4 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* load(qt_plugin) at the endOswald Buddenhagen2016-05-251-3/+2
| | | | | | | amends 5b3f207ed after the merge to 5.7. Change-Id: Iabf29cbf0e24b3b02f19f5fb0cd5feb624169428 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Create a general ShellSurfaceItem to avoid duplicationJohan Klokkhammer Helsing2016-05-201-1/+1
| | | | | | | | | | | | | | | | | | XdgSurfaceItem and WlShellSurfaceItem have been removed in favor of the more general ShellSurfaceItem. An XdgSurface or a WlShellSurface can be assigned to the shellSurface property of a ShellSurfaceItem and leaves open the possibility for additional shells. A shared base class for QWaylandXdgSurface and QWaylandWlShellSurface has been added which has a factory method for creating a QWaylandQuickShellIntegration for that shell implementation. The property "shellSurface" on the ShellSurfaceItem allows QML code to attach to signals regardless of whether it's a WlShell or XdgShell client. The pure-qml example has been updated to take advantage of this. Change-Id: I9d3427586e100d6c44a24f319dd8e1486ff062ee Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Fix buildJohan Klokkhammer Helsing2016-05-201-1/+1
| | | | | Change-Id: I8f1338fa6ed807ac309f2b6d7a8265c1bae144b8 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Move QWaylandClientExtension out of namespacePaul Olav Tvete2016-05-193-11/+0
| | | | | | | | The class name already has a QWaylandClient prefix. We don't need QtWaylandClient:: in addition. Change-Id: I42f16d43fe414e3388dfdb924e96d9fc2b0b4ba9 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Rename QWaylandExtension to QWaylandCompositorExtensionPaul Olav Tvete2016-05-182-3/+3
| | | | | | | | Since we have QWaylandClientExtension Change-Id: Ie8d60322c8e730bda651e06ed5db0fe1359d946e Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Fix example build dependencyPaul Olav Tvete2016-05-121-0/+2
| | | | | | Change-Id: I5efcfdbee1bcc60d88a693226d234ad585078edb Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Automatically initialize the quick extension objectsGiulio Camuffo2016-04-294-11/+9
| | | | | | | | | Instead of writing "Component.onCompleted: initialize()" for every extension the compositor has, let them call that automatically. Change-Id: I0b499a38c2b475dc9a7ef27cbacebef19b196dbf Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* Add QML api for client side extension.Erik Larsson2016-04-215-1/+208
| | | | | | | | | | | This makes it simple to use client-side extensions in QML. The only thing that the user needs to do is register the extension class using qmlRegisterType() and the use the extension in QML. Also adds simple QML example which uses client-side extension. Change-Id: I2db99861d97c7bca5cfdbf86ba3a8ccc50fb24b0 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>