Commit Graph

3483 Commits

Author SHA1 Message Date
Sergio Martins
8ff052e219 examples|qtquick: Show different styling depending on focus
qtquick_customtitlebar now has a focusable text field and the
title bar will change color depending on focus

While testing issue #325
2022-11-15 18:18:18 +00:00
Allen Winter
39d7c9c577 src/controllers/Separator.cpp - remove unneeded Q_UNUSED() 2022-10-27 14:46:54 -04:00
Allen Winter
f5cc303599 clean duplicate includes 2022-10-26 06:52:23 -04:00
Allen Winter
d9ba67dee7 Fix SPDX headers that were broken by clang-format line break 2022-10-25 12:44:25 -04:00
Allen Winter
fac590e8e5 codespelling 2022-10-25 09:16:21 -04:00
Allen Winter
4c23dff2e0 clang-format set ColumnLimit=0 2022-10-25 09:13:40 -04:00
Sergio Martins
fd9858f1aa Windows: Fix artifacts when moving window to another screen
We had a workaround for this Qt bug, but Window::screenChanged
wasn't being emitted, since Window is a temporary object, not the
actual QWindow.

Fix by connecting directly to QWindow
Fixes issue #320
2022-10-21 15:58:47 +01:00
Sergio Martins
7597bb70a6 Fix memory leak
For consistency, all views create a controller, even if they
don't need it. But these dummy controllers weren't being deleted.
2022-10-17 12:24:11 +01:00
Sergio Martins
70b566b1b8 Also emit FloatingWindow::numDockWidgetsChanged() when restoring layout 2022-10-10 21:50:23 +01:00
Sergio Martins
8adba89a83 qtquick: Fix crash when mouse receiver gets deleted
Happened when double clicking a tab
2022-10-07 05:43:11 +01:00
Sergio Martins
04c069bf1b qtquick: Emit tabBarQmlItemChanged()
Not very important, as it's not read by QML.
Maybe removing the Q_PROPERTY and adding an invokable setter
would be better

Fixes bug #318
2022-10-05 11:44:48 +01:00
Sergio Martins
de21f60910 Fix typo when emitting hoveredTabIndexChanged
Also added an example on how to style hovered tabs differently.
Fixes #317
2022-10-04 09:58:01 +01:00
Sergio Martins
f110afd1d0 header hygiene for Screen.h
KDDockWidgets_p.h is not installed, and not needed here anyway
2022-10-04 09:32:27 +01:00
Sergio Martins
84052f6db0 qtquick: Fix numDockWidgetsChanged() not being emitted sometimes
For FloatingWindow there's 2 levels of nesting. The outter
titlebar takes care of the nested groups, and then each group
as a title bar as well.

FloatingWindow now detects with inner tabbars get dock widgets
added/removed.
2022-10-03 17:49:07 +01:00
Sergio Martins
2b8b069396 minor readability improvement 2022-10-03 17:31:36 +01:00
Sergio Martins
b1ff6bf11b qtquick: Add TabBar_qtquick::hoveredTabIndexChanged() signal
So users can style them differently in QML.

For issue #317
2022-10-03 15:15:36 +01:00
Sergio Martins
d8eac5c04b qtquick: MouseEventRedirector now receives less generic types
QQuickItem and View instead of QObject
2022-10-03 15:01:44 +01:00
Sergio Martins
8c0b76074c flutter: TitleBars now show the real title 2022-10-03 13:42:30 +01:00
Sergio Martins
498a0627fd flutter: Regenerate bindings 2022-10-03 13:41:33 +01:00
Sergio Martins
04df3d5bab flutter: add bindings for View.h
It's abstract but shiboken's API extractor doesn't know
since all the virtual methods are returning unknown types (shared pointers),
so give it some help.
2022-09-30 18:28:37 +01:00
Sergio Martins
0c92b1dd6c qtquick: Added TitleBar_qtquick::numDockWidgetsChanged() signal
In case the custom titlebar wants to do something with it.
2022-09-28 20:01:14 +01:00
Sergio Martins
75526982f3 Honour FloatingWindowFlag::DontUseParentForFloatingWindows
(cherry-picked from commit 40d57e5000)
2022-09-19 08:46:33 +01:00
Sergio Martins
9c4b53faa6 Allow to specify Qt::Tool or Qt::Window per floating window
(cherry-picked from commit 7ac6a31512)
2022-09-19 08:44:42 +01:00
Sergio Martins
18d0875bde Add DockWidget::setFloatingWindowFlags(flags)
So you can specify, per floating window, which flags you want

(cherry-picked from commit 757e57559a)
2022-09-19 08:40:08 +01:00
Sergio Martins
d9afb45c05 Load FloatingWindowFlags from disk with LayoutSaver
If a user specified different flags for a certain FloatingWindow,
they'll be reloaded when restored with LayoutSaver as well.

(cherry-picked from commit 0bef7bc0e9)
2022-09-19 08:29:39 +01:00
Sergio Martins
c52ecb65b6 Move FloatingWindow::Flag enum to KDDockWidgets namespace level 2022-09-19 04:05:01 +01:00
Sergio Martins
3f34d12805 Allow to specify which flags FloatingWindow should use
(cherry-picked from commit fd35fc26e6)
2022-09-19 04:01:16 +01:00
Sergio Martins
e01a332386 LayoutSaver: Store the floating window flags too
(cherry-picked from commit c2208b169e)
2022-09-19 03:56:27 +01:00
Sergio Martins
0e66f8a368 Isolate more Config flags in FloatingWindow
(cherry-picked from commit ff200950aa)
2022-09-19 03:50:38 +01:00
Sergio Martins
6241eeca66 Further isolate access to top-level Config in FloatingWindow
In preparation for per-floatingwindow flags

(cherry-picked from commit 9916032981)
2022-09-19 03:43:40 +01:00
Sergio Martins
d54d417c09 Move TitleBar::supportsMinimize|MaximizeButton into FloatingWindow
Just a minor refactoring so FloatingWindow can save it during serialization.
So we can support per-floating window settings.

(cherry-picked from commit e6ccd9d01c)
2022-09-19 03:34:48 +01:00
Sergio Martins
fd122b08da flutter: A floating window is now shown 2022-09-11 16:37:39 +01:00
Sergio Martins
617c3d0029 flutter: regenerate bindings 2022-09-11 16:37:18 +01:00
Sergio Martins
f4db14a745 flutter: Platform now tells the overlay about new floating windows 2022-09-11 12:49:57 +01:00
Sergio Martins
4a86415c65 flutter: ViewFactory now creates FloatingWindow view 2022-09-11 12:13:06 +01:00
Sergio Martins
29ac5a2d16 Make DockRegistry actually notify floating window was created
Was missing in last commit. Flutter can now now new windows
were created and create fake overlayed windows for them.
2022-09-11 12:12:14 +01:00
Sergio Martins
9995f70c78 flutter: Get notified when floating windows are created 2022-09-10 22:36:52 +01:00
Sergio Martins
38f605d562 flutter: update bindings 2022-09-10 22:31:27 +01:00
Sergio Martins
c6f0ec9d98 flutter: Be notified when a floating window is created 2022-09-10 22:24:44 +01:00
Sergio Martins
4cb4ab9db0 flutter: Add bindings for DockRegistry 2022-09-10 21:05:34 +01:00
Sergio Martins
d5214b8605 flutter: Add WindowWidget.dart
A widget that represents a kddw window.
Specially since flutter doesn't support multi-window. We'll
have to draw them over an overlay.
2022-09-10 18:57:11 +01:00
Sergio Martins
9dbca2618d flutter: Add initial WindowOverlayWidget.dart
Doesn't do much yet.
2022-09-10 18:21:39 +01:00
Sergio Martins
383246aa7f flutter: Regenerated bindings 2022-09-10 16:33:42 +01:00
Sergio Martins
f1efa95802 Make DockWidgetModel::m_tabBar private 2022-09-10 16:13:34 +01:00
Sergio Martins
f18a288def qtquick: Remove unneeded functions from Stack_qtquick 2022-09-10 15:46:56 +01:00
Sergio Martins
cf6b3c06e0 More m_tabWidget -> m_stack renaming 2022-09-10 15:33:49 +01:00
Sergio Martins
94fcdc990c qtquick: Stack_qtquick doesn't need to be exposed to QML 2022-09-10 15:32:13 +01:00
Sergio Martins
96990be5bb qtquick: Move DockWidgetModel to TabBar_qtquick
It's where it's used
2022-09-10 15:26:46 +01:00
Sergio Martins
0157d7d914 Remove 2 more unneeded TODOs 2022-09-10 13:27:12 +01:00
Sergio Martins
fbfec2f196 Remove unneeded TODO
This is in qtcommon now, so it's fine
2022-09-10 13:25:18 +01:00