Sergio Martins
60b5eb00a3
Move IndicatorWindow to its own file
...
As it's the part that will be different with QtQuick.
ClassicIndicators can be shared.
2020-08-09 19:19:31 +01:00
Sergio Martins
0705b4da72
qml: Make Indicator class a implementation detail of QtWidgets
...
No longer accessed by ClassicIndicators
2020-08-09 18:57:23 +01:00
Sergio Martins
09b3e685a9
IndicatorWindow: Make some members private
2020-08-09 18:53:30 +01:00
Sergio Martins
64791eec82
qml: decouple ClassicIndicator from QRubberBand
...
the rubber band is now returned from the factory, meaning it can
be a QQuickItem when QtQuick is being used
Still need to remove the QtWidget'isms from IndicatorWindow
though
2020-08-09 18:39:56 +01:00
Sergio Martins
dc3aa354ec
Minor code styling: Remove unneeded indentation
2020-08-09 18:13:23 +01:00
Sergio Martins
890784ba5a
Finish FocusScope support
...
When clicking on a TitleBar the focus will be redirected to either:
- Last widget that had focus inside the scope
- To the DockWidget. Implies the user setting a guest widget that
accepts focus
Fixes : #56
2020-08-08 17:34:06 +01:00
Sergio Martins
c9468bef8a
example: Add some helper code to debug focus
2020-08-08 17:34:06 +01:00
Sergio Martins
0b4c017f22
qml: Add subs regarding focus
2020-08-08 17:34:06 +01:00
Sergio Martins
6de558773f
Merge branch '1.0' into master
2020-08-08 17:33:53 +01:00
Sergio Martins
2fdb85f3fb
Fix build with 5.9
2020-08-08 17:32:26 +01:00
Sergio Martins
94258abf43
Decouple title bar icon from tab bar icon
...
You can now use different icons, or even just set an icon for the
title bar but not tab bar
Fixes #57
2020-08-08 14:05:42 +01:00
Sergio Martins
10026ba191
Add FocusScope behaviour to TitleBar
...
Github issue #56 is not a KDDW bug, it's how Qt works. QtWidgets don't
have focus scope. But let's workaround and handroll our own FocusScope.
Now the title bar can be colored differently if the dock widget it controls
contains any focused children.
This just implements half of the story. You have to focus a child
for the title bar to change color. Clicking the title bar directly
isn't done yet. Needs to be figured out. What do we focus when clicking it?
TitleBars usually don't care about keyboard focus. Probably we
just use the user's widget as a focus proxy.
2020-08-08 12:33:23 +01:00
Sergio Martins
0a6f760100
Fix a couple of clazy warnings
2020-08-07 22:23:08 +01:00
Sergio Martins
8db40d368c
pass QStringList by const-ref
2020-08-07 22:00:44 +01:00
Sergio Martins
96a3eea108
Silence some clazy warnings which are benign in this context
2020-08-07 21:56:17 +01:00
Sergio Martins
47b20f03f9
Fix -Wclazy-copyable-polymorphic
2020-08-07 21:52:20 +01:00
Sergio Martins
bdcd8c1e20
Fix -Wclazy-range-loop
2020-08-07 21:50:46 +01:00
Sergio Martins
eaff83251c
Fix -Wclazy-fully-qualified-moc-types
2020-08-07 21:47:46 +01:00
Sergio Martins
1cdd1a1b74
Fix static build on Windows
...
The STATICBUILD macros should:
- Be PUBLIC, so anyone linking against kddw gets them
- Not needed to be included in all targets, just link other targets and
they'll inherit
fixes linker errors
2020-08-07 21:24:43 +01:00
Sergio Martins
21938e4b3f
Fix Windows build
...
The "BUILDING_*" macros are only to be defined on the dll that's
being build, so that the export macros expand to QT_EXPORT
The kddockwidgets target had the BUILDING_MULTISPLITTER macro, so
it included multisplitter.dll's symbols with QT_EXPORT, instead of
import, so couldn't work, resulting in linker errors
2020-08-07 21:12:52 +01:00
Allen Winter
95710d9e5e
README.md - add more info links
2020-08-07 12:41:03 -04:00
Allen Winter
8a3252473f
buildsystem - support static library build
2020-08-07 12:26:27 -04:00
Allen Winter
c52c8922dc
add OBS files
2020-08-07 12:19:27 -04:00
Sergio Martins
80dcd57d91
qml: warn instead of crashing
2020-08-06 23:39:50 +01:00
Sergio Martins
37590b44d7
qml: DragController now compiles with the QtQuick frontend
2020-08-06 23:31:44 +01:00
Sergio Martins
051f8ab3a6
qml: Implement widgetForWindow
2020-08-06 23:17:28 +01:00
Sergio Martins
78dcb0f7f3
qml: Abstract some methods that QQuickItem doesn't have
...
geometry(), isMinimized(), etc.
2020-08-06 23:10:08 +01:00
Sergio Martins
6bb0d7ab08
Silence debug noise
2020-08-06 18:34:50 +01:00
Sergio Martins
c7afbf0803
qml: make qtTopLevelUnderCursor_impl() receive QWindow
...
QWindow works for both QtWidgets and QtQuick
2020-08-06 18:30:53 +01:00
Sergio Martins
bbea17b81b
Make DockRegistry use QWindow to represent top-levels
...
Not QWidget/QQuickItem, since QtQuick uses QWindow (QQuickWindow),
not QQuickItem. Unlike QtWidgets, where QWidget can be used for both
purposes.
2020-08-06 18:03:25 +01:00
Sergio Martins
769d34d746
qml: implement childAt
...
Added a namespace-level parentWidget() helper, so it works for
both widgets and quick
2020-08-06 17:51:49 +01:00
Sergio Martins
64020568d6
Remove unused topLevel() method
2020-08-06 17:51:49 +01:00
Allen Winter
b7df2fb5f5
examples/qtquick - add license+copyright header
2020-08-05 17:52:49 -04:00
Allen Winter
ddc6da5894
add conanfile
2020-08-05 17:34:20 -04:00
Sergio Martins
6502ee5071
DragControl: Remove some dead code paths
...
Neither DockWidget nor DropArea are ever a top-level
2020-08-04 18:23:55 +01:00
Sergio Martins
22a13c7c9c
Fix widgets example
...
Committed some things I shouldn't have during the qml port
2020-08-04 18:23:22 +01:00
Sergio Martins
a29f80f90b
qml: set a transient parent to the floating QQuickWindow
...
so when it's frameless it get shown when we show the main window
(depending on the window manager)
2020-08-04 16:44:44 +01:00
Sergio Martins
0ccd4b8afa
qml: Fix warnings and crash when closing windows
2020-08-04 14:56:12 +01:00
Sergio Martins
48433a05fb
qml: Fix stray windows not being deleted
2020-08-04 14:13:42 +01:00
Sergio Martins
c6a455a059
qml: Fix anchoring
...
There's situations where neither title bar or tab bar are visible
2020-08-04 13:54:45 +01:00
Sergio Martins
3e3df799e6
qml: Deliver the close event
2020-08-04 13:53:31 +01:00
Sergio Martins
912f2de1ee
qml: Fix close
2020-08-04 13:16:49 +01:00
Sergio Martins
1ad8a67caf
qml: Fix Frame's title bar not being visible
...
It was being covered by the stack layout
2020-08-04 12:17:26 +01:00
Sergio Martins
a0588cd312
qml: Make floating window follow its QWindow
...
Means if you resize the window then FloatingWindow resizes too
2020-08-03 20:43:21 +01:00
Sergio Martins
40f0c0f322
qml: Fix guest not filling its DockWidget
2020-08-03 20:31:49 +01:00
Sergio Martins
52626b1874
qml: Add support for the MainWindow
...
Not really a MainWindow in the sense of toolbars and all.
For qml it's just the drop area, acepting drops
2020-08-03 20:05:36 +01:00
Sergio Martins
1cfceb4d07
MainWindow: Move the drop area to the base class
...
QtQuick impl will also use it
2020-08-03 19:39:01 +01:00
Sergio Martins
fd56ab7932
qml: Introduce tst_common
...
Will be moving tests that are common to both QtWidgets and QtQuick
2020-08-02 22:16:03 +01:00
Sergio Martins
4fd28f9577
qml: Implement more QtQuick API
2020-08-02 22:10:54 +01:00
Sergio Martins
fd6d9654bc
qml: Start running some tests for the QtQuick version too
...
tst_multisplitter for now.
tst_docks will have to be split into common and widgets
2020-08-02 20:16:07 +01:00