Sergio Martins
f8f596ad30
qml: Layout the drop area and title bar inside the FloatingWindow
...
We could just control geometry of the c++ title bar and geometry,
but then the user wouldn't be able to style it, and users rather
style things in QML than subclassing FloatingWindow and writing C++.
So instance some .qml files to represent the drop area and floating
window, so user can muck with.
Hierarchy looks like this now:
-QQuickWindow
--FloatingWindowQuick (C++ QQuickItem)
---FloatingWindow.qml
----TitleBar.qml (reads state from TitleBar c++)
----DropArea.qml
-----DropArea (C++ QQuickItem)
------Frame
etc
2020-07-29 23:28:05 +01:00
Sergio Martins
c13f9c00aa
minor coding style
2020-07-29 22:07:51 +01:00
Sergio Martins
0ff9b95577
Move some typedefs into KDDockWidget namespace
...
So they don't conflict with user code
2020-07-29 10:30:21 +01:00
Sergio Martins
ab28c63273
Fix possible crash when deserializing
2020-07-29 09:31:46 +01:00
Sergio Martins
cbe6e47233
qml: Make the windows bigger for now
2020-07-28 22:27:15 +01:00
Sergio Martins
dc3a598594
qml: Fix no QEvent::ParentChange being sent
...
QWidget::setParent() does this but QQuickWidget doesn't, so do
it manually.
2020-07-28 22:25:43 +01:00
Sergio Martins
6738bb0ae1
qml: Implement QWidgetAdapter::parentWidget()
...
Frame gets access to its DropArea now
2020-07-28 22:25:09 +01:00
Sergio Martins
1286fc28ca
qml: Wire up TitleBar buttons
2020-07-28 21:41:41 +01:00
Sergio Martins
6104fdf2e0
qml: Implemented QWidgetAdapter::setFlag
...
FloatingWindow is frameless now.
2020-07-28 21:28:15 +01:00
Sergio Martins
f42f3804a1
qml: Add a default size for items
...
Otherwise it's 0x0
2020-07-28 21:17:28 +01:00
Sergio Martins
10226fc61a
qml: FloatingWindow now creates a real top level QWindow
2020-07-28 21:17:01 +01:00
Sergio Martins
ba2ce8b8db
qml: Implement QWidgetAdapter::isWindow and initialize min/max
2020-07-28 20:41:26 +01:00
Sergio Martins
dccdeda18a
qml: debug++
2020-07-28 20:41:12 +01:00
Sergio Martins
a23c76f6fb
qml: create a dock widget in the example
...
So we can debug why it's not creating a floating window
2020-07-28 20:40:39 +01:00
Sergio Martins
0245b6e81b
qml: Fix path for Frame.qml
2020-07-28 19:25:10 +01:00
Allen Winter
35728f54cd
src/CMakeLists.txt - ${PROJECT_NAME}_VERSION for PACKAGE_VERSION
...
we haven't set a PACKAGE_VERSION needed by
write_basic_package_version_file() but we don't need one
since we can simply use ${PROJECT_NAME}_VERSION
2020-07-27 17:49:59 -04:00
Allen Winter
fc7af85c83
CMakeLists.txt - must set *_VERSION_* after project() call
...
project() sets ${PROJECT_NAME}
then we can use ${PROJECT_NAME} to set VERSION variables
2020-07-27 17:48:07 -04:00
Sergio Martins
c87f5ba6eb
Move utility function into tests
...
used by the tests only
2020-07-27 21:32:58 +01:00
Sergio Martins
a574364100
vscode: Add settings for QtQuick too
2020-07-27 21:32:31 +01:00
Sergio Martins
88e10ffb31
qml: Add the skeleton for the example
...
Doesn't do much yet, but has background.
2020-07-27 18:00:06 +01:00
Sergio Martins
2895de3ef5
qml: Add missing export macro
2020-07-27 10:52:34 +01:00
Sergio Martins
5346f808f9
qml: Don't include the widgets MainWindow in LayoutSaver
2020-07-27 10:51:03 +01:00
Sergio Martins
36e6613f6a
Fix build
2020-07-27 10:46:59 +01:00
Sergio Martins
0090799f7f
qml: Add missing API in QWidgetAdapter_quick_p.h
2020-07-27 10:44:02 +01:00
Sergio Martins
c64b938e40
qml: Fix FloatingWindow.cpp building on Windows
2020-07-27 10:32:33 +01:00
Sergio Martins
08721ea458
qml: Fix linking
...
Abstractions are all in place now.
Let the port start!
2020-07-26 21:57:19 +01:00
Sergio Martins
fa7e8af014
qml: Remove QWidget'isms from MultiSplitter
2020-07-26 21:53:05 +01:00
Sergio Martins
7d01b7649a
qml: Move MultiSplitter out of widgets/
...
Will make it shared to both stacks
2020-07-26 21:46:09 +01:00
Sergio Martins
9275432aea
Remove a couple of unneeded includes
2020-07-26 21:42:29 +01:00
Sergio Martins
df5738dd34
qml: Don't build layoutlinter yet
...
needs some work and not a priority at this point
2020-07-26 21:37:54 +01:00
Sergio Martins
119cadae30
build the layouting engine with quick support if kddw is too
...
it's required
2020-07-26 21:33:20 +01:00
Sergio Martins
f6837ee4e5
qml: Fix compile for layoutlinter
...
Doesn't link yet though
2020-07-26 21:33:10 +01:00
Sergio Martins
ed752d953a
Fix include
2020-07-26 21:01:22 +01:00
Sergio Martins
34ea666007
qml: Remove LayoutSaverQuick
...
LayoutSaver is generic enough and works with both stacks
2020-07-26 21:00:51 +01:00
Sergio Martins
0659f1e52b
qml: Add missing API to the QtQuick wrapper
...
related to size hints and such
2020-07-26 21:00:22 +01:00
Sergio Martins
1f09bfa9d5
qml: Don't build the QWidgets example
2020-07-26 21:00:00 +01:00
Sergio Martins
ebda537a11
qml: Make DockWidgetBase inherit from QWidgetAdapter
...
So we get access to maximumSize, sizePolicy and such API
for QQuickItems too
2020-07-26 20:37:49 +01:00
Sergio Martins
ac115bc078
Fix typo
2020-07-26 20:37:49 +01:00
Sergio Martins
a84fea36fe
qml: Move widgetMaxSize to the base class
...
The logic is not specific to QWidget. It will be reused for QtQuick
2020-07-26 20:24:24 +01:00
Sergio Martins
e4c87f60e9
qml: Fix Layout's saver API
2020-07-26 20:12:55 +01:00
Sergio Martins
a21abef6bd
Make MultiSplitter::rectForDrop() take a FloatingWindow directly
...
Which is the only use case. Also since FloatingWindow inherits
from Layouting::Widget that will be nice to make this code work
with QtQuick version too. Otherwise it's complicated as QQuickItem
doesn't have min/max/sizePolicy
2020-07-26 20:05:41 +01:00
Sergio Martins
6fe8d7aea0
qml: MultiSplitter also inherits from LayoutGuestWidget now
2020-07-26 19:55:31 +01:00
Sergio Martins
2a34ecd563
qml: Frame inherits from Widget_quick when built with QtQuick support
2020-07-26 18:56:24 +01:00
Sergio Martins
2e2288cc0f
Update .gitignore
2020-07-26 17:59:37 +01:00
Sergio Martins
1a44d36838
qml: Make ClassicIndicator widgets only
2020-07-26 17:51:13 +01:00
Sergio Martins
c53d71e2de
qml: Remove more QWidget'isms, make code generic
2020-07-26 16:49:01 +01:00
Sergio Martins
e2674d2a68
qml: Port screenSizeForWidget()
2020-07-26 16:16:06 +01:00
Sergio Martins
e66cbae09f
qml: Remove QWidget'isms from TitleBar and from the overlay interface
2020-07-26 16:16:06 +01:00
Sergio Martins
08dc55ea06
qml: Adjust API of the quick specialization of the factory
2020-07-26 16:16:06 +01:00
Sergio Martins
5c0c204859
qml: Remove QWidget'isms from DockRegistry
...
The DebugWindow is QWidgets only too.
2020-07-26 16:16:06 +01:00