Commit Graph

3842 Commits

Author SHA1 Message Date
Sergio Martins
bcb0668ace qtquick: Make mdi example compile 2022-05-30 12:16:11 +01:00
Sergio Martins
0b36b7c7e8 qtquick: Port the example 2022-05-30 12:01:04 +01:00
Sergio Martins
2421e607a9 Users now instantiate DockWidget view instead of controller
The controllers are private and not intentend for the public.
2022-05-30 11:45:43 +01:00
Sergio Martins
403f0626b4 tests: Comment the QtQuick examples one by one
so we can uncomment them one by one too as we port them
2022-05-30 10:15:16 +01:00
Sergio Martins
1bb0b13d77 qtquick: Make MainWindowInstantiator compile 2022-05-29 23:27:27 +01:00
Sergio Martins
1787a69edb qtquick: Make DockWidgetInstantiator compile 2022-05-29 23:16:56 +01:00
Sergio Martins
04b9590d59 cmake: Compile tst_qtwidgets only if QtWidgets frontend is built
The QtQuick frontend is now buildable withotu the QtWidgets one.
2022-05-29 22:14:45 +01:00
Sergio Martins
c36832d71c Port tst_viewguard away from QtWidgets 2022-05-29 22:07:38 +01:00
Sergio Martins
eff711b9ca Port MainWindowMDI to the new architecture
Has a qtquick implementation now.
2022-05-29 21:57:08 +01:00
Sergio Martins
340f618060 Split MainWindowMDI in two, so it can be reused by QtQuick 2022-05-29 21:09:24 +01:00
Sergio Martins
58c246cedc Remove unneeded qtquick ifdef 2022-05-29 20:55:42 +01:00
Sergio Martins
e27f142ec8 Fix KDDockWidgets::initFrontend() not initializing qtquick
As a drive-by add the required ifdefs
2022-05-29 20:27:50 +01:00
Sergio Martins
6d760cb5e1 Rename Some _p.h headers to .h
Easier for vscode to toggle between header the source
2022-05-29 20:24:11 +01:00
Sergio Martins
85f02d8ceb DockRegistry doesn't depend on QtWidgets anymore 2022-05-29 20:14:25 +01:00
Sergio Martins
fe87380d83 Layout.cpp no longer depends on QtWidgets 2022-05-29 20:09:26 +01:00
Sergio Martins
20c41fa3b1 qtquick: Implement Platform_qtquick::tests_createNonClosableView() 2022-05-29 19:54:37 +01:00
Sergio Martins
34d4ba6f64 Remove TODO, it has been renamed already 2022-05-28 20:01:32 +01:00
Sergio Martins
bdb5c533f2 Remove unused forward declaration 2022-05-28 19:55:55 +01:00
Sergio Martins
07bcea1226 cmake: Make QtQuick frontend build without QtWidgets frontend
Fails to link but compiles.
2022-05-28 19:50:59 +01:00
Sergio Martins
f645a4345f Don't run tests on unsupported frontends
If kddw wasn't compiled with QtQuick support then don't run the
QtQuick tests.
2022-05-28 16:06:17 +01:00
Sergio Martins
1c0c594abe cmake: Add qtwidgets/qtquick ifdefs
Code now builds without QtQuick if needed
2022-05-28 16:02:14 +01:00
Sergio Martins
c77b9628b4 cmake: Only link to QtWidgets when building qtwidgets frontend
And the same for QtQuick
2022-05-28 15:34:59 +01:00
Sergio Martins
a3750ea79a cmake: allow to build qtquick and qtwidgets independently
Still hardcoded to on, but the sources are now separated
2022-05-28 15:13:22 +01:00
Sergio Martins
4cd362dc33 cmake: Set minimum Qt6 version to 6.2
Anything else is untested
2022-05-28 14:31:39 +01:00
Sergio Martins
812892f3f2 bump version to 2.0 2022-05-28 14:25:25 +01:00
Sergio Martins
2e6924ec43 qtquick: Remove isWrapper
Will readd it if it's really needed
2022-05-28 11:57:20 +01:00
Sergio Martins
56a871b86b tests: Remove unneeded setContentsMargin() call 2022-05-27 15:50:16 +01:00
Sergio Martins
8354043337 qtquick: Don't abort when setContentsMargins() are called
It wasn't implemented for version 1.x either
2022-05-27 15:48:55 +01:00
Sergio Martins
410d893de9 qtquick: Implement the missing methods in ViewWrapper 2022-05-27 15:39:08 +01:00
Sergio Martins
406dd19285 qtquick: Don't dereference null FloatingWindow controller
Controller is already gone
2022-05-27 14:29:51 +01:00
Sergio Martins
586ed8d70b Replace View_qtquick::windowIsBeingDestroyed with View::aboutToBeDestroyed
Easier if it's generic.
2022-05-27 14:26:34 +01:00
Sergio Martins
da8539820e qtquick: Find the correct controller when using ViewWrapper 2022-05-27 14:00:19 +01:00
Sergio Martins
267bc4ec79 tests: Test that a floating window is created 2022-05-27 13:35:52 +01:00
Sergio Martins
fb8639969c Delete QObject::setParent() in the controller
To find places where we're setting parent on the controller instead
of in the view. Fix such case where the dock widget view
wasn't being parented to the frame view.
2022-05-27 13:25:06 +01:00
Sergio Martins
5fdbc12524 Add some asserts 2022-05-27 12:53:22 +01:00
Sergio Martins
18651bbf7a qtquick: Add some qFatal to some unimplemented methods
So I can easy get feedback they are missing impl.
2022-05-27 12:47:44 +01:00
Sergio Martins
bcaf0737e9 Move Platform::createMainWindow() to dev mode
This is for tests only
2022-05-27 12:11:43 +01:00
Sergio Martins
ad7f5f5970 tests: Remove some manual creation of QQuickView
It's abstracted by the platform now
2022-05-27 12:11:43 +01:00
Sergio Martins
652286760b qtquick: Fix creation of main window
It wasn't initializing the controller
2022-05-27 10:57:54 +01:00
Sergio Martins
df0dde80ef Remove unneeded "initView" parameter from MainWindow 2022-05-27 10:41:50 +01:00
Sergio Martins
03f1a6930c Added Platform::createMainWindow()
Called by tests and layout linter to create a main window.

Simplifies creation of the main window, we can now remove one of the ctors.
Before we supported both the controller creating the view and vice-versa,
while this is convenient it's complex to support, due to order or initializations.

Now, you a create a view, and it creates the controller behind the scenes.
MainWindow is special in this sense, as it's created by the end user, it's
not something internal we want in the ViewFactory.
2022-05-27 10:36:54 +01:00
Sergio Martins
e20a8ba396 Remove unneeded KDDOCKWIDGETS_QTQUICK ifdef 2022-05-26 23:24:38 +01:00
Sergio Martins
73dd788fa1 cmake: Remove unneeded -DKDDOCKWIDGETS_QTQUICK 2022-05-26 23:20:27 +01:00
Sergio Martins
ebb623f080 Initialize static resources in the correct platform
Non-Qt platforms won't have to do this
2022-05-26 23:16:02 +01:00
Sergio Martins
1dde7e3e99 Add a generic interface for the classic indicator window
this removes QWidget references from ClassicIndicators.cpp.
Both the QtQuick and QtWidgets impl will implement this new
interface, which is what ClassicIndicators.cpp uses now
2022-05-26 23:10:26 +01:00
Sergio Martins
fc74698dac Remove some unused qtwidget includes from controllers/ 2022-05-26 10:02:28 +01:00
Sergio Martins
c554bdc68c Fix DropArea only looking for QtWidget children
Instead of using findChildren(), just ask the layout for the
items.

tst_floatingWindow now doesn't crash anymore when looking for
the layout items.
2022-05-26 09:58:23 +01:00
Sergio Martins
4a8ac4a309 Remove unneeded assignment, since we're using scoped rollback 2022-05-26 09:54:31 +01:00
Sergio Martins
042cabbe5d Use a RAII class to emit floatingChanging()
Otherwise during reparenting the signal can be emitted by mistake.
Now we only check at the end if we need to emit it.
2022-05-26 09:29:37 +01:00
Sergio Martins
a85c56a25a Implement ViewWrapper::is() 2022-05-23 23:37:25 +01:00