| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Pick-to: 6.3
Change-Id: Ifa372bef54747f0d933916b31bbd31a269e38a63
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
| |
Pick-to: 6.2 6.3
Task-number: QTBUG-90820
Change-Id: I4906db476df58ba248f415ef150551a88b942379
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Fixes: QTBUG-96370
Change-Id: Id0fc8ba2b552f7ab99fa208210c5bad016c3a043
Reviewed-by: Inho Lee <inho.lee@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Task-number: QTBUG-95636
Change-Id: I821f412f9dbe11ae99ffd888a7ab2ba415ed9379
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
As well as the MACOSX_BUNDLE properties as necessary.
Task-number: QTBUG-87664
Change-Id: I2e238dff7bdda6c47dfbe28e2a560ee4c25f3d02
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-87661
Change-Id: I640a3c4281040309a6feb3585c4134190627d17d
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I51a365ef29277bfcb3a62d04954dbe109ab6eac7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Change-Id: I16b7b23efe944b49d1fcc9e7588cdb0a991cebd1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|/
|
|
|
| |
Change-Id: I8ce9c4b284da2d3e7f88e8449be22f9a25b5a2e0
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Define a protocol that does something visible.
Change-Id: I29133eeffbb2c98a61ee59b241dcf6a6a0f543cb
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
* createSurface -> surfaceRequested
* createXdgSurface -> xdgSurfaceRequested
* createXdgPopup -> xdgPopupRequested
* createShellSurface -> wlShellSurfaceRequested
* shellSurfaceCreated -> wlShellSurfaceCreated
Change-Id: I715a927242130d7504955002a6a64a2bac516d46
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Ide6605b7bd05f739976ed603c19e030ec74d2a2a
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
|
|
| |
What WS stood for may not have been obvious.
Change-Id: Ib2a3f566e4e49d8be0c14c4937e7356b51718e44
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I3d7b995ecbe2e06d9c87aea743d59ee551e1fae4
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
| |
amends 5b3f207ed after the merge to 5.7.
Change-Id: Iabf29cbf0e24b3b02f19f5fb0cd5feb624169428
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I8f1338fa6ed807ac309f2b6d7a8265c1bae144b8
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Since we have QWaylandClientExtension
Change-Id: Ie8d60322c8e730bda651e06ed5db0fe1359d946e
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I5efcfdbee1bcc60d88a693226d234ad585078edb
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|