Commit Graph

110 Commits

Author SHA1 Message Date
Sergio Martins
a4d03c1514 Add a mdi-example
Don't want the main example to be too complex
2021-02-13 12:01:01 +00:00
Sergio Martins
8dca2e346c Add experimental MDI support 2021-02-09 19:25:28 +00:00
Allen Winter
2177336d65 minor spelling 2021-02-07 06:56:49 -05:00
Sergio Martins
2834532b5f example: Add a keyboard shortcut to toggle dock widgets visiblity 2021-01-21 16:22:43 +00:00
Sergio Martins
54314273a0 Merge branch '1.2' 2021-01-18 19:40:18 +00:00
Sergio Martins
de068dc6ff Use less relative includes, some of them were wrong
The example now includes them, so we can detect build failures
if they get wrong again

Fixes #140
2021-01-18 18:57:15 +00:00
Sergio Martins
e33766a4fa examples: Illustrate Config::Flag_CloseOnlyCurrentTab 2021-01-16 13:19:37 +00:00
Sergio Martins
e0e6f55868 Introduce DockWidgetBase::LayoutSaverOptions enum
The first enumerator is "Skip", meaning the dock widget won't
be affected by save/restore. It won't disappear while restoring,
and won't be shown if already hidden. (only applies to floating widgets)
2021-01-11 23:33:32 +00:00
Allen Winter
875544a449 Merge branch '1.2' 2021-01-02 09:32:20 -05:00
Allen Winter
a2f4c972a6 update copyright year 2021-01-02 09:27:50 -05:00
Sergio Martins
50e1285839 Move more internal enumerators into the internal enum
the public enum is now clean
2020-12-28 14:36:42 +00:00
Sergio Martins
cd859d6725 Fix a bunch of clazy warnings 2020-12-22 17:01:50 +00:00
Sergio Martins
f8d0ffe7ba Fix a few clazy warnings 2020-12-22 16:02:55 +00:00
Sergio Martins
1dae128511 Fix the static build
The other library qrc is only needed for QtQuick
2020-12-16 11:41:15 +00:00
Sergio Martins
ceb796d807 qt6: Don't set the HDPI attributes
They don't do anything on Qt6, but warn.
2020-12-09 12:23:17 +00:00
Sergio Martins
d7242f17b7 examples: Add AUTORCC
Fixes standalone examples not showing images
2020-12-08 22:36:23 +00:00
Sergio Martins
9f604829dd qt6: Use AUTORCC instead of qt5_add_resources
As this works with both Qt5 and Qt6
2020-12-08 18:11:34 +00:00
Sergio Martins
b4e7b97646 examples: Fix non-developer build 2020-11-30 12:25:29 +00:00
Sergio Martins
a5c65ae039 Introduce NullIndicators and a Config option for it
Mostly for debugging purposes, but also useful if anyone doesn't
want to display indicators
2020-11-28 14:11:39 +00:00
Sergio Martins
5c055e0b8d examples: Add a flag to disable aero-snap
For development/debugging purposes only
2020-11-28 00:39:30 +00:00
Sergio Martins
fad81d595a qtquick: Remove some dependencies to QApplication 2020-11-26 19:31:32 +00:00
Sergio Martins
929aabdc0d example: Add --native-title-bar
Behind developer mode for now
2020-11-23 21:37:59 +00:00
Sergio Martins
50d1e75709 Fully scope the qrc resource files
So they don't clash when KDDW is a static library
2020-11-17 11:33:22 +00:00
Sergio Martins
52cf53ce5c example: init resources if static
Fixes title bar not having icons on WASM
For issue #100
2020-11-13 18:33:13 +00:00
Sergio Martins
f4d9a96ddb Added Config::Flag_KeepAboveIfNotUtilityWindow
Which sets Qt::WindowStaysOnTopHint for floating windows.
Usually unneeded, as floating windows are Qt::Tool with a transient
parent, but in case you're using Flag_DontUseUtilityFloatingWindows
then you might want (or not) to keep them above.
2020-11-05 12:11:48 +00:00
Sergio Martins
819725351a Fix -Wweak-vtables warnings 2020-10-14 14:55:28 +01:00
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
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
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
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