Sergio Martins
d8189e3e03
.clang-format: wrap at column 100
2022-08-05 16:49:00 +01:00
Sergio Martins
b1605cc58b
Rename Group::tabWidget() to Group::stack()
...
Matches its class name now
2022-07-07 11:37:47 +01:00
Sergio Martins
cc918c5195
More "frame" to "group" renaming
2022-06-22 13:42:22 +01:00
Sergio Martins
104a065aeb
Pass the DropArea to setDropIndicatorAllowedFunc() too
...
So the lambda can have more advanced usage and inspect the
target layout before allowing or disallowing the drop.
For our use case, we want to limit max 3 dock widgets side by side,
for example.
(cherry-picked from commit 982904e2ba )
2022-06-19 14:22:12 +01:00
Sergio Martins
08518e02e0
various - fix some misspellings
...
(cherry-picked from commit f3da0f0547 )
2022-06-19 13:00:06 +01:00
Sergio Martins
198bd60565
example: Added --blocks-close-event
...
Makes dock widget #0 reject the close event, meaning it won't close.
(cherry-picked from commit 21765efbac )
2022-06-19 11:18:02 +01:00
Sergio Martins
8be6183543
Include cleanup
...
Removed unneeded controllers/ includes from headers
2022-06-18 09:15:30 +01:00
Sergio Martins
2a6bd9e415
Add overloads taking view interface instead of controller
...
People won't be using the controllers directly
2022-06-15 21:51:56 +01:00
Sergio Martins
a4d337e891
Fully qualify header paths when including controllers
...
so this still works when private headers are installed
2022-06-13 23:24:43 +01:00
Sergio Martins
040fe14907
examples: Uncomment code that sets separator thickness
...
It works now
2022-06-13 22:32:55 +01:00
Sergio Martins
59013303ac
examples: Port MyViewFactory to new design
...
It was commented out still
2022-06-13 22:31:13 +01:00
Sergio Martins
ec56120290
Don't include controller headers in view headers
...
view headers will be installed, so shouldn't leak impl details
much. Controllers are more low level things that the user won't use
much
2022-06-13 19:44:47 +01:00
Sergio Martins
f1f722f1ce
Replace TODOv2 tags with TODOm2 and TODOm3 tags
...
Not all todos are required for milestone m2
2022-06-04 19:53:25 +01:00
Sergio Martins
94afae2729
windows: Reviewed and ported a bunch of Q_OS_WIN_OLD usages
...
Those are fine. Will tackle the difficult ones next.
2022-05-30 22:04:35 +01:00
Sergio Martins
d8e703275f
windows: Replace Q_OS_WIN with Q_OS_WIN_TODO so we can start porting
...
Now it builds. This way I can port each Q_OS_WIN one by one and make
sure everything still builds, without risking breaking Linux/macOS.
2022-05-30 21:55:49 +01:00
Sergio Martins
2421e607a9
Users now instantiate DockWidget view instead of controller
...
The controllers are private and not intentend for the public.
2022-05-30 11:45:43 +01:00
Sergio Martins
bb4f5a5037
Mass renaming of last usages of FrameworkWidgetFactory
2022-05-19 08:12:29 +01:00
Sergio Martins
e514a8c3e1
Rename FrameworkWidgetFactory to ViewFactory
...
We now deal in views instead of widgets, and the "Framework"
part was redundant. It's also shorter now
2022-05-18 23:12:43 +01:00
Sergio Martins
f719697852
Remove DockWidget::setWidget(QWidget)
2022-05-14 09:38:55 +01:00
Sergio Martins
9f7c4cb217
Removed the DockWidgetBase typedef
...
That existed only to ease porting
2022-05-10 22:53:16 +01:00
Sergio Martins
037140b980
Add KDDockWidgets::initPlatform()
...
Instead of using the static variable, which is initialized before
having QApplication.
Will allow us to remove the QTimer from Platform init
2022-04-11 00:55:28 +01:00
Sergio Martins
ec0e841bb8
Introduce qtwidgets/FrameworkWidgetFactory_qtwidgets
...
It doesn't scale to support all platforms with ifdefs, instead, use one
file per platform
2022-04-10 21:15:10 +01:00
Sergio Martins
15601fc3c9
Split MainWindow into view/controller
2022-03-30 11:51:31 +01:00
Sergio Martins
c6d95c42a8
Split most widgets into a Controller and a View
...
Controllers don't have any GUI and don't depend on the frontend
technology.
Views are implemented in a specific GUI tech (QtWidgets, QtQuick, etc).
For now only QtWidgets work. There's still a lot to decouple.
This will make it easier to introduce non-Qt backends.
2022-03-24 16:05:37 +00:00
Sergio Martins
54bf24d5d4
Added Config::setDropIndicatorAllowedFunc()
2022-02-11 19:49:23 +00:00
Allen Winter
93e60a743e
update copyright year
2022-01-20 08:05:26 -05:00
Waqar Ahmed
7af2095f2f
Allow switching tabs via context menu in the tabs area
...
This change allows you to switch tabs via the context menu. The context
menu only shows up if you click on the empty area beside the tabs.
Can be tested with `--allow-switch-tabs-via-menu` option in the example.
Fixes #232
Signed-off-by: Waqar Ahmed <waqar.ahmed@kdab.com >
2021-09-11 12:46:23 +01:00
Sergio Martins
1ccdf445eb
Introduce MainWindowOption_HasCentralWidget
...
You can now set an arbitrary widget as "central widget".
It's similar to MainWindowOption_HasCentralFrame, however the widget
won't be detachable and won't show tabs.
Similar to what you'd get with QMainWindow central widget concept.
Example:
QWidget *myWidget = new MyWidget();
mainWindow->setPersistentCentralWidget(myWidget);
Fixes #225
2021-08-30 10:12:46 +01:00
Allen Winter
22a709a39e
fix more misspellings
2021-07-15 10:14:04 -04:00
Sergio Martins
e1578436d0
Added Flag_ShowButtonsOnTabBarIfTitleBarHidden
2021-07-01 18:08:41 +01:00
Sergio Martins
7475c7cc71
Remove unneeded include
2021-04-28 21:15:08 +01:00
Sergio Martins
7958eeeded
Fully qualify LayoutSaver_p.h includes
...
Now that it's installed
2021-04-28 21:13:44 +01:00
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
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
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
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
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
1458da92d9
minimal example: Use fusion too
...
Looks better in general
2020-09-29 18:10:12 +01:00