Commit Graph

3299 Commits

Author SHA1 Message Date
Sergio Martins
052d8680dc Add a test for #186
Was hard to reproduce, doesn't happen with many other layouts
2021-10-13 15:37:02 +01:00
Sergio Martins
21e8aae823 Add a test for #238
Which I can't reproduce yet, but at least tests another case.
2021-10-12 18:36:50 +01:00
Sergio Martins
0e866079da qtquick: Fix parentChanged() passing the wrong argument
QQuickItem::parentChanged(QQuickItem *parent) passes the *new*
parent, not *this*

Fixes #243 which is actually invalid, but uncovered this bug.
For #243 you can just use sender(), or connect to a lambda that
captures the dock widget.
2021-10-12 11:46:16 +01:00
Sergio Martins
a8bd6ba840 Fix corrupt layout when restoring old JSON
If the old *.json file doesn't know about some new docked widget
then we need to float it before restoring the main window

Fixes #237
2021-10-12 11:16:15 +01:00
Sergio Martins
96aefdd3c7 Make tst_restoreNonExistingDockWidget more minimal
dock1 isn't required

And it's ok that dock2 remains open, the bug is actually that it
doesn't get resized when we resize the main window
2021-10-11 00:50:53 +01:00
Sergio Martins
753fe57b30 Add a failing test for bug #237 2021-10-11 00:25:10 +01:00
Sergio Martins
9587c1b1e3 Add a test for issue #245
I can't repro still. Will wait for more feedback from reporter.
2021-10-10 19:32:27 +01:00
Sergio Martins
bc1b296440 README: Explain that StyleSheets are not supported
It's intentional.

Closes #246
2021-10-10 19:20:00 +01:00
Allen Winter
5626b0120d PySide[2,6]ModuleBuild.cmake - restore noisy compiler warnings removal
somehow got lost
2021-10-05 17:08:32 -04:00
Allen Winter
e5d2f5f857 PySide[2,6]ModuleBuild.cmake - restore noisy compiler warnings removal
somehow got lost
2021-10-03 16:54:26 -04:00
Allen Winter
3eb52c46b1 python/examples/main.py - add instructions to generate rc_assets.py 2021-09-30 15:57:22 -04:00
Allen Winter
aaa64bf769 Merge pull request #248 from KDAB/pyside6-unittest
Fixed unit test for PySide6
2021-09-30 15:49:17 -04:00
Renato Araujo
b7b1d6d4e9 Fixed unit test for PySide6 2021-09-30 06:04:52 -07:00
Allen Winter
a90417de55 python/examples-qt6/main.py - uncomment rc_assets
commented by mistake
2021-09-29 17:17:54 -04:00
Allen Winter
73f08df224 Merge pull request #247 from KDAB/python38
Fixed module import for python 3.8
2021-09-29 16:41:26 -04:00
Renato Araujo Oliveira Filho
db9babbdca Fixed module import for python 3.8 2021-09-29 13:36:16 -07:00
Allen Winter
463dd2261e various - spelling fixes 2021-09-28 16:45:44 -04:00
Allen Winter
4dd66969af examples/dockwidgets/MyTitleBar_CSS.h - add multiple include guard 2021-09-28 16:36:55 -04:00
Allen Winter
2c98003219 CMakeLists.txt,python/tests/CMakeLists.txt - minor coding style 2021-09-28 16:28:51 -04:00
Allen Winter
dd853a8f72 python/tests/ - add copyright+license header 2021-09-28 16:24:35 -04:00
Allen Winter
88d5e6b29d Merge pull request #242 from KDAB/python-unittest
Fixed import module for windows and python 3.7
2021-09-28 16:03:40 -04:00
Renato Araujo
71e5d8cc31 Fixed import module for windows and python 3.7
create unit test
2021-09-28 14:45:52 -03:00
Allen Winter
15b3843172 ../KDAB/modules/PySide6ModuleBuild.cmake - set INSTALL_PATH for Mac
on Mac we need to set the rpath to "@loader_path"
2021-09-27 16:42:07 -04:00
Allen Winter
3cffe3b3be ../KDAB/modules/PySide2ModuleBuild.cmake - set INSTALL_PATH for Mac
on Mac we need to set the rpath to "@loader_path"
2021-09-27 16:27:54 -04:00
Allen Winter
9dd87b7777 python/PyKDDockWidgets/CMakeLists.txt - fix TARGET_SONAME_FILE
TARGET_SONAME_FILE isn't supported on Windows
2021-09-27 15:46:23 -04:00
Allen Winter
b057cf905b python/examples-qt6/main.py - uncomment rc_assets
commented by mistake
2021-09-27 12:59:59 -04:00
Allen Winter
d7943d30d8 cmake/KDAB/modules/PySide6ModuleBuild.cmake - add rpath property
follow PySide2ModuleBuild.cmake
2021-09-27 12:59:19 -04:00
Renato Araujo Oliveira Filho
1826d68841 Install library so into python module dir
We do the same a PySide and install the target library into the python
module this. This way the bindings can work without need to export
system paths.
2021-09-25 11:02:18 +01:00
Allen Winter
dc1e5103e2 docs/api/CMakeLists.txt - use INSTALL_DOC_DIR
install api docs files to ${INSTALL_DOC_DIR},
not to ${CMAKE_INSTALL_DOCDIR}
2021-09-20 17:28:48 -04:00
Sergio Martins
33c5647e57 Don't create duplicate central frame with restoring
When using MainWindowOption_HasCentralFrame we have a persistent
central frame which is never destroyed. When restoring a layout
we shouldn't create it, as it exists already.
2021-09-20 12:26:45 +01:00
Waqar Ahmed
f6f772edc5 Fix leaks in kddockwidgets_example 2021-09-17 11:27:09 +01:00
Allen Winter
7e460d8f34 examples/main.py, examples-qt6/main.py - uncomment import
uncomment the import rc_assets (commented by mistake)
2021-09-12 11:24:28 -04: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
Waqar Ahmed
8307598d5d tests: Fix tests, only repro in some distros 2021-09-11 12:17:50 +01:00
Waqar Ahmed
13fe276dbe Fix possible division by zero 2021-09-11 12:05:00 +01:00
Sergio Martins
13a5a472cd Fix build 2021-09-08 23:17:39 +01:00
Sergio Martins
b5c11ce199 example: Add an example about using stylesheets 2021-09-08 23:14:47 +01:00
Sergio Martins
83c8c22736 Add a TitleBar::isFocused property so we can use with qss
This has nothing to do with QWidget::hasFocus, but regarding our
focus scope support
2021-09-08 22:31:51 +01:00
Sergio Martins
c8ca7bf9e1 Allow TitleBarWidget to honour the stylesheet background color 2021-09-08 20:22:20 +01:00
Milian Wolff
0184deb54d Don't set CMAKE_MODULE/SHARED_LINKER_FLAGS in PARENT_SCOPE 2021-09-08 18:01:47 +02:00
Milian Wolff
389042f3cc Unbreak clang+asan build
Don't set -Wl,--no-undefined in such a configuration as it's not
supported, contrary to gcc+asan.
2021-09-08 16:13:03 +01:00
Sergio Martins
736358a71f cmake: Introduce KDDockWidgets_X11EXTRAS option, default ON
Use -DKDDockWidgets_X11EXTRAS=OFF to disable it, if you don't want
to link to Qt5X11Extras.

I've added a new option instead of relying on auto-detection, because
I want to make it difficult to disable it when on X11, it's opt-out.

X11Extras is needed when window managers don't have compositors, in
that case we use icons without transparency.
2021-09-07 12:19:20 +01:00
Sergio Martins
bffe671679 Fix QtQuick build 2021-09-04 20:11:35 +01:00
Sergio Martins
fafc0b7946 Fix "normal geometry" not being restored
When restoring a maximized window, calling QWidget::showNormal()
on it wouldn't set it's previous non-maximized size.

QWidget::normalGeometry() doesn't have a setter, so use private API.
2021-09-04 19:59:03 +01:00
Sergio Martins
3574feea98 Added isNormalWindowState()
As QWidget doesn't have it.
2021-09-04 13:38:06 +01:00
Sergio Martins
25b48920bb Make FloatingWindow::normalGeometry() virtual
So it can be overridden by QtQuick, since there's no "normal geometry"
for QWindow.

Also useful to workaround window manager bugs in a class derived from FloatingWindow.
2021-09-03 15:33:46 +01:00
Sergio Martins
e22ca48674 Fix QtQuick build 2021-09-03 00:18:42 +01:00
Sergio Martins
3b9773f872 Add support for restoring minimized/maximized floating window state 2021-09-02 18:32:35 +01:00
Sergio Martins
3e3cf10fff Allow to override FloatingWindow maximization/minimization
So users can workaround bugs in window managers / Qt, such as QTBUG-95478

The custom behavior needs to be done in a FloatingWindow sub-class,
as a generic workaround which doesn't break other window managers isn't
possible
2021-09-02 18:08:13 +01:00
Sergio Martins
421b401b4f qtquick: Added QWidgetAdapter::isMinimized() 2021-09-02 17:31:05 +01:00