Commit Graph

134 Commits

Author SHA1 Message Date
Sergio Martins
1458da92d9 minimal example: Use fusion too
Looks better in general
2020-09-29 18:10:12 +01:00
Sergio Martins
6a46744073 Make Flag_AutoHideSupport public
Ready to be tested by the public
2020-09-21 00:19:20 +01:00
Sergio Martins
e1085fb770 Add experimental support for minimization to side-bar
Auto-hide not working yet. Just minimization.
Internal for now. Will be public once finished.
2020-09-18 18:35:41 +01:00
Sergio Martins
e92ef472b3 Floating windows now support a minimize button
Introduced Flag_TitleBarHasMinimizeButton for it.
It implies Flag_DontUseUtilityFloatingWindows too, since Qt::Tool
don't appear in the task bar.

example: kddockwidgets_example -k
2020-09-17 21:46:28 +01:00
Sergio Martins
beb2128804 example: Added --no-aero-snap for debugging purposes 2020-09-14 22:28:15 +01:00
Sergio Martins
87ba2e0ee7 example: Add option to test combinations of Qt::Tool and parent
for internal testing
2020-09-13 13:30:55 +01:00
Sergio Martins
eaeed567f3 Don't have a parent window when using Qt::Window
Otherwise Qt::Window behaves like Qt::Tool, on Windows
2020-09-13 13:22:48 +01:00
Sergio Martins
2d2c8524ee Introduce Config::Flag_DontUseUtilityWindowsForFloating
Controls whether windows get Qt::Tool or not
2020-09-13 12:24:26 +01:00
Sergio Martins
f090a51485 example: Make title bar focusable when debugging focus 2020-09-07 20:26:09 +01:00
Sergio Martins
6b28a804f8 example: Allow to demo the focus scope
set KDDW_DEBUG_FOCUS
2020-09-04 17:06:32 +01:00
Sergio Martins
2977f0b8c6 Introduce Config::Flag_AlwaysTitleBarWhenFloating
Allows to improve on Flag_HideTitleBarWhenTabsVisible.

Flag_HideTitleBarWhenTabsVisible will hide title bar regardless
if the window is floating or docked. By enabling Flag_AlwaysTitleBarWhenFloating
the title bar will only be hidden if docked.

Demo: ./bin/kddockwidgets_example -qt

Fixes #64
2020-08-27 15:14:55 +01:00
Sergio Martins
251423116f Merge branch '1.0' into master 2020-08-27 14:54:18 +01:00
Sergio Martins
5a66d09266 example: Decouple Flag_HideTitleBarWhenTabsVisible from Flag_AlwaysShowTabs
New swtich -z will trigger Flag_AlwaysShowTabs.
use -zt for what was -t before.

This is more granular now, as they are mix and match
2020-08-27 14:52:48 +01:00
Sergio Martins
04e2a71b66 Merge branch '1.0' into master 2020-08-25 22:00:25 +01:00
Sergio Martins
e3f89b6c17 Remove unneeded include 2020-08-25 21:57:55 +01:00
Sergio Martins
1bb476ca95 Merge branch '1.0' into master 2020-08-24 14:38:06 +01:00
Sergio Martins
1c65b3e453 Remove examples/qtquick from the 1.0 branch
Should be in master only
2020-08-24 14:36:30 +01:00
Sergio Martins
073647cf79 Add a minimal example
The other example is getting too big. Minimal is best to get
started
2020-08-24 13:49:56 +01:00
Sergio Martins
113e6453ea example: Show usage of segmented indicators 2020-08-23 16:57:48 +01:00
Sergio Martins
f1b9ce714b Fix building user apps out of repo
Our example was being built as part of KDDW, so that worked fine.
Now it can also be built with an installed KDDW.

Problem was the folder hiearchy in the installed include dir
didn't match the folder hiearchy in the source repo

Fixes #62

Cherry-picked from master's 037fa76fff
1.0 makes more sense
2020-08-14 18:47:03 +01:00
Sergio Martins
037fa76fff Fix building user apps out of repo
Our example was being built as part of KDDW, so that worked fine.
Now it can also be built with an installed KDDW.

Problem was the folder hiearchy in the installed include dir
didn't match the folder hiearchy in the source repo

Fixes #62
2020-08-14 17:49:24 +01:00
Allen Winter
5ccf15b9ed Merge branch '1.0' 2020-08-10 17:07:05 -04:00
Allen Winter
f58a76426a examples/qtquick/main.cpp - add copyright+license header 2020-08-10 16:27:37 -04: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
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
96a3eea108 Silence some clazy warnings which are benign in this context 2020-08-07 21:56:17 +01:00
Allen Winter
b7df2fb5f5 examples/qtquick - add license+copyright header 2020-08-05 17:52:49 -04: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
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
1df0e6d6dd qml: Add Guest #3 2020-08-01 18:09:49 +01:00
Sergio Martins
36407d2abe qml: Separators now work 2020-08-01 17:44:07 +01:00
Sergio Martins
2ffdfcad24 qml: Calling DockWidget::setWidget(filename) now loads a QML 2020-07-31 21:23:35 +01:00
Sergio Martins
7c5e0826c6 qml: Add a tabbar from QQC2 to Frame.qml 2020-07-31 20:37:56 +01:00
Sergio Martins
cbe6e47233 qml: Make the windows bigger for now 2020-07-28 22:27:15 +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
88e10ffb31 qml: Add the skeleton for the example
Doesn't do much yet, but has background.
2020-07-27 18:00:06 +01:00
Allen Winter
b4f49895c2 clarify: licensing is GPL2 or GPL3 or commercial licensed
follow the REUSE specs
2020-07-24 18:16:13 -04:00
Allen Winter
2462f991be buildsystem - consistent formatting 2020-06-25 13:32:59 -04:00
Allen Winter
c5739e8626 examples/dockwidgets/CMakeLists.txt - increase cmake min vers
to make consistent with the top-level project
2020-06-25 10:42:57 -04:00
Sergio Martins
2a33599bde Fix range-loop detachements 2020-06-23 17:48:40 +01:00
Sergio Martins
3b5ca4dafb Silence -Wclazy-non-pod-global-static for the example
we don't care about non-lib example code regarding this
2020-06-23 17:12:21 +01:00
Sergio Martins
b8664c44c7 example: show the use of max-sizes without developer-build
the feature is stable to show
2020-06-17 16:29:45 +01:00
Sergio Martins
e6b67101fa Make the example customize TitleBarWidget instead of TitleBar
TitleBar will cease to depend on QWidget
2020-06-11 21:26:33 +01:00
Sergio Martins
9601f57050 example: Don't show the dock widgets immediately
It's not needed, as they are going to be added to the layout.
Saves us from flicker and also the temporary floating position
being saved
2020-06-05 13:43:35 +01:00
Sergio Martins
798c808790 example: Set the max-size on the guest widget not on the dock
the size constraint will propagate up
2020-05-28 17:48:10 +01:00
Sergio Martins
f770e768b8 example: Add option to load a layout from file 2020-05-26 21:53:58 +01:00
Sergio Martins
63c90875aa example: Add example of docking main window into main window 2020-05-25 21:45:21 +01:00
Sergio Martins
d94263fce5 Allow each dock widget and main window to support multiple affinities 2020-05-25 14:14:17 +01:00