Philipp Swoboda
e310df8e16
Always build against Qt6
2023-06-17 15:40:37 +02:00
Philipp Swoboda
f98ff4794f
Add branch for Version 1.5 (because it seems to work better than newer versions)
2023-02-12 19:41:57 +01:00
Sergio Martins
93b664414b
X11: Add support for robust z-order detection
...
Qt doesn't provide any way to know which window is directly
bellow the cursor. Generally this is fine since floating windows
are always on top of the main window. However, if Qt::Tool is removed,
then they can be behind, and KDDW can't know which window to overlay
the drop indicators onto.
This patch uses XLib's XQueryTree to solve this.
This is still experimental, hence disabled by default.
For now it's disabled by default, since it's experimental.
You can turn it on by passing -DKDDockWidgets_XLib=ON
Fixes bug #256
(cherry-picked from b20ce0895b as it's safe enough)
2022-01-21 11:56:48 +00:00
Sergio Martins
866788674f
Minor: Added Utils::isXCB()
2022-01-21 11:56:48 +00:00
Allen Winter
93e60a743e
update copyright year
2022-01-20 08:05:26 -05:00
Allen Winter
328a14b46a
src/private/FloatingWindow.cpp - fix compile with mingw
...
NOMINMAX should only be defined with MSVC on Windows.
2022-01-20 07:50:24 -05:00
Allen Winter
cf40cadce8
cmake/KDAB/modules/KDQtInstallPaths.cmake - sync to upstream
2022-01-19 16:23:28 -05:00
Allen Winter
0adb130d4b
src/private/FloatingWindow.cpp - on Windows, define NOMINMAX
...
else windows.h will define the max() macro which doesn't
play nice with the std::numeric_limits::max()
Issue #266
2021-12-27 08:09:09 -05:00
Alistair Baxter
f1e19ec59c
Ensure that floating windows are not positioned off-screen when they are shown
...
At points when a Rect is to be used to position a floating widget,
test to see if it overlaps any of the system's screens.
If it does not, adjust the Rect to within the closest screen edges.
2021-12-22 16:48:45 +00:00
Allen Winter
c0c8399bd7
README.md - add a bit of info about Qt private packages on linux
...
related to issue#257
2021-11-26 09:04:30 -05:00
Allen Winter
30185d5b2a
This is would become version 1.5.1
2021-11-24 16:49:11 -05:00
Allen Winter
9990300006
distro/qt5-kddockwidgets.spec - add BuildRequires for SUSE
...
libqt5-qtbase-private-headers-devel is needed
2021-11-24 12:32:06 -05:00
Allen Winter
573e82e9eb
update 1.5.0 release date
2021-11-24 12:20:15 -05:00
Allen Winter
07a135a10a
ECMGeneratePriFile.cmake - restore "Fix issues with pri file"
...
commit b81c32b1c9
Author: Jacob Young <jacobly0@users.noreply.github.com >
Date: Mon Dec 28 20:46:28 2020 -0500
2021-11-24 12:14:16 -05:00
Sergio Martins
fc172b66f8
Explain that changing window manager flags isn't portable
...
This restriction comes from Qt itself, not from KDDW.
Relates to bug #256
I will however try to reproduce it
2021-11-24 11:16:36 +00:00
Sergio Martins
2be0d5d1d9
Add a warning about using private headers and ABI compat
2021-11-24 10:04:52 +00:00
Allen Winter
3007b46892
ready for 1.5 release
2021-11-22 08:16:54 -05:00
Allen Winter
1419db80a2
OBS distro fixes
2021-11-19 18:03:22 -05:00
Allen Winter
5376ceec7e
prep for the 1.5.0 release
2021-11-19 15:39:19 -05:00
Allen Winter
d3a3e7502e
appveyor.yml - temporarily disable testing on Windows
...
until I have the time to figure out a proper solution
2021-11-19 12:22:20 -05:00
Allen Winter
50c3f9b899
appveyor.yml - add bin to PATH on Windows
...
to fix 'ctest' on Windows
2021-11-19 11:00:44 -05:00
Allen Winter
8845fae147
appveyor.yml - fix typo
2021-11-19 10:23:55 -05:00
Allen Winter
0c291116b9
appveyor.yml - install mesa on ubuntu
2021-11-19 10:05:07 -05:00
Allen Winter
f0fa0281bf
CMakeLists.txt - fix default install location on Windows
2021-11-19 09:59:56 -05:00
Allen Winter
313a17a96c
appveyor.yml - add Qt to PATH
2021-11-19 08:58:07 -05:00
Allen Winter
9e2b1d3e44
move github CI to appveyor for all platforms
2021-11-19 08:33:43 -05:00
Allen Winter
a82a283b4b
CMakeLists.txt - increase min Qt to version 5.15
2021-11-18 09:06:50 -05:00
Sergio Martins
b6770217bb
README: Mention 5.15 is required
...
5.12 no longer compiles
2021-11-18 14:01:59 +00:00
Sergio Martins
c8b22e7ea5
Fix "Unpin" button not showing up in overlayed widgets
2021-11-18 12:15:23 +00:00
Sergio Martins
8dcaaaf853
tests|Qt6: Ignore benign warning coming from QQC material style
...
Needs to be fixed in Qt
2021-11-17 17:00:16 +00:00
Sergio Martins
32ecdb5b37
README-QtQuick: Bump the patch revisions of min supported Qt
...
Probably works with earlier, but not tested
2021-11-17 15:59:46 +00:00
Sergio Martins
099c7eafc8
tests: Fix QtQuick tests
...
normal geometry isn't supported for QWindow, only QWidget.
2021-11-17 15:41:50 +00:00
Sergio Martins
f872d6fbc1
tests: Fix issue found by ASAN
...
We need to ungrab the window before deleting it.
2021-11-17 15:12:06 +00:00
Sergio Martins
3e21787efb
qtquick: Fully qualify setPersistentCentralWidget() arguments
...
So it works from QtQuick too
2021-11-17 14:13:01 +00:00
Allen Winter
58fcd8d04d
conan/conanfile.py - change to version 1.5.0
2021-11-15 09:57:14 -05:00
Allen Winter
95d5146fce
CMakeLists.txt - increase version for release candidate
2021-11-15 09:51:21 -05:00
Sergio Martins
ea6adafc13
Fix QtQuick build
...
Fixes #254
2021-11-09 09:45:15 +00:00
Allen Winter
f65cb2c0ce
README.md - minor
2021-11-04 17:20:51 -04:00
Sergio Martins
fbde2bd202
cmake: Allow to not create "docs" target
...
Fixes integrating KDDW as sub-repo of other projects that
already define "docs" target. It would conflict.
namespacing the target name would be another optionm but in doubt
keep things simple
2021-11-03 09:14:25 +00:00
Sergio Martins
0cee15c0d3
Don't do relative positioning restore if main window changed screen
...
We only shift floating windows position for simple cases.
Fixes floating windows being restored out of bounds in some cases.
2021-11-02 19:11:29 +00:00
Sergio Martins
4b56a336a0
Fix build on macOS
2021-10-19 14:34:27 +01:00
Sergio Martins
56bec0db04
Replace KDDOCKWIDGETS_RUBBERBAND_IS_TOPLEVEL with config option
...
This way one doesn't need to rebuild KDDW to make the rubber band
top-level.
Added it as internal option, as this will seldom be used.
2021-10-17 11:17:41 +01:00
Allen Winter
dd979d191f
CMakeLists.txt, python/CMakeLists.txt - some restructuring
2021-10-13 17:33:32 -04:00
Sergio Martins
a5f37f851b
Fix relative inner resizing not working properly
...
When we resize the main window then we also resize the inner
dock widgets in the same proportion (based on saved percentages),
during a resize we should not recompute those percentages due to
rounding errors.
They were being recomputed by mistake, since only the root Item
was blocking them, but the function recurses into inner items
Fixes #186
2021-10-13 18:33:45 +01:00
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
Sergio Martins
a0c97e3388
Fix layout save restore when using MainWindowOption_HasCentralWidget
...
Those checks don't make sense anymore
2021-09-02 11:05:57 +01:00
Sergio Martins
d2a3968897
tests: Add tests for MainWindowOption_HasCentralWidget
2021-09-02 10:53:08 +01:00
Sergio Martins
4ea7953a76
Don't allow to overlay central widget
2021-09-02 10:52:56 +01:00
Sergio Martins
0cc0972eea
Don't allow to close/float/tab persistent central widget
...
Fixes corner cases with MainWindowOption_HasCentralWidget
2021-09-02 10:30:34 +01:00
Sergio Martins
77b5d1630d
Added DockWidget::isPersistentCentralDockWidget()
2021-09-02 10:24:43 +01:00
Sergio Martins
f962989484
Fix MainWindow::addDockWidgetAsTab with MainWindowOption_HasCentralWidget
...
When using central widget no tabs are supported
2021-09-02 10:17:37 +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
Sergio Martins
3fb8861eee
Remove "EXPERIMENTAL" comment from MDI option
...
MDI doesn't have known bugs
2021-08-29 17:43:21 +01:00
Allen Winter
78381badd1
docs/api/Doxyfile.cmake - not generating latex
...
hard-code LATEX_CMD_NAME to latex since we won't
be generating the latex documentation; else we
have an ununitialized variable for @LATEX_COMPILER@
2021-08-25 15:26:32 -04:00
Allen Winter
8b1a9f2a41
README.md - Add info about Using in Qt6 projects
2021-08-24 09:24:30 -04:00
Sergio Martins
9ee52a0011
Merge branch '1.4'
2021-08-22 16:34:25 +01:00
Sergio Martins
240169ce23
Fix bug where the central frame would be detached
...
We don't allow detaching the central frame.
Fixes #228
2021-08-22 16:33:19 +01:00
Allen Winter
97a431f367
docs/api/Doxyfile.cmake - set PAPER_TYPE to a4
...
a4wide is no longer supported
2021-08-19 12:29:44 -04:00
Allen Winter
3769ad9615
python/PyKDDockWidgets/CMakeLists.txt - link to Python3 dev libs
2021-08-19 11:28:18 -04:00
Allen Winter
8332ab3ddc
CMakeLists.txt - add LINKER_FLAGS fo various platforms
...
set CMAKE_SHARED_LINKER_FLAGS and CMAKE_SHARED_LINKER_FLAGS
- Linker warnings should be treated as errors
- Do not allow undefined symbols, even in non-symbolic shared libraries
2021-08-19 11:23:54 -04:00
Allen Winter
3b4a2f134f
docs/api/Doxyfile.cmake - don't use fullpaths to makeindex
...
@MAKEINDEX@ expands to the fullpath /usr/bin/makeindex
breaks 'make pdf' in build/docs/api/latex
2021-08-19 11:23:34 -04:00
Allen Winter
5899e3716c
CMakeLists.txt - Enable hidden visibility by default
...
"It's just good practice, catching some problems with missing
export macros that would otherwise only affect Windows,
and reducing the number of exported symbols on Unix."
2021-08-16 17:34:08 -04:00
Allen Winter
25bc05ae40
docs/api/CMakeLists.txt - introduce user variable QCH_INSTALL_DIR
...
provide a user settable variable (as in -DQCH_INSTALL_DIR=/path)
to override the qch file default installation location.
2021-08-16 17:29:48 -04:00
Allen Winter
f42629a6e5
docs/api/CMakeLists.txt - install the doxygen tagsfile
2021-08-16 17:28:58 -04:00
Allen Winter
192cb2daaa
buildsystem - a bit of re-organizing the docs/api CMake
2021-08-16 17:28:09 -04:00
Allen Winter
63cc87af2d
docs/api/Doxyfile.cmake - update and consistency
2021-08-16 17:25:31 -04:00
Allen Winter
3e1ea3ec67
Changelog - mention Qt6 co-installability
2021-08-16 17:21:26 -04:00
Allen Winter
c27a09c13c
Merge branch '1.4'
2021-08-16 13:28:02 -04:00
Allen Winter
b3486ebca8
CONTRIBUTORS.txt - update
2021-08-16 13:27:43 -04:00
Albert Astals Cid
6a7230e546
Update qt6-kddockwidgets.spec for new paths
2021-08-12 15:39:43 +02:00
Allen Winter
ca173de71d
CMakeLists.txt - fix typo "set(d fault_build_type)"
2021-08-12 07:35:40 -04:00
Allen Winter
5732e8ed14
CMakeLists.txt - minor reorganizing
2021-08-11 19:49:19 -04:00
Albert Astals Cid
5cc7a0864b
Fix KDDockWidgetsConfig to require the proper Qt version
...
And for Qt5X11Extras we only require it if building the Qt5 one
2021-08-11 16:26:10 +02:00
Albert Astals Cid
e4671f175c
Install the qt6 cmake targets in prefix lib/cmake/KDDockWidgets-qt6
...
So it does not collide with the qt5 files
2021-08-11 16:19:05 +02:00
Albert Astals Cid
17fd6b2454
Make Make qt5/qt6 documentation coinstallable
2021-08-11 15:44:19 +02:00
Albert Astals Cid
7ed3945d58
Make qt5/qt6 includes coinstallable
...
Even if they are "the same file" it's always good to not have packages
trying to install over the same files.
Since we don't want users to have to change their existing
#include <kddockwidgets/DockWidget.h>
We install the qt6 includes in include/kddockwidgets-qt6/kddockwidgets
and change the cmake target INTERFACE_INCLUDE_DIRECTORIES to be
"${_IMPORT_PREFIX}/include/kddockwidgets-qt6"
so everything is transparent for the user
2021-08-11 15:22:29 +02:00
Allen Winter
35de0a2fef
python/examples-qt6 - PySide6 and PyKDDockWidgetsQt6 version
2021-08-10 08:52:54 -04:00
Allen Winter
8a0e475f21
python/examples - "PySide" => "PySide2"
2021-08-10 08:43:12 -04:00
Allen Winter
63d14f2345
python/CMakeLists.txt - fix typo
2021-08-10 08:35:40 -04:00
Allen Winter
e91849759c
python/CMakeLists.txt - use PyKDDockWidgetsQt6 namespace for Qt6
...
follow PySide6 naming convention
2021-08-10 08:29:50 -04:00
Allen Winter
ee3a3af408
Merge branch '1.4'
2021-08-10 08:21:11 -04:00
Allen Winter
c470c89fc6
PySide6ModuleBuild.cmake - sync
2021-08-10 08:20:32 -04:00
Allen Winter
73cfa64ebb
python/PyKDDockWidgets/__init__.py.cmake - minor comment fix
2021-08-10 08:18:48 -04:00
Sergio Martins
ffe5d5f6cb
Merge branch '1.4'
2021-08-10 10:05:13 +01:00
Sergio Martins
aff4450b42
cmake: Install QWidgetAdapter_quick_p.h too
...
Fixes #224
2021-08-10 10:04:11 +01:00
Allen Winter
d40580c550
buildsystem - rename QT_MAJOR_VERSION to Qt_VERSION_MAJOR
...
as this is consistent with CMake style and other projects
2021-08-04 16:18:31 -04:00
Allen Winter
8e19b81eb9
cmake/KDAB/modules/KDQtInstallPaths.cmake - sync
2021-08-04 16:17:27 -04:00
Kevin Funk
d5191696e1
cmake: Remove explicit policy version settings
...
These are NEW by default already for the required CMake version
2021-08-04 07:55:54 +02:00
Allen Winter
1d01466181
Merge branch '1.4'
2021-08-03 07:18:37 -04:00
Allen Winter
1cead0e2b8
python/CMakeLists.txt - adapt to new upstream FindPySide
2021-08-03 07:17:50 -04:00
Allen Winter
aff4d426b8
Merge branch '1.4'
2021-08-02 19:15:00 -04:00
Allen Winter
4597cdeda8
cmake/Python - sync
2021-08-02 19:13:46 -04:00
Allen Winter
2e7f0bf51d
cmake/KDAB/module - sync
2021-08-02 19:11:39 -04:00
Allen Winter
fa551b84f6
Merge branch '1.4'
2021-08-01 11:19:17 -04:00
Allen Winter
ce105212ab
Doxyfile.cmake - more setting consistency
2021-08-01 11:18:21 -04:00
Allen Winter
31d4b62181
cmake/KDAB/modules/KDQtInstallPaths.cmake - sync
2021-07-30 13:04:12 -04:00
Allen Winter
7ec542a211
post-merge cleaning
...
rearrange top-level CMakeLists.txt
2021-07-29 17:04:45 -04:00
Allen Winter
e615d1c618
Merge branch '1.4'
2021-07-29 16:47:45 -04:00
Allen Winter
ce349d0fcd
buildsystem - improve installing to non-KDAB location
2021-07-29 16:42:07 -04:00
Allen Winter
c86813b1cb
CMakeLists.txt - remove CMake option KDDockWidgets_UNINSTALL
...
no longer needed since the uninstall target is created
only for "rooted" projects (ie. non-submodules)
2021-07-29 12:59:15 -04:00
Allen Winter
1fe651aaa7
CMakeLists.txt - re-organize. implement PROJECT_IS_ROOT
...
set KDDockWidget_IS_ROOT for detecting if this project
is being used inside another parent-parent (eg. submodule)
If not IS_ROOT then we don't build tests, examples, etc.
2021-07-29 12:56:39 -04:00
Allen Winter
ba7809236b
CMakeLists.txt - follow using PYSIDE_CUSTOM_PREFIX
2021-07-29 12:55:09 -04:00
Allen Winter
84814b3c59
FindPySide2.cmake,FindPySide6.cmake - sync
2021-07-29 12:54:09 -04:00
Allen Winter
73ca6e6671
buildsystem - install the Python bindings into standard "site-packages"
...
Follow Python standards and install the bindings into
<prefix>/lib/pythonX.Y/site-packages
sync the Python cmake files with KDAB repository
2021-07-23 12:05:02 -04:00
Sergio Martins
a26759f340
Remove .uncrustify file, as we use clang-format now
2021-07-22 10:13:32 -07:00
Sérgio Martins
200ef12b4a
Fix close icon being too dark
...
Fixes #208
2021-07-22 18:11:53 +01:00
Allen Winter
990fac9a0a
open for 1.5 - new features
2021-07-16 13:02:05 -04:00
Allen Winter
31ec4cdecb
Merge branch '1.4'
2021-07-16 12:59:32 -04:00
Allen Winter
1d968bd902
CMakeLists.txt, Changelog - open for 1.4.1
2021-07-16 12:59:12 -04:00
Allen Winter
69a632cfc2
conan/conanfile.py - Qt5.12 is required since 1.4.0
2021-07-16 12:53:21 -04:00
Allen Winter
9a784f1222
ready for 1.4.0 release
2021-07-16 11:13:13 -04:00
Allen Winter
4a390696d5
CMakeLists.txt - Set default CMAKE_BUILD_TYPE to Release for non-dev
...
In non-developer situations default CMAKE_BUILD_TYPE=Release
2021-07-16 09:42:43 -04:00
Allen Winter
68aaccadab
CMakeLists.txt - move the python bindings buildtype check
2021-07-16 09:38:56 -04:00
Allen Winter
3940228b59
various cmake files - minor coding style
2021-07-16 09:18:03 -04:00
Allen Winter
f8abe48c82
CMakeLists.txt - add more doc
2021-07-16 09:11:00 -04:00
Sergio Martins
86db81e5b7
README-QtQuick: Remove sentence about failing Qt6 tests
...
It was a false-positive, everything passes
2021-07-15 23:53:01 +01:00
Sergio Martins
34676f016f
qtquick: Blacklist a Qt6 test
...
Works fine manually.
Qt6 refactored input event handling, which broke our Tests::doubleClickOn(QWindow).
2021-07-15 23:50:06 +01:00
Sergio Martins
4448891315
tests: Increase timeout when trying to active dock widgets
...
When running with ASAN everything is slower.
Added a warning to tests fail sooner if this happens.
2021-07-15 20:50:58 +01:00
Sergio Martins
fc1f12b77c
cmake: Qt6 QtQuick clangcl preset needs help finding Qt6 plugins
...
The same was already done to the regular msvc one
2021-07-15 20:18:55 +01:00
Sergio Martins
a50057f5d2
cmake: Fix running the clangcl Qt6 presets on Windows
...
They need to set PATH
2021-07-15 20:14:48 +01:00
Sergio Martins
d7b32e475e
cmake: Normalize preset build dir of my clangcl preset
2021-07-15 20:11:30 +01:00
Allen Winter
e32aaccaac
Merge branch '1.4'
2021-07-15 13:30:58 -04:00
Allen Winter
8b695eec79
.codespellrc - codespell config
2021-07-15 10:26:20 -04:00
Allen Winter
c85904c67e
2 more misspelling fixes for contractions.
2021-07-15 10:25:53 -04:00
Allen Winter
22a709a39e
fix more misspellings
2021-07-15 10:14:04 -04:00
Allen Winter
4f4a5de700
fix misspellings found by codespell
2021-07-15 09:46:53 -04:00
Sergio Martins
08ecbb2ca6
qtquick: Mention Qt6+qtquick has failing tests
2021-07-15 10:59:23 +01:00
Sergio Martins
048b494874
cmake: Fix dev-qtquick6 preset
...
When running it, we need to set the correct qml import path,
otherwise it picks up Qt 5.
2021-07-14 23:31:57 +01:00
Allen Winter
1539d7233b
make/ECMGenerateHeaders.cmake - avoid uninit value
...
see upstream MR at:
https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/161
2021-07-14 16:00:32 -04:00
Sergio Martins
214dbdf359
qtquick: Fix clazy-connect-not-normalized
2021-07-14 16:10:07 +01:00
Allen Winter
473ce60340
cmake/ECM/modules/ECMGenerateHeaders.cmake - add missing
2021-07-13 18:39:58 -04:00
Allen Winter
74ba8c6bd2
src/CMakeLists.txt - coding style
...
consistent indentation, etc.
2021-07-13 16:59:53 -04:00
Allen Winter
11a1023e79
src/CMakeLists.txt - generate and install camelcase headers
...
for public headers and exported classes only
2021-07-13 16:58:25 -04:00
Sergio Martins
3302401a36
Merge branch '1.4'
2021-07-13 17:34:58 +01:00
Sergio Martins
3c5f07ac79
Update ChangeLog
2021-07-13 17:34:00 +01:00
Renato Araujo Oliveira Filho
c0c1383254
Python: Create bindings for InitialOption
...
Added bindings for missing enums
Added InitialOption as value type
Task-Id: #198
2021-07-13 17:33:50 +01:00
Renato Araujo Oliveira Filho
ec4a4d1c86
Python: Create bindings for InitialOption
...
Added bindings for missing enums
Added InitialOption as value type
Task-Id: #198
2021-07-13 17:33:09 +01:00
Sergio Martins
5ef330f479
vscode: Fix the build dir paths
...
They changed in the cmake preset
2021-07-13 17:32:54 +01:00
Allen Winter
bbdbadd630
CMakeLists.txt - add missing option() and feature_summary()
...
also some minor coding style and some more comments
2021-07-13 08:20:50 -04:00
Allen Winter
80a1483617
QtQuick support is no longer expermental
2021-07-13 08:06:30 -04:00
Sergio Martins
13a7d27046
vscode: Fix the build dir paths
...
They changed in the cmake preset
2021-07-13 08:27:21 +01:00
Sergio Martins
8800c02403
Fix persistent central frame becoming invisible
...
Wouldn't affect functionality but would have a different color.
Fixes #220
2021-07-13 08:19:05 +01:00
Allen Winter
dd9ec48979
DragController.cpp - fix multi-line comment [-Werror=comment]
...
caused by clang-format
2021-07-12 17:37:59 -04:00
Allen Winter
262d703608
cmake/ECM - sync with upstream
...
except for ECMEnableSanitizers.cmake which has local
changes we intend to upstream, if accepted.
2021-07-12 17:21:15 -04:00
Allen Winter
5629e1dfc2
.clang-format - set ColumnLimit to 0
...
else clang-format grows lines for you
2021-07-12 17:07:55 -04:00
Allen Winter
7001aa58ce
clang-format on code base
2021-07-12 17:05:37 -04:00
Allen Winter
d87898b59e
private/DragController.cpp - don't include QWindow more than once
2021-07-12 17:04:15 -04:00
Allen Winter
d1078adad2
.clang-format - SortIncludes: false
2021-07-12 16:41:32 -04:00
Allen Winter
e4f0fae7e5
.clang-format - ColumnLimit: 150
...
because SPDX tag lines are longer than 100 already
2021-07-12 16:38:08 -04:00
Sergio Martins
4b06706d61
Port away from deprecated QWidget::isTopLevel()
...
Fixes Qt6 warnings about it
2021-07-10 07:18:27 -07:00
Sergio Martins
7e1331bd76
cmake|Qt6: Add presets for clang-cl
2021-07-10 06:56:36 -07:00
Sergio Martins
f735f25fb0
cmake|qtquick: Add a preset for building with clang-cl
2021-07-10 06:52:35 -07:00
Sergio Martins
750c089ab0
windows: Use -Werror for clang-cl too
2021-07-10 06:49:14 -07:00
Sergio Martins
3088f33837
Fix non-windows build
2021-07-10 06:44:48 -07:00
Sergio Martins
1d598d2585
windows: Fix all clang-cl warnings
...
Mostly int vs uint conversions.
In preparation to add -Werror
2021-07-10 06:43:04 -07:00
Sergio Martins
768c51f01c
windows: Fix a -Wunused-lambda-capture warning
2021-07-10 06:27:23 -07:00
Sergio Martins
a2e2b32fc3
cmake: Don't pass -fvisibility=hidden to clang-cl
...
It's not supported
2021-07-10 06:22:24 -07:00
Sergio Martins
a6abf73669
cmake: Add a preset for clang-cl
...
clang has different warnings, so would like to build with it in
CI too.
2021-07-10 13:57:48 +01:00
Sergio Martins
a6e62ec74d
qtquick|tests: trying to stabilize a test in CI
...
Can't repro locally.
2021-07-10 13:44:15 +01:00
Sergio Martins
93441a5754
cmake: Use unity build for our release builds
...
Unity is much faster to build, specially on Windows
2021-07-10 13:38:24 +01:00
Sergio Martins
fe57686715
cmake: Remove "-qtwidgets" suffix from preset names
...
Only variants need a suffix (python, qtquick, static, etc).
The default is a qtwidgets build
2021-07-10 13:22:27 +01:00
Sergio Martins
330f5aebdf
cmake: Add -Wundef
2021-07-09 22:26:01 +01:00
Sergio Martins
02c17e59dd
relax a warning about not finding dock widget to restore
...
If the user provided a factory and it returns nullptr on purpose
then don't warn, it's intentional by the user
2021-07-06 23:12:49 +01:00
Sergio Martins
be8af12a90
cmake: Remove unneeded custom preset settings
...
I have this locally now, as it didn't have any kddw specific config
and I'm using it cross project, so makes more sense to have it
in a central location outside of kddw.
2021-07-05 22:51:09 +01:00
Sergio Martins
238193f56b
qtquick: DockWidget now receives QQmlEngine as param
...
If nullptr then the usual Config::qmlEngine() will be used.
2021-07-04 18:41:52 +01:00
Sergio Martins
54233085a4
tests: Add a warning to the blacklist
...
Don't abort on:
"Populating font family aliases took"
2021-07-03 21:51:02 +01:00
Sergio Martins
2241b938c9
qtquick|minor: Decouple a bit more from Config::self().qmlEngine()
...
Moves it up one layer, will be easier to remove
2021-07-03 17:26:59 +01:00
Sergio Martins
631d036c26
qtquick: Exclude two clazy-old-style-connect warnings
...
Those two cases are fine and required
2021-07-03 16:44:04 +01:00
Sergio Martins
d70f795dea
qtquick: Fix a -Wclazy-func-args-by-value
2021-07-03 16:39:25 +01:00
Sergio Martins
0be99d3e79
qtquick: Fix -Wclazy-missing-qobject-macro
2021-07-03 16:33:21 +01:00
Sergio Martins
45aab49be7
qtquick: Fix -Wclazy-fully-qualified-moc-types
...
Might even fix a few bugs as QML is very picky about this
2021-07-03 16:31:15 +01:00
Sergio Martins
2c66238791
qtquick: Fix a -Wclazy-returning-void-expression and missing Q_EMIT
2021-07-03 16:27:36 +01:00
Sergio Martins
bec1ddae67
qtquick: Fix a -Wclazy-range-loop-reference
2021-07-03 16:27:30 +01:00
Sergio Martins
913d3b263d
cmake: Don't build the examples when using the clazy preset
...
The clazy warning set is more strict for the library than for the
examples. For CI purposes and -Werror it's the library that matters.
2021-07-03 16:24:15 +01:00
Sergio Martins
614e20a183
cmake: Add a preset for clazy qtquick
2021-07-03 16:19:28 +01:00
Sergio Martins
f9f270980d
tests: Fix flaky test
...
The center indicator isn't exactly at the center of the window,
so this would fail sometimes. This is a quick workaround.
Will all API to the dock indicator interface if this isn't enough.
2021-07-03 10:46:26 +01:00
Sergio Martins
763b878ca1
qtquick|README: Mention that C++17 is required
2021-07-02 22:58:03 +01:00
Sergio Martins
d3d040adee
qtquick: Fix tab current widget being wrong when current is removed
...
When the current dock widget is removed we need to assign another
one. QTabBar does this automatically.
Fixes #215
2021-07-02 22:54:20 +01:00
Sergio Martins
31f5cc10cf
qtquick: Add qWarning() when there's no current index in tabWidget
2021-07-02 22:34:46 +01:00
Sergio Martins
38c9a3d9c6
qtquick: Require C++17
...
Fixes build due to not finding <optional>
2021-07-02 22:33:34 +01:00
Sergio Martins
362f2d5750
qtquick: Add a failing test for #215
2021-07-02 16:56:40 +01:00
Sergio Martins
463b6a1322
qtquick: Fix using initial visibility option
...
Needs to be fully qualified.
Added an example.
Fixes #212
2021-07-02 16:41:49 +01:00
Sergio Martins
00a95ac468
Fix invisible tabbar from eating hover events
...
Fixes #214
2021-07-02 16:15:04 +01:00
Sergio Martins
966f30e356
qtquick: Fix dock widgets not getting title
...
Title can be set before onComplete(), so we need to remember it
Fixes #218
2021-07-02 15:05:55 +01:00
Sergio Martins
f0217f53c2
qtquick: Update README with warning against QtGraphicalEffects
2021-07-02 00:02:23 +01:00
Sergio Martins
ced1c4dcc8
TabWidgetWidget: Don't hardcode margins, so we support DPI != 96
...
For people using font DPI instead of DPR
2021-07-01 22:17:31 +01:00
Sergio Martins
e1578436d0
Added Flag_ShowButtonsOnTabBarIfTitleBarHidden
2021-07-01 18:08:41 +01:00
Sergio Martins
701df72db6
Remove some ifdefs regarding 5.9
...
The one missing QT_VERSION_CHECK was even wrong and triggering
even with Qt 5.15.
2021-07-01 16:54:44 +01:00
Sergio Martins
c4ebef1f1e
Remove an ifdef only relevant to older Qt
2021-07-01 16:50:01 +01:00
Allen Winter
6f0eb7a2f2
Merge branch '1.3'
2021-06-30 12:19:37 -04:00
Allen Winter
be6c3ca2df
move OBS files into a distro folder, add qt6 project
2021-06-30 12:19:09 -04:00
Sergio Martins
18b49686f1
tests|qtquick: Remove the XFAIL, fixed by #211
2021-06-29 00:15:48 +01:00
Eism
02d4611501
Fixed toggling dock widgets
2021-06-29 00:16:14 +01:00
Sergio Martins
2fe8117e80
tests: Add a QVERIFY
2021-06-28 23:46:58 +01:00
Sergio Martins
457ea402d5
qtquick|example: Fix toggling not working on non-current tab
...
A non-current tab isn't visible, its dock widget is however opened.
Relates to #211
2021-06-28 23:30:05 +01:00
Sergio Martins
89623eb8b4
tests|qtquick: Add a test for weirdness reported in #211
...
Not the exact issue from #211 , but more tests will follow
2021-06-28 22:27:11 +01:00
Sergio Martins
df02382387
cmake: Add a personal preset config
...
So I can build on my mac from my linux box
2021-06-28 21:04:07 +01:00
Allen Winter
7470d62b7c
Merge branch '1.3'
2021-06-26 09:42:06 -04:00
Allen Winter
9eb9018f47
docs/api/CMakeLists.txt - fix link from mainpage to README-bindings
2021-06-26 09:40:44 -04:00
Allen Winter
d7bcbe666c
Require Qt5.12 or higher
2021-06-26 08:46:52 -04:00
Sergio Martins
aaa5b4ba26
README: Mention 6.1 is the first Qt6 version we support
...
Nobody is using 6.0 in production, so let's forget about it
2021-06-25 23:28:28 +01:00
Allen Winter
720dad1ed6
clean comment of double words "to to" and "the the"
2021-06-25 10:21:33 -04:00
Sergio Martins
6417db6d91
Added Config::InternalFlag_DisableTranslucency
...
In case one doesn't want to use the env variable
2021-06-25 14:38:19 +01:00
Sergio Martins
ec681e99ca
Disable translucency when KDDW_NO_TRANSLUCENCY env var is set
...
Useful for running on weird window managers which don't support
transparent windows.
2021-06-25 14:31:00 +01:00
Sergio Martins
47ef203643
qtquick|minor: Remove a call to Config::self().qmlEngine()
2021-06-23 19:03:40 +01:00
Sergio Martins
844aa2f36a
qtquick|minor: Move qml engine one level up
2021-06-23 18:37:34 +01:00
Sergio Martins
e2e8f10948
Fix QtQuick tests
2021-06-22 23:40:40 +01:00
Sergio Martins
1c49e2297a
Fix QtQuick build
2021-06-22 23:22:02 +01:00
Sergio Martins
6f031e3c33
Windows: Fix initial FloatingWindow size in HDPI
...
When:
- Screen A (100%), B (150%)
- MainWindow on screen B
- Trying to open a floating window on screen A (via setGeometry())
The Qt Windows QPA would error out when setting the geometry and it
would be too small.
The solution is to call setGeometry() before we create the QWindow.
Too much of an edge case to risk putting this on 1.3 branch.
Will be in 1.4.0.
Fixes #191
2021-06-22 23:09:38 +01:00
Sergio Martins
f74fd52d53
DebugWindow: When dumping windows don't dump the DebugWindow itself
2021-06-22 17:27:27 +01:00
Sergio Martins
2d4cef670b
Fix build with qtquick
2021-06-21 08:50:36 +01:00
Sergio Martins
dfaf455624
Add support for the rubber bands to be top-level
...
Worksaround a bug where they can't be transparent when embedded
in a MFC application
2021-06-20 21:26:43 +01:00
Allen Winter
5d2e09de36
.reuse/dep5 - add more files
2021-06-19 10:34:45 -04:00
Allen Winter
c86de50032
.resuse/dep5 - REUSE copyright+license for artwork, etc
2021-06-19 09:55:48 -04:00
Sergio Martins
5ff720f432
Export DropArea, has some useful symbols
2021-06-18 17:51:36 +01:00
Sergio Martins
6f7e47324c
Minor: improve an include
2021-06-18 17:50:42 +01:00
Sergio Martins
b68f81779c
Fix possible crash
...
Observed with an MFC application
2021-06-18 16:02:33 +01:00
Sergio Martins
4c1b433269
Fix a -Wclazy-fully-qualified-moc-types error
2021-06-17 22:02:35 +01:00
Sergio Martins
7c63da18ed
Remove some dead code
...
Both if branches already return something
2021-06-17 13:03:00 +01:00
Sergio Martins
6f2e5ecc3b
Add a missing qglobal.h include
2021-06-17 13:00:48 +01:00
Sergio Martins
759cf33f08
Windows: Link to Dwmapi.lib via pragma
...
So I don't have to figure out some exotic non-cmake build systems
It's more self-contained this way anyway.
2021-06-16 12:41:40 +01:00
Sergio Martins
77279d21ef
Fixed a MSVC warning about unreachable code
2021-06-16 12:32:25 +01:00
Sergio Martins
46872fdfe8
Fix build if each header is built individually, probably
...
This header is included by QWidgetAdapter.h, but if some exotic
build system builds QWidgetAdapter_widgets_p.h individially then
we need to forward declare some functions
2021-06-15 21:35:55 +01:00
Sergio Martins
79fe9c2875
cmake: Remove private/ from our PRIVATE include path
...
Because some build systems don't support public/private includes,
and would require us to add private/ to the public include path.
This allows for an easier integration with some more exotic
build systems
2021-06-15 19:53:05 +01:00
Allen Winter
f04ea37ac2
appveyor.yml - disable email notification on build_success
2021-06-15 12:04:01 -04:00
Sergio Martins
d2db92f1e7
Remove private/multisplitter/ from private include path
...
It's not needed.
Even wrong since then ../LayoutSaver_p.h would work
2021-06-15 16:46:07 +01:00
Sergio Martins
206433e430
Fix embedding in non-KDDW QMainWindow
...
Supports the case of having our KDDW MainWindow parented to another
main window. Was broken on Windows.
2021-06-14 06:43:06 +01:00
Allen Winter
fb1f3fa931
CMakeLists.txt - ECM doesn't support generating pri files for Qt6 yet
2021-06-09 09:12:14 -04:00
Allen Winter
3d106ae2f1
python/CMakeLists.txt - fix for Qt6Widgets_VERSION
2021-06-08 19:01:31 -04:00
Sergio Martins
05f0a6463b
Remove unnused AnimatedIndicators
2021-06-08 16:53:12 +01:00
Allen Winter
7b5d5d0f31
buildsystem - fix some --warn-uninitialized
2021-06-08 10:44:33 -04:00
Allen Winter
20174989a6
Merge branch '1.3'
2021-06-08 09:20:33 -04:00
Allen Winter
80d48adc07
docs/api/Doxyfile.cmake - set PROJECT_NUMBER to major.minor
...
don't use the patch level in the PROJECT_NUMBER
2021-06-08 09:19:53 -04:00
Allen Winter
3454185df4
Merge branch '1.3'
2021-06-07 17:14:25 -04:00
Allen Winter
9de0868c74
open for 1.3.2 (unknown yet if there will be such a thing)
2021-06-07 17:13:07 -04:00
Allen Winter
66cb6c7dee
kddockwidgets.spec - fix for CentOS
2021-06-07 16:32:17 -04:00
Allen Winter
1ce67b1c8f
prep for 1.3.1 release
2021-06-07 16:09:03 -04:00
Allen Winter
a9bb5b2f42
README.md - in Using section talk about CMAKE_PREFIX_PATH
...
was mistakenly CMAKE_MODULE_PATH
2021-06-07 16:01:27 -04:00
Allen Winter
97ca7fd2a0
CONTRIBUTORS: sync with master
2021-06-07 15:32:42 -04:00
Roman Pudashkin
b85e291d40
need to remove the old filter instead of the new one
2021-06-05 16:09:04 +01:00
Allen Winter
b3e3752789
.travis.yml, appveyor.yml - tweak email notification
...
notify on failures only
2021-05-28 08:41:16 -04:00
Sergio Martins
7cd6928b87
README: Add a travis "Build Passing" label
2021-05-25 22:07:33 +01:00
Sergio Martins
bb1b3c7b7b
Fix non-windows developer build
...
Build was complaining about unused function
2021-05-25 14:06:14 +01:00
Allen Winter
49c7cea3a5
.travis.yml - apt install libqt5x11extras5-dev
2021-05-25 08:54:33 -04:00
Allen Winter
64f5009297
.travis.yml appveyor.yml - add travis-ci and appveyor CI
2021-05-25 08:48:01 -04:00
Eism
0ab701bab6
qtquick: Fix detecting top level geometry
...
For QtQuick we want the QWindow geometry. For QtWidget it just works,
as the top level widget as the same geometry as the window, unlike
QQuickItem.
Fixes issue #199
2021-05-24 11:45:37 +01:00
Sergio Martins
1721415799
Fix more warnings at shutdown
2021-05-23 22:42:26 +01:00
Sergio Martins
26269459db
qtquick: Fix some warnings at shutdown
2021-05-23 22:37:42 +01:00
Sergio Martins
675da6b2e2
qtquick: Fix test on linux
...
Querying drop indicator doesn't work if indicator window
isn't visible, so actually do a full drag.
For issue #199
2021-05-23 22:06:05 +01:00
Sergio Martins
517bfca259
Add a unit-test for issue #199
2021-05-23 12:20:20 +01:00
Eism
3e30685eb4
Expose MainWindowBase::windowGeometry(), so it can be used
...
Just moves the code from private to public.
For issue #199
2021-05-23 11:34:53 +01:00
Roman Pudashkin
95cbba4618
qtquick: Fix crash by using deleteLater()
...
For issue #200
2021-05-22 10:22:58 +01:00
Sergio Martins
d89c6b9c06
qtquick|windows: Fix potential crash with offscreen QPA
...
Which also fixes a test. Now all tests pass.
The explanation was added in a comment.
2021-05-21 23:46:42 +01:00
Sergio Martins
4bda994d5c
qtquick: Fix Qt6 warning about "mouse" being injected
2021-05-21 16:44:30 +01:00
Sergio Martins
2b4f6f33af
qtquick: Fix Qt6 build
2021-05-21 16:38:12 +01:00
Sergio Martins
62500a322f
qtquick: Fix calling titleBarFilename() function
...
Probably worked before, but the argument was bogus, as the
function doesn't accept arguments
2021-05-21 09:47:09 +01:00
Sergio Martins
ae58a8b9df
Fix boolean variables being accessed before initialization
...
As detected by ASAN:
ClassicIndicators.cpp:66:12: runtime error: load of value 190, which is not a valid value for type 'bool'
2021-05-21 09:24:58 +01:00
Sergio Martins
2a8732fdcd
cmake: Add preset for qtquick developer-build
2021-05-20 23:40:23 +01:00
Sergio Martins
19931ec18e
cmake: Fix my Qt6 builds
2021-05-20 23:38:47 +01:00
Sergio Martins
b981fc4b7d
qtquick: Fix tst_dockWindowWithTwoSideBySideFramesIntoCenter()
...
Moving windows around is async for QtQuick and needs a wait
2021-05-20 22:44:58 +01:00
Sergio Martins
4b2f268921
qtquick: fix tst_positionWhenShown on Windows
2021-05-20 22:44:26 +01:00
Sergio Martins
7fb5a8d444
Merge branch '1.3'
2021-05-20 18:54:18 +01:00
Sergio Martins
913cc16371
Fix failing test on Windows due to the button hack
...
During tests, our mouse button isn't really pressed, as we
send fake press events. Only use the workaround in production.
2021-05-20 18:47:32 +01:00
Sergio Martins
4e8a9ff8ed
tests: fix a flaky test on Windows
...
The drop area doesn't fill the floating window, so the
center was off and the drop didn't happen
Additionally, disabled AeroSnap, for debugging purposes, so we can
actually see the window moving, otherwise it doesn't move, since
we can't fake a native drag. It's just a visual bonus, doesn't
affect the correctness.
2021-05-20 18:28:23 +01:00
Sergio Martins
68034de1a7
cmake: Fix ASAN not actually being enabled
...
Was only enabled for the tests.
Needed to move it up.
2021-05-20 16:41:10 +01:00
Sergio Martins
f67d8615ca
cmake: Remove manually setting ASAN on Windows
...
It's done by ECM now
2021-05-20 16:30:23 +01:00
Sergio Martins
4483c921ea
ECM: Added MSVC sanitizer support
...
Written by me, will squash it once upstream has it.
There's some patches in review upstream.
2021-05-20 16:19:48 +01:00
Sergio Martins
e8732ecfc0
ECM: sync sanitizers with upstream
2021-05-20 16:19:06 +01:00
Sergio Martins
71a538651a
Enable ASAN on Windows too
2021-05-18 16:00:54 -07:00
Sergio Martins
18c9963124
qtquick|tests: Fix tst_lastFloatingPositionIsRestored
...
We need to compare the position of the Window
2021-05-18 15:00:21 -07:00
Sergio Martins
cd0f2f4e33
Introduced Config::setDropIndicatorsInhibited(bool)
...
Allows you to disable support for drop indicators while dragging
2021-05-18 18:00:04 +01:00
Sergio Martins
fc028ec0be
Minor refactoring
2021-05-18 17:49:14 +01:00
Sergio Martins
2dbdb9f7eb
qtquick: Fix restoring QWindow's geometry
...
We need to resize the QWindow.
Fixes issue #196
2021-05-17 22:46:56 +01:00
Sergio Martins
50f6e76e81
qtquick|examples: Don't call them "MainWindow"
...
Rather "main layout", as they are not top-levels, unlike for
QWidgets
As suggested in issue #196
2021-05-17 22:27:34 +01:00
Sergio Martins
c6af93adcb
qtquick: When saving geometry, save the QWindow geometry
...
As that's what we'll restore. The "MainWindow" isn't an actual
main window, and it's parented in some QtQuick hierarchy.
Will help with issue #196 , which isn't fixed yet.
Should be fixed in the restore part next.
2021-05-17 22:20:44 +01:00
Sergio Martins
bd985781b9
Minor refactoring
2021-05-17 22:13:17 +01:00
Sergio Martins
70ecdaf54c
Add a failing test for issue #196
2021-05-17 21:12:59 +01:00
Allen Winter
a04287b9b3
README - adjust copyright date
2021-05-16 11:08:08 -04:00
Allen Winter
be8d00f0c8
buildsystem - KD namespace the KDAB cmake modules
2021-05-16 11:03:21 -04:00
Allen Winter
b08797c400
docs/api/footer.html - add Copyright and generatedby
2021-05-16 10:58:01 -04:00
Sergio Martins
2836edd32d
qtquick: Add a test to see that main window position is restored
...
Will improve it with QtQuick corner cases
2021-05-10 23:04:37 +01:00
Allen Winter
92f6886217
Merge branch '1.3'
2021-05-10 15:40:46 -04:00
Allen Winter
0c9518dc74
.krazy - skip CMakePresets.json
...
the json formatter saves it without a trailing newline
no need to test this generated file
2021-05-10 15:40:00 -04:00
Allen Winter
944ee7c7dc
Merge branch '1.3'
2021-05-10 12:58:13 -04:00
Allen Winter
917dbf09f6
README.md, README-bindings.md - breakout python bindings readme.
...
The python bindings info is getting long and detailed
so move to its own README.
2021-05-10 12:56:59 -04:00
Sergio Martins
d732be4e17
Merge branch '1.3' into master
2021-05-04 23:41:23 +01:00
Sergio Martins
18dbbb291a
Cancel drag when Qt doesn't detect that mouse was released
...
On Windows there can be a case where Qt doesn't receive the mouse
release event. When releasing very fast after starting the drag.
Fixes #166
2021-05-04 23:36:50 +01:00
Sergio Martins
3bb7922f2c
comments++
2021-05-02 13:05:27 +01:00
Sergio Martins
4aedba3b2b
Minor: Pass QPoint by value, as it's a small POD class
2021-05-02 13:01:27 +01:00
Eism
99c0e99b26
Implemented the method for adjusting the position of a dragged item
2021-05-02 13:00:43 +01:00
Sergio Martins
28ab554cb3
comments++
2021-05-02 12:49:07 +01:00
Sergio Martins
cd80a47c93
qtquick|tests: Fix tst_layoutEqually
...
Resizing QtQuick's QWindow is async, doesn't propagate the size
immediately to the content QQuickItem.
Meaning we were passing a too small/old size to the layout.
Add qMin() so we don't pass sizes that are smaller than the layout's
min-size.
2021-05-02 12:30:53 +01:00
Sergio Martins
eb05b54b0e
Added DockWidgetInstantiator::close()
2021-05-02 11:35:16 +01:00
Sergio Martins
bbbce6f694
qtquick: Fix close() not hidding the widget
...
QtQuick will emit a "visibleChanged(true)" when setting nullptr,
which we need to inhibit so it behaves like QtWidgets.
2021-05-02 11:22:26 +01:00
Sergio Martins
ba0d515330
qtquick: Don't run tst_maxSizedFloatingWindow
...
We only support max-size constraints for QtWidgets, for now.
2021-05-02 00:19:47 +01:00
Sergio Martins
69154c0384
qtquick: Make setParent(nullptr) to hide the widget too
...
As done for QtWidgets.
Fixes a case where closing the dock widget wouldn't hide it.
As reported by Roman
2021-05-02 00:11:58 +01:00
Sergio Martins
66ac5e9d2f
qtquick: Install DockWidgetQuick.h too
2021-05-01 20:46:01 +01:00
Sergio Martins
4924b951cc
qtquick: Don't include private header in public header
...
Q_PROPERTIES in Qt6 don't support forward declarations.
Return a QObject instead.
2021-05-01 20:38:06 +01:00
Allen Winter
96f7def396
Merge branch '1.3'
2021-05-01 15:38:38 -04:00
Sergio Martins
4556f1c949
quick|cmake: Don't install a few qtwidgets includes
...
Install their qtquick counterparts instead
2021-05-01 20:20:59 +01:00
Sergio Martins
a4cca3bcc2
Merge pull request #195 from RomanPudashkin/setTabbingAllowedFunc_fix
...
Fixed the API for disabling the tab indicator
2021-05-01 20:10:44 +01:00
Sergio Martins
6254c2089f
Add two new contributors
2021-05-01 20:05:46 +01:00
Sergio Martins
89f50769b6
cmake: Remove unneeded build presets
...
The default/implicit one is enough for those cases
2021-05-01 19:59:14 +01:00
Sergio Martins
a24f5e31b9
Merge pull request #192 from RomanPudashkin/setMaximumSize_fix
...
Fixed changing of the maximum size for widgets
2021-05-01 20:00:26 +01:00
Allen Winter
b338f183e1
CONTRIBUTORS.txt - added more contributors
2021-05-01 12:30:48 -04:00
Sergio Martins
8ab8e0524b
Workaround Qt bug which broke the focus chain
...
Focusing a tab widget would focus an hidden tab bar, which makes
the propagation stop
Fixes #180
2021-04-30 15:59:27 +01:00
Sergio Martins
affb48f44d
Fix restoring side-bar widget when it was deleted previously
...
We need to consult the user's widget factory, just as we do
for other cases where the dock widget is missing
2021-04-29 21:36:56 +01:00
Sergio Martins
d5b2336b69
refactoring: Move the dockWidgetFactoryFunc() call
...
It's now an impl-detail of DockRegistry::dockByName().
Just pass DockByNameFlag::CreateIfNotFound.
Allows this functionality to be used in other places
2021-04-29 21:29:58 +01:00
Sergio Martins
580e3a6a2c
Coding style: Replace a bool argument with an enum
...
Since we'll be adding more enumerators
2021-04-29 21:20:26 +01:00
Roman Pudashkin
e3d5203f1a
fixed the API for disabling the tab indicator
2021-04-29 21:50:17 +02:00
Sergio Martins
9e42b11272
Minor coding styling
2021-04-29 18:15:45 +01:00
Sergio Martins
ce93c3b739
qtquick: Fix memory leak
2021-04-29 18:15:33 +01:00
Sergio Martins
6a8e00bfa2
tests: Test restoring with DeleteOnClose and sidebar widgets
...
sidebar dock widgets which were deleted should still call
the user's dock widget factory
To be done next
2021-04-29 18:06:41 +01:00
Sergio Martins
0b5a99860f
qtquick: Fix calling QWindow::setTitle()
...
For QtWidgets, it happens fine in FloatingWindow's constructor,
because we get the corresponding QWindow already. But for QtQuick
the QWindow is only created afterwards, so we have to delay
setting the title.
2021-04-29 17:18:35 +01:00
Sergio Martins
3f012a2ef1
Remove a bogus setWindowTitle()
...
Setting a widget would change the top-level window title!
By luck people set the widget before docking, but doesn't have
to be that way.
2021-04-29 16:23:22 +01:00
RomanPudashkin
a102e4ae1e
fixed changing of the maximum size
2021-04-29 13:20:56 +02:00
Sergio Martins
03f5817488
Merge branch '1.3'
2021-04-28 22:08:57 +01:00
Sergio Martins
0f2edfdb4e
Fix hidding the pin/auto-hide icon when side-by-side in floating
...
An else {} branch was missing.
Also just simplify the code, and call supportsAutoHideButton()
which wasn't being used.
Also removed some bogus updateAutoHideButton() calls from
the CTOR, needs to use singleShot() since the method is virtual,
the derived class isn't constructed yet
2021-04-28 22:06:42 +01:00
Sergio Martins
d289134b15
Add a unit-test for disabling RelativeFloatingWindowGeometry
...
Fixes #175
2021-04-28 21:27:47 +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
f29f773555
Add a LayoutSaver_p.h fwd header
2021-04-28 21:10:23 +01:00
Sergio Martins
a113205881
Install LayoutSaver_p.h
...
Moved it into private/ too, not sure why it was in src/
For issue #175
2021-04-28 21:08:41 +01:00
Sergio Martins
7830ccb017
Move LayoutSaver::Private to the header
2021-04-28 21:00:26 +01:00
Sergio Martins
6a205a5406
Move some Layout::Private method definitions out of the class
...
In preparation to move the class to an header
2021-04-28 20:55:16 +01:00
Sergio Martins
d91a42930d
Expose LayoutSaver::Private
2021-04-28 18:01:37 +01:00
Sergio Martins
6f3df707f4
Split RestoreOption_RelativeToMainWindow into more granular options
...
Mostly so we can have RestoreOption_RelativeToMainWindow but
without restoring floating windows
Said options are internal (for now?), we'll need more feedback before
turning them public (since once public forever public)
For issue #175
We'll add some private API so users can change the flags in the next
commit
2021-04-28 17:43:24 +01:00
Sergio Martins
f388b11d0d
Added MainWindowBase::frameCountChanged()
...
So you can know when the layout added or removed dock widgets
Fixes #190
2021-04-28 16:28:04 +01:00
Sergio Martins
66d12fef82
fix build
2021-04-27 23:56:58 +01:00
Sergio Martins
83c744041e
Merge branch '1.3'
2021-04-27 23:52:17 +01:00
Sergio Martins
dcac39a35f
Don't restore window's maximized state when using RestoreOption_RelativeToMainWindow
...
We don't restore main window's geometry either
Fixes issue #184
2021-04-27 23:50:40 +01:00
Sergio Martins
c4d3ba71b2
Fix crash due to MainWindow not clearing m_overlayedDockWidget
...
When we close the overlayed widget we need to clear this variable
Added 1 real fix and a prophylactic check too.
2021-04-27 23:49:26 +01:00
Sergio Martins
74c74593e2
Don't restore window's maximized state when using RestoreOption_RelativeToMainWindow
...
We don't restore main window's geometry either
Fixes issue #184
2021-04-26 19:19:06 +01:00
Sergio Martins
62591bc360
quick: Use logical dpi factor of 1 for now
...
Only physical dpi scaling suported currently
2021-04-25 21:24:56 +01:00
Sergio Martins
1fca162fb2
quick|example: Enable hpdi scaling
2021-04-25 10:47:07 +01:00
Sergio Martins
82967435ea
Added QtQuickHelpers::logicalDpiFactor()
2021-04-25 10:37:47 +01:00
Sergio Martins
7738354be1
Minor coding style fix
2021-04-25 10:26:09 +01:00
Sergio Martins
0d2166770e
quick: Add a QtQuickHelpers class into the context
...
Will have some useful stuff there. Don't have a better place to put them.
2021-04-25 10:24:07 +01:00
Sergio Martins
9d7de9ea4d
Fix sizing of widgets that skip LayoutSaver's restore
...
LayoutWidget::onResize() was bailing out early, but the actual
restore hadn't even started
2021-04-23 19:39:07 +01:00
Sergio Martins
5aa3ba25cc
cmake: Add a Gammaray friendly preset
...
ASAN doesn't like Gammaray injection
2021-04-23 19:01:10 +01:00
Sergio Martins
b330f902fd
tests: Move class into the header
...
File is getting too big
2021-04-23 18:03:49 +01:00
Sergio Martins
aa76dfba02
LayoutSaver: Support the user's factory func doing remapping
...
While restoring a layout, we expect all widgets to exist already,
but we allow the user to create them delayed, by providing
us a factory function.
What we're supporting in this commit is the ability of the user's
factory function returning a dock widget with an ID different
than the one that was requested. We then save that mapping so the
rest of the layout restore works with the new ID.
2021-04-23 14:55:01 +01:00
Sergio Martins
b3c2d87a9b
Remove unused MULTISPLITTER_LAYOUT_MAGIC_MARKER
2021-04-23 14:35:29 +01:00
Sergio Martins
cc1347adf8
qtquick: Don't use native windows drop shadow with round corners
...
When using the Windows native drop shadow, the client area needs
to be rectangular, otherwise a white line appears at the top
2021-04-23 11:47:37 +01:00
Sergio Martins
df0a80b320
qtquick: Config::InternalFlag_UseTransparentFloatingWindow
...
Don't use a transparent floating window by default.
This matches QtWidgets behaviour.
It's only use would be to get round corners, but doesn't work well
with Window's drop shadow
2021-04-23 11:39:57 +01:00
Sergio Martins
26f7557834
cmake: Disable CCACHE when running the clazy preset
2021-04-23 09:50:51 +01:00
Sergio Martins
e6c2f29532
cmake: Specify which clazy checks to use
...
Trivial now with cmake presets
2021-04-22 15:44:16 +01:00
Sergio Martins
37cc16fe17
Fix a -Wsign-conversion warning
...
error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
2021-04-21 20:35:56 +01:00
Sergio Martins
c7ac88836a
Fix some clazy errors
...
Mostly about using qualified names for methods called from QML
2021-04-21 20:25:45 +01:00
Sergio Martins
536e048f1c
Fix build with Qt 5.9
...
The needed overload was introduced in Qt 5.10 only
2021-04-21 19:08:30 +01:00
Sergio Martins
4671848428
vscode: Also add C_Cpp.autocompleteAddParentheses to the other workspaces
2021-04-20 23:03:36 +01:00
Sergio Martins
4449785e2c
vscode: Enable C_Cpp.autocompleteAddParentheses
2021-04-20 23:02:35 +01:00
Sergio Martins
39deb9ee83
tests: Minor refactoring, reduce copy-paste
2021-04-20 23:02:07 +01:00
Sergio Martins
2266f4a75c
Fix FloatingWindow max size when there's tabbed dock widget
...
We don't support this case yet
2021-04-20 22:56:26 +01:00
Sergio Martins
06b680f603
Also update FloatingWindow's max size when children change constraints
...
A dock widget can change its max size later in life, so we need
to react to that
2021-04-20 22:52:08 +01:00
Sergio Martins
ec6be7d1a5
Fix potential crash
2021-04-20 22:51:43 +01:00
Sergio Martins
37040bfc9e
Also update FloatingWindow max-size when adding nested dock widgets
...
We only support FLoatingWindow max-size when there's 1 frame.
When adding more, we need to remove the max size
2021-04-20 22:34:36 +01:00
Sergio Martins
1f4f7ec0e5
FloatingWindow now honours max size of the docked widget
...
Only if there's a single dock widget though.
Tabbed cases are more complicated as QStackedLayout doesn't
propagate size constraints
2021-04-20 21:00:33 +01:00
Sergio Martins
a31571ab2c
Bound FloatingWindow::maxSizeHint()
...
Can't be bigger than Qt's hardcoded limit
Fixes a warning emitted by Qt
2021-04-20 20:57:14 +01:00
Sergio Martins
714ef2adb8
cmake: Fix a preset name
...
We don't have dev-qtquick6.
Should probably be added.
2021-04-20 20:22:24 +01:00
Sergio Martins
e447bbf03b
vscode: Don't specify tasks
...
The cmake extension takes care of this
2021-04-20 20:18:32 +01:00
Sergio Martins
3846b638fb
cmake: Add build presets too
...
This is new in cmake 3.20 and makes the vscode experience much better
2021-04-20 20:16:44 +01:00
Sergio Martins
6ae8a203d9
qtquick: Fix build
2021-04-20 19:43:26 +01:00
Sergio Martins
1dbd491738
Minor: Move a comment to another place
2021-04-20 19:16:14 +01:00
Sergio Martins
e8693edb33
Minor refactoring: Factor out the FloatingWindow max size code
...
Created FloatingWindow::maxSizeHint()
2021-04-20 19:13:32 +01:00
Sergio Martins
5cbad00cb5
Minor coding style: bail out early
2021-04-20 18:47:34 +01:00
Sergio Martins
c6e4deb0ca
Merge branch '1.3'
2021-04-19 09:47:43 +01:00
Sergio Martins
693fb84a3e
Fix DockWidgetBase::isFocusChanged() not being emitted
...
The previous commit fixed that the dock widget wasn't
getting focused on tab change, but didn't fix the signal.
When changing tabs, FocusScope::setFocused() would bailout
early because it was already focused, so never emitted
the signal for the new focused dock widget.
Refactored the code a bit and it's more robust now.
Setting the current focused widget is now centralized in
DockRegistry. Before it was split in two different places.
Fixes issue #188
2021-04-19 09:42:59 +01:00
Sergio Martins
b0a7d5d4a0
Merge branch '1.3'
2021-04-19 00:16:39 +01:00
Sergio Martins
818acc0ff1
Fix edge case when focusing FocusScope and tab bar is focused
...
When we focus a FocusScope we focus the last focused widget
inside that scope. But it could happen that the last focused widget
was the tab bar itself, which isn't very useful.
Fixes issue #188
2021-04-19 00:15:15 +01:00
Sergio Martins
819fec6061
Implement missing function body
2021-04-18 23:56:21 +01:00
Allen Winter
4ea8c98243
cmake/QtInstallPaths.cmake - don't cache the QT_FOO variables
...
makes changing Qt versions easier
2021-04-16 07:55:40 -04:00
Sergio Martins
95317a7336
Add signal DockWidget::aboutToDeleteOnClose()
...
It's emitted when the dock widget is going about deleted due to
the DeleteOnClose functionality
2021-04-14 15:24:15 +01:00
Allen Winter
9b6abfbbc3
src/private/quick/MainWindowInstantiator_p.h - fix include guard
2021-04-12 08:41:13 -04:00
Sergio Martins
4bee3023d2
SegmentedIndicators: Don't show inner segments when having only 1 frame
2021-04-12 10:52:48 +01:00
Sergio Martins
45f12db8d3
windows: Fix place of export macro for namespace
2021-04-12 10:02:50 +01:00
Sergio Martins
9956b3fed3
qt6: Fix KDDW build on Windows
...
Namespace needs to be exported due to Q_NAMESPACE
2021-04-12 09:57:49 +01:00
Sergio Martins
374e837aa9
Allow to style SegmentedIndicator
2021-04-09 17:01:20 +01:00
Sergio Martins
6ffd3e574f
qtquick: Add support for LayoutSaver
...
You can now instantiate LayoutSaver {} in QML and save/restore
layouts
2021-04-08 23:23:24 +01:00
Sergio Martins
8a3706f6cb
docs: document LayoutSaver's internals
...
explains the 2-phase restore
2021-04-08 20:46:13 +01:00
Sergio Martins
faa16ad910
docs: Add some doxygen to LayoutSaver
2021-04-08 20:39:23 +01:00
Sergio Martins
eb69e25622
qtquick: More invokables
2021-04-08 20:33:48 +01:00
Sergio Martins
b006bb0c3c
vscode: Remove empty MIModes
...
On MSVC they are not required, and the editor highlights them
as wrong
2021-04-08 19:58:00 +01:00
Sergio Martins
02ed50b336
vscode: Add launches for qtwidgets
2021-04-08 19:47:39 +01:00
Sergio Martins
f0023bc084
README-QtQuick: Mention workaround for lagging windows
2021-04-08 12:23:26 +01:00
Sergio Martins
6502f7760d
README-QtQuick: Mention there's some slowness in some rare setups
2021-04-08 11:53:42 +01:00
Sergio Martins
7606691ea3
QtQuick: Add more properties to DockWidgetInstantiator
2021-04-08 10:28:21 +01:00
Sergio Martins
257a1e9474
vscode: Remove tests_launcher from launchers
...
It's not something devs need to run manually
2021-04-07 22:44:36 +01:00
Sergio Martins
9f02ccbb48
qtquick: Add more properties to DockWidgetBase.h
2021-04-07 22:42:33 +01:00
Sergio Martins
a18199e9a2
vscode: Add launches for qtquick
2021-04-07 22:41:44 +01:00
Sergio Martins
cdd6f998c4
qtquick: Add a missing Q_ENUM
2021-04-07 22:20:15 +01:00
Sergio Martins
df21b6fc6f
qtquick Add a bunch of invokables to the MainWindowInstantiator_p.h
2021-04-07 22:16:54 +01:00
Sergio Martins
edf7dee78e
qtquick: Add more properties and Q_INVOKABLE to main window
2021-04-07 22:05:51 +01:00
Sergio Martins
f723e5ea59
qtquick: Add some properties to main window
2021-04-07 21:48:05 +01:00
Sergio Martins
748243f512
qtquick: Allow to call addDockWidget() from QML
2021-04-05 22:56:08 +01:00
Sergio Martins
e7d37402d7
Rename DefaultSizeMode::None
...
Fixes QtQuick warnings about two different enum class having an
enumerator called "None"
Known QML limitation with "enum class"
2021-04-05 22:33:11 +01:00
Sergio Martins
7c101ae3af
qtquick: comments++
2021-04-05 20:41:59 +01:00
Sergio Martins
cf9cdd8b3b
qtquick: Add some Q_INVOKABLE to MainWindowBase
2021-04-05 20:37:58 +01:00
Sergio Martins
b18783c17a
qtquick: Add some Q_ENUM_NS
2021-04-05 20:36:38 +01:00
Sergio Martins
201d06d878
qtquick: Use MainWindowOption instead of int for the property too
2021-04-05 20:32:11 +01:00
Sergio Martins
742ef7d529
qtquick: Use the MainWindowOptions enum instead of int
2021-04-05 20:28:57 +01:00
Sergio Martins
3d73fc10cd
qtquick: Add some Q_INVOKABLE to DockWidgetBase.h
...
So these methods can be called from QML
2021-04-05 18:50:25 +01:00
Sergio Martins
075c1b06f7
qtquick: Add some Q_INVOKABLE to DockRegistry
...
So they can be called from QML if the user wants
2021-04-05 18:42:15 +01:00
Sergio Martins
2706a3d379
qtquick: Add "Close All" option in the example
2021-04-05 18:31:56 +01:00
Sergio Martins
e476dce1d4
qtquick: Fix some undefined warnings at shutdown
2021-04-05 18:06:07 +01:00
Sergio Martins
2f25657cfa
Fix QtQuick build
2021-04-05 17:08:47 +01:00
Sergio Martins
1167545199
Update Changelog
2021-04-05 16:51:36 +01:00
Sergio Martins
fcd1fae77e
qtquick: Add a MenuBar to the example, allows to toggle
2021-04-05 16:48:13 +01:00
Sergio Martins
06db10561c
qtquick: Use QQmlApplicationEngine in the examples
...
So we can add menus and such
2021-04-05 16:41:45 +01:00
Sergio Martins
ead9e8945e
qtquick: Allow to add the guest widget declaratively
...
This is an alternative to setting source
2021-04-05 16:22:56 +01:00
Sergio Martins
15d4f77d5d
Revert "qtquick: Remove unused QQuickItem::classBegin()"
...
This reverts commit e4fdf33cfc .
Looks like it's needed.
Need to debug why calling QQuickItem::classBegin cause the main window
to not show anything
2021-04-05 15:59:59 +01:00
Sergio Martins
c903a64726
Use a QQuickItem as MainWindowInstantiator's parent
...
This is simpler, no need for QWidgetAdapter
2021-04-05 15:47:12 +01:00
Sergio Martins
8fa63a8773
qtquick: Remove unneeded private import
2021-04-05 15:06:57 +01:00
Sergio Martins
8a0e6c90b9
qtquick: the user will now use "MainWindowLayout" instead of "MainWindow"
...
As MainWindow wasn't actually a window.
While for QtWidgets it makes sense for it to be a QMainWindow, in
QtQuick let's make it easy to embed a dock widget layout.
Also, our MainWindowQuick doesn't have any menus and what not that
QMainWindow has.
2021-04-05 15:04:27 +01:00
Sergio Martins
e4fdf33cfc
qtquick: Remove unused QQuickItem::classBegin()
...
No need to override it
2021-04-05 14:56:06 +01:00
Sergio Martins
548e38fca0
qtquick: Don't create two main windows with the same name
2021-04-05 14:48:51 +01:00
Sergio Martins
c804c806e1
Add DockRegistry::containsMainWindow(uniqueName)
2021-04-05 14:48:43 +01:00
Sergio Martins
7c291691aa
qtquick: Fix customtitlebar example
2021-04-05 14:43:51 +01:00
Sergio Martins
cec8cf25ef
Rename MainWindowWrapper to MainWindowInstantiator
...
Makes it consistent with DockWidgetInstantiator.
Creates the main window onComplete, no need for the user
to call init() explicitly anymore
2021-04-05 14:42:46 +01:00
Sergio Martins
5a2812ecf3
qtquick: Fix undefined variable error in example
2021-04-05 14:35:40 +01:00
Sergio Martins
0f09ba717f
qtquick: Move the "Another" button into the main window
2021-04-05 14:09:59 +01:00
Sergio Martins
1026abbbf4
qtquick: Make DockWidgetInstantiator a QQuickItem instead of only QObject
...
Can be put in Repeater now
2021-04-05 13:57:57 +01:00
Sergio Martins
5b578c86e8
qtquick: Fix build
2021-04-05 13:50:15 +01:00
Sergio Martins
d7e4a782c1
qtquick: Add missing signal
...
Fixes tests
2021-04-05 06:43:59 +01:00
Sergio Martins
d65dfeceb0
Fix QtQuick developer build
2021-04-05 06:34:44 +01:00
Sergio Martins
e9a7a3a5f5
Merge branch '1.3'
2021-04-05 06:27:45 +01:00
Jacob Young
8504252142
Handle tab icon updates
...
Closes PR #135
2021-04-05 06:26:47 +01:00
Sergio Martins
19730ab6a4
Fix crash when using MainWindow::layoutEqually()
...
When distributing space we should honour the other widgets
min-size too, and not give too much
Since the layouting code is complex, this won't be backported to
1.3
2021-03-31 15:23:24 +01:00
Sergio Martins
44ae75110b
Added MainWindowBase::closeAllDockWidgets()
2021-03-31 10:51:20 +01:00
Sergio Martins
4ab2a93d59
Merge branch '1.3'
2021-03-31 10:01:18 +01:00
Sergio Martins
f82ea82403
Harden Item::layoutEqually()
...
Could cause an infinit loop if the layout was corrupted
2021-03-31 10:00:28 +01:00
Sergio Martins
fff6c004e0
Pass -warn-uninitialized to cmake
2021-03-26 13:46:02 +00:00
Allen Winter
75c7744e59
move the class private header up in the include order
2021-03-23 08:36:24 -04:00
Allen Winter
1e8bdba2dd
minor spelling fix
2021-03-23 07:47:31 -04:00
Allen Winter
2587831855
src/MainWindowMDI.cpp - add trailing newline
2021-03-23 07:46:27 -04:00
Allen Winter
f00a283722
fix SPDX-FileCopyrightText: and Author: lines
2021-03-23 07:44:37 -04:00
Sergio Martins
e3b333aca8
Make DockWidget::raise() raise the frame in MDI mode
2021-03-18 15:08:54 +00:00
Sergio Martins
c9602c2b0a
Merge branch '1.3' into master
2021-03-15 18:25:25 +00:00
Sergio Martins
c660c80a15
Added DockWidgetBase::frameGeometryChanged()
2021-03-15 18:25:01 +00:00
Sergio Martins
6f889d1c3b
Fix indicator overlay z-order when using Flag_KeepAboveIfNotUtilityWindow
...
The overlay window needs to be on top
Fixes #181
2021-03-15 18:23:00 +00:00
Sergio Martins
80577832d7
Add a file with QtQuick TODO items
...
Will be updating this as I go.
Mostly only more elegant API is needed at this point.
Closing #49 as all questions were answered.
Fixes #49
2021-03-14 15:41:57 +00:00
Allen Winter
7a18ef77cd
buildsystem - fix more cmake --warn-unitialized
...
* PROJECT_VERSION - explicitly set for ECMSetupVersion
* SHIBOKEN_CUSTOM_PATH - init (rename to SHIBOKEN_CUSTOM_PREFIX)
* PYSIDE2_CUSTOM_PREFIX - init
* PYSIDE_EXTRA_INCLUDES (removed, not used)
Task-Id: KDDW-30
2021-03-13 17:27:47 -05:00
Allen Winter
e29f7cb1d3
CMakeLists.txt - fixup a bit of documentation
2021-03-13 17:08:55 -05:00
Sergio Martins
8970274810
cmake: Fix some --warn-uninitialized warning
2021-03-13 09:51:06 +00:00
Sergio Martins
d57fd8bfd3
cmake: Uncomment the QtQuick option
...
People can try it now
2021-03-13 09:39:23 +00:00
Sergio Martins
8507866891
cmake: Remove the fat warning about QtQuick
...
It can be tried now
2021-03-13 09:37:31 +00:00
Sergio Martins
425d53fbe3
cmake: Remove unused ${RESOURCES_QUICK} variable
2021-03-13 09:35:56 +00:00
Sergio Martins
b0cb983830
qtquick: relax the warning about removing dock widget twice
...
can happen due to benign reentrancy
2021-03-10 13:38:22 +00:00
Sergio Martins
02515d8956
MDI: Fix dock widget size getting out of sync with the layout item
...
When resizing with mouse, update the layout item too.
Wasn't a big deal, as this is MDI, layout doesn't do much. But
last used geometries werent being saved
2021-03-09 20:30:41 +00:00
Sergio Martins
447b4337dd
Add DockWidget::frameGeometry()
2021-03-09 17:55:36 +00:00
Sergio Martins
633daf124e
Fix some warnings about shadowing methods
2021-03-09 15:43:36 +00:00
Sergio Martins
446560931b
MDI: Fix docked widget geometries not being remembered when floating
...
We shouldn't move the Frame directly. Instead, do it through the
layout, which will then remember the last docked geometry
2021-03-07 16:56:37 +00:00
Sergio Martins
9fe11a7ad5
qtwidgets|MDI: Fix showing resize handles
...
if there was no frame being resized it would be nullptr, and hence
enter that block.
QtQuick not affected since it uses mouse areas to change the cursor
shape
2021-03-05 12:19:16 +00:00
Sergio Martins
b099994ac5
qtquick|MDI: Remove the QtQuick special case
...
Now behaves as QtWidgets
2021-03-05 12:05:19 +00:00
Sergio Martins
a8d56ef4e6
qtquick6: Fix build
2021-03-04 13:57:25 +00:00
Sergio Martins
1f8d212dee
Qt6: Fix build
...
Types in properties can't be forward declared anymore
2021-03-04 13:27:58 +00:00
Sergio Martins
64ea87f4cc
Add missing fwd header for Frame_p.h
2021-03-04 13:27:32 +00:00
Sergio Martins
e6fef433d5
Added DockWidgetQuick::frame()
2021-03-03 17:59:43 +00:00
Sergio Martins
2f212031b3
qtquick|MDI: Don't set a size smaller than its min
2021-03-03 17:03:06 +00:00
Sergio Martins
586ab710f6
qtquick: Expose the tabbar height property
2021-03-03 16:36:23 +00:00
Sergio Martins
d263ae649e
Allow to configure the MDI popup threshold
2021-03-03 16:33:32 +00:00
Sergio Martins
c81ca45e41
qtquick|MDI: Improvements for resizing
2021-03-03 15:21:22 +00:00
Sergio Martins
9ce50fa305
qtquick: Minor refactoring, deal in CursorPosition
2021-03-03 14:59:24 +00:00
Sergio Martins
f0240deaeb
qtquick: Use Q_NAMESPACE for the KDDockWidgets namespace
2021-03-03 14:40:24 +00:00
Sergio Martins
017f06dcfb
qtquick|MDI: Improvements for the resize handler
...
More margin, fixed sizes of some handlers and fixed z order
2021-03-03 13:47:14 +00:00
Sergio Martins
54f17cb546
qtquick: Remove unneeded mouse area from frame
...
Just to simplify things. Let's just have the resize handlers.
A target can have many event sources.
2021-03-03 13:22:12 +00:00
Sergio Martins
f174ab6ebc
qtquick: Create ResizeHandlerHelper.qml to save some code
2021-03-03 12:57:37 +00:00
Sergio Martins
263f936690
Fix dock widgets in MDI getting bogus sizes
...
Setting the Item's min-size would resize the guest while the
guest was being set
2021-03-03 12:20:40 +00:00
Sergio Martins
bd903a0353
qtquick: Fix Frame's minimum size
...
It wasn't accounting for the margins, and the "heightWhenVisible"
property was Nan, making the entire expression be 0
2021-03-03 10:08:37 +00:00
Sergio Martins
5040d3a6b6
qtquick: Allow to update the size constraints from QML
2021-03-03 10:02:45 +00:00
Sergio Martins
3684da776d
Added DockWidgetQuick::frameVisualItem()
2021-03-03 09:27:27 +00:00
Sergio Martins
bc17c8e5b3
MDI: Don't active other resize handlers when resize in progress
...
When we're resizing a docked dock widget, the other dock widget's
resize handlers should be disabled
2021-03-02 22:21:12 +00:00
Sergio Martins
778c647782
qtquick: Register Frame
2021-03-02 22:14:07 +00:00
Sergio Martins
2a91f6279b
qtquick: Minor code refactoring
...
Uses less code
2021-03-02 22:05:48 +00:00
Sergio Martins
4ef2ddbfec
Add DockRegistry::frameInMDIResize()
...
Only emitted in a MDI layout. Emitted when one dockwidget is
being resized
2021-03-02 22:00:54 +00:00
Sergio Martins
ff06f0cc73
Fix build
2021-03-02 21:06:57 +00:00
Sergio Martins
a37ab34fae
qtquick|MDI: When dragging don't trigger the resize drag handlers
...
MouseArea.enabled, even if false, will change the cursor shape.
So explicitly change the cursor to ArrowShape
2021-03-02 20:58:44 +00:00
Sergio Martins
cb2ffe66af
qtquick|MDI: Fix resizing inner MDI dock widgets
...
It was flaky. The mouse move events came from global event filter
but the mouse press came from the Frame's mouse area. Sometimes the
QQuickWindow wouldn't deliver the press to the frame if it was done
outside, while the moves were changing the cursor shape since
we had a treshold
Now we guarantee that whenever the cursor changes the resize
will really happen
2021-03-02 14:40:42 +00:00
Sergio Martins
16b0770d72
qtquick: Fix minor qml warning
2021-03-02 14:31:15 +00:00
Sergio Martins
3fe44ee735
qtquick: Enable transparency for the floating window
...
You can now have windows with round corners
2021-03-02 12:19:51 +00:00
Sergio Martins
40d1a72300
qtquick: Fix QtQuick min-sizes not working when wrapped
2021-03-02 11:02:15 +00:00
Sergio Martins
4d428d42f6
Added DockWidgetBase::setMDIZ(int z)
...
Sets the Z order of the dockwidget within the MDI layout
2021-03-02 10:43:07 +00:00
Sergio Martins
7e9896263b
Update .gitignore
2021-03-02 10:22:57 +00:00
Sergio Martins
cf0665c9b6
Added DockWidgetBase::setMDISize()
...
Only for dock widgets in MDI layout, where they are freely resizable
2021-03-02 10:21:29 +00:00
Sergio Martins
93c011c69d
Added DockWidgetBase::setMDIPosition(QPoint pos)
...
Moves the window within the layout.
Only applies to MDI layouts.
2021-03-01 23:41:53 +00:00
Sergio Martins
f50c0b9d06
qtquick: Fix typo
2021-03-01 23:24:29 +00:00
Sergio Martins
6fc79d942b
qtquick: add a way to disable the default mouse redirectors
...
So user can use his own
2021-03-01 23:23:04 +00:00
Sergio Martins
d01228d9ff
Fixes cases where actualTitleBarChanged() wasn't emitted
2021-03-01 23:02:56 +00:00
Sergio Martins
b58d766d54
qtquick: Add Q_INVOKABLE to DockWidgetBase::setFloating()
2021-03-01 22:38:23 +00:00
Sergio Martins
79cbb96a38
Remove some unneeded qDebug
2021-03-01 22:34:15 +00:00
Sergio Martins
aabaeacb81
Improve a warning
2021-03-01 22:30:31 +00:00
Sergio Martins
3ab3e6d41b
qtquick: Don't allow to have two redirectors for the same source
...
One event source can only have one redirector
2021-03-01 22:23:46 +00:00
Sergio Martins
f2f4afd0bb
qtquick: Allow the user to customize the titlebar margins
2021-03-01 20:50:46 +00:00
Sergio Martins
0d62c43b9e
qtquick: keep the original parent of the guest around
...
For debug purposes
2021-03-01 19:58:00 +00:00
Sergio Martins
1614d5702c
Allow to call DockWidget::setWidget(nullptr)
...
In case you need to change ownership
2021-03-01 19:56:46 +00:00
Sergio Martins
610b9542e9
qtquick: Expose the event source for debug purposes
2021-03-01 17:13:54 +00:00
Sergio Martins
946f32a274
qtquick: debug++
2021-03-01 17:12:09 +00:00
Sergio Martins
c7a6bc015e
qtquick: Minor performance optimization
...
Only check the properties for mouse events
2021-03-01 16:54:32 +00:00
Sergio Martins
19fd1635e6
Remove userType() from public API for now
...
If added, will need to be through overloads, to not break source
compat. Will add them once there's a need.
2021-03-01 16:34:22 +00:00
Sergio Martins
74b034a195
Merge branch '1.3'
...
Fixes #172
2021-03-01 15:48:45 +00:00
David Faure
581139d099
SideBarButton: use color roles from the widget palette
2021-03-01 16:42:59 +01:00
Sergio Martins
e5492ea906
qtquick: Allow to override the mouse redirector
2021-03-01 14:50:14 +00:00
Sergio Martins
623133a0dc
qtquick: Add DockWidgetQuick::actualTitleBar()
...
It's a pointer o either Frame::titleBar() or FloatingWindow::titleBar().
It's the same as Frame::actualTitleBar().
2021-03-01 14:35:14 +00:00
Sergio Martins
6baa8f2dbb
qtquicl: Fix invisible tab bar eating mouse events
2021-03-01 14:19:39 +00:00
Sergio Martins
d2739d7218
qtquick: disable tabbar mouse area if tabbar hidden
2021-03-01 13:15:30 +00:00
Sergio Martins
5702101935
Add a Q_PROPERTY for Frame::actualTitleBar()
2021-03-01 12:50:25 +00:00
Sergio Martins
35d45a7523
qtquick: Fix some places which weren't forwarding userType
2021-02-28 20:44:19 +00:00
Sergio Martins
e37c1f0e8c
qtquick: Pass the userType all the way to titleBarFilename()
2021-02-28 20:33:46 +00:00
Sergio Martins
ac0d35ef12
Fix clazy warning
2021-02-28 19:03:16 +00:00
Sergio Martins
15e63381a9
Added DockWidgetBase::setUserType(int)
...
This is an opaque value which KDDW won't try to interpret or do
anything with it other than forward it to the FrameworkWidgetFactory.
Which if specialized by the user he can have different title bars
for different said "dock widget types"
2021-02-28 18:57:35 +00:00
Sergio Martins
aa49ddacd5
qtquick: Allow the user to change the contents margin for Frame
2021-02-28 18:13:55 +00:00
Sergio Martins
f68e876bcb
qtquick: Make the setWidget(QQuickItem) overload also fill parent
2021-02-28 16:05:44 +00:00
Sergio Martins
6b82ded399
qtquick: Allow derived FloatingWindow to override margins
2021-02-28 16:04:28 +00:00
Sergio Martins
000e67a09e
qtquick: Register DockWidgetBase
2021-02-28 15:26:05 +00:00
Sergio Martins
1b6aa4c3d1
qtquick: Inject the dock registry into the context
...
Useful to call from QML if needed
2021-02-28 15:01:05 +00:00
Sergio Martins
8912a2c842
Remove debug
2021-02-28 14:50:12 +00:00
Sergio Martins
4de50db68c
Added DockWidgetQuick::setWidget(QQuickItem*) overload
...
And expose it to QML
2021-02-28 14:48:09 +00:00
Sergio Martins
6b95e4aac9
Allow to add to MDI area and start as hidden
...
It will remember its position
2021-02-28 00:51:12 +00:00
Sergio Martins
c27658822e
Add MainWindowMDI::addDockWidget() taking QPointF
2021-02-28 00:24:08 +00:00
Sergio Martins
8ec980c1e8
Add convenience DockRegistry::mdiMainWindowByName()
2021-02-28 00:20:33 +00:00
Sergio Martins
a952c5829a
qtquick: Add MainWindowMDI.qml
...
A convenience wrapper
2021-02-27 23:48:15 +00:00
Sergio Martins
20e1b55a8a
qtquick: make sure our QML types are registered early on
2021-02-27 15:52:31 +00:00
Allen Winter
a2605868db
Merge branch '1.3'
2021-02-26 18:30:03 -05:00
Allen Winter
67be35b9f8
CMakeLists.txt - don't create the dummy docs target
...
it can conflict when used as a submodule
2021-02-26 18:29:10 -05:00
Allen Winter
b15eb1e62f
Merge branch '1.3'
2021-02-26 17:09:08 -05:00
Allen Winter
d2e3ec0448
buildsystem - add a 'docs' target
...
only available with cmake -DKDDockWidgets_DOCS=true
2021-02-26 17:07:58 -05:00
Allen Winter
828c403fe5
Merge branch '1.3'
2021-02-26 16:40:18 -05:00
Allen Winter
53d3bc86ea
conan - support build_with_qt6
2021-02-26 16:35:33 -05:00
Allen Winter
6ed8742cc1
buildsystem - install library with "-qt6" when built for Qt6
2021-02-26 16:35:08 -05:00
Sergio Martins
7bd047f6e6
qtquick: Make DockWidget.qml be a Rectangle
...
So user can change its color
2021-02-26 19:29:30 +00:00
Sergio Martins
482757b1cc
qtquick: Don't hardcode "FloatingWindow.qml"
...
Allow the user to specify their impl
2021-02-26 19:21:42 +00:00
Sergio Martins
c143f832c6
qtquick: Don't hardcode "Frame.qml"
...
Allow the user to specify their impl
2021-02-26 19:12:53 +00:00
Sergio Martins
67a173ef53
qtquick: Don't hardcode "DockWidget.qml"
...
Allow the user to specify their impl
2021-02-26 18:57:31 +00:00
Sergio Martins
c2c37488a3
Merge branch '1.3'
2021-02-26 17:26:35 +00:00
Sergio Martins
8c1840b9cf
Fix popups in overlayed dockwidgets not working
2021-02-26 17:26:04 +00:00
Sergio Martins
1088e37cd4
Improve warning
2021-02-26 17:00:22 +00:00
Sergio Martins
4d6c3dac3d
qtquick: Warn there's no QQmlEngine set
2021-02-26 16:58:58 +00:00
Sergio Martins
adf29873ef
Define KDDOCKWIDGETS_QTQUICK when linking against QtQuick KDDW
...
This is added when building, but also needs to be in the public
interface
2021-02-26 16:47:04 +00:00
Sergio Martins
772afe29ea
Merge branch '1.3'
2021-02-26 15:45:46 +00:00
Sergio Martins
9c78953800
Fix tests on linux
...
Native title bar is specific to Windows
2021-02-26 15:38:00 +00:00
Sergio Martins
ff67b9bcbc
Merge branch '1.3' into master
2021-02-26 15:20:32 +00:00
Sergio Martins
103de4f910
Update ChangeLog
2021-02-26 15:15:29 +00:00
Sergio Martins
7c3f06f98f
When using a native title bar make floating window geometry smaller
...
When undocking a dock widget, the size of the dock widget should
be maintained
Fixes #174
2021-02-26 15:12:43 +00:00
Sergio Martins
6ac77a7662
Use the flags instead of the enum
2021-02-26 14:36:22 +00:00
Sergio Martins
610b85d01a
Minor readability improv: replace bool with enum
...
CC issue #174
2021-02-26 14:32:55 +00:00
Sergio Martins
d4d222ebd3
Update ChangeLog
2021-02-25 22:01:54 +00:00
Sergio Martins
5cbed1d34b
if native title bar + Qt::Tool, double-click should redock
...
When using the native Windows title bar with Qt::Tool, double-clicking
the title bar should redock the window.
Fixes #173
2021-02-25 21:59:43 +00:00
Sergio Martins
ba4a2eef5c
Also cancel a drag if we receive a non-client double click
2021-02-25 21:58:12 +00:00
Sergio Martins
acdf03fc84
Merge branch '1.3' into master
2021-02-24 13:56:28 +00:00
Sergio Martins
a6f19e07c4
Fixed Flag_NativeTitleBar not hidding the client title bars
...
When restoring the layout the native title bar would be visible
Fixes #170
2021-02-24 13:52:44 +00:00
Sergio Martins
f07301bb1e
Update ChangeLog
2021-02-24 12:10:38 +00:00
Sergio Martins
2116e3741b
Improve restoring layout when RestoreOption_RelativeToMainWindow is used
...
Doesn't make much sense to apply a scalling factor to the floating window's
position. Instead we should apply the factor to the delta position between
the main window and the floating window
Fixes #171
2021-02-23 21:02:01 +00:00
Sergio Martins
1f11c732ed
Remove unused function
2021-02-23 20:16:32 +00:00
Sergio Martins
e42bee27a4
Remove unused function
2021-02-23 20:14:25 +00:00
Sergio Martins
b36dcf1325
Fix macOS developer-build due to unused variable
2021-02-22 10:46:56 +00:00
Sergio Martins
421746c943
Margins now honour logical dpi and update when changing screen
2021-02-22 00:02:57 +00:00
Sergio Martins
f544ac58e6
Apply the logical DPI factor to the MainWindow contents margins
2021-02-21 23:42:11 +00:00
Sergio Martins
6047275cfa
Add a localDpiFactor helper
...
As we don't do everything via QStyle. layout margins for example
still need a manual factor
2021-02-21 23:02:49 +00:00
Sergio Martins
630d832f50
Emit DockRegistry::windowChangedScreen()
...
We now have a signal we can connect to adapt sizes to logical
dpi changes
2021-02-21 19:45:35 +00:00
Sergio Martins
e0a34465d8
MDI: Raise dock widget when clicking on it
2021-02-21 16:26:16 +00:00
Sergio Martins
443a4049c3
qtquick|MDI: Also support raising non top-level windows
...
If we drag mdi windows around they'll raise now
2021-02-21 15:44:56 +00:00
Sergio Martins
54980e7585
Fix Qt6 build on Windows
2021-02-20 21:42:44 +00:00
Sergio Martins
14ff8bb26b
Fix mingw build
2021-02-19 11:33:01 +00:00
Sergio Martins
615bb0ee3f
Fix linux developer-build
2021-02-19 11:25:02 +00:00
Sergio Martins
986fd8c13b
CustomFrame: Don't use QWindow::fromWinId()
...
as that creates a new QWindow
2021-02-18 18:43:43 +00:00
Sergio Martins
ec1cc27815
Added DockRegistry::windowForHandle()
2021-02-18 18:39:35 +00:00
Sergio Martins
3874e2d886
CustomFrame: Added a recursion guard
2021-02-18 18:32:14 +00:00
Sergio Martins
1afcf21529
CustomFrame: Same some cpu cycles in case we don't care about the events
2021-02-18 18:21:32 +00:00
Sergio Martins
4c0f3bd7cb
Fix build with older compilers
2021-02-18 17:50:14 +00:00
Sergio Martins
9aafa2a662
CustomFrame: the native event handling now honours the features
2021-02-18 15:50:12 +00:00
Sergio Martins
029ba1202e
CustomFrame: Add a NativeFeatures enum
...
Replaces the htCaptionRect. As we don't want to pass many arguments,
instead just pass a struct which describes which native features
to enable
2021-02-18 15:14:52 +00:00
Sergio Martins
b5043b2b87
CustomFrame: Move the features enum up 1 level
2021-02-18 14:40:20 +00:00
Sergio Martins
52ce80fd97
CustomFrame: Use an enum instead of bool return in our callback
2021-02-18 14:22:26 +00:00
Sergio Martins
cd19c5eb38
CustomFrame: Allow to specify a callback for QWindow opt-in
...
Which QWindows should get a custom frame is up to you. Just
return true in the callback.
2021-02-18 14:10:40 +00:00
Sergio Martins
0d101d779f
Fix unused variable warning
2021-02-18 11:29:02 +00:00
Milian Wolff
1ff6f43eac
Allow disabling the uninstall target
...
Prevents clashes when kddockwidgets is included as a submodule
into a project that already defines an uninstall target.
2021-02-17 20:47:49 +01:00
Sergio Martins
98d892f643
CustomFrame: Apply the drop-shadow code initially
2021-02-17 19:46:56 +00:00
Milian Wolff
cc80afff7d
Fix compile on Linux
2021-02-17 20:36:37 +01:00
Milian Wolff
91ad74e3ad
Relay status tip events to the parent of FloatingWindow
...
That allows the status bar of the main window - if available - to
show the event contents.
2021-02-17 20:36:37 +01:00
Sergio Martins
b128d25fbe
Added convenience FloatingWindow::mainWindow()
2021-02-17 19:35:54 +00:00
Sergio Martins
8b23769ccc
Remove some debug code
2021-02-17 18:17:48 +00:00
Sergio Martins
13f84ab518
Fix QtQuick build
2021-02-17 18:14:57 +00:00
Sergio Martins
feadc1ff9e
Add a CustomFrameHelper class
...
So we can reuse the custom frame for arbitrary windows
2021-02-17 18:02:51 +00:00
Sergio Martins
f75c3a123e
Merge branch '1.3' into master
2021-02-17 17:44:05 +00:00
Sergio Martins
12dfe49d9b
Fix unused variable warning
2021-02-17 17:14:10 +00:00
Sergio Martins
545618964d
Only apply the async mouse compensation when undocking
...
Not needed when moving regular windows
2021-02-17 17:01:03 +00:00
Sergio Martins
a6f3f21b70
Added Draggable::isWindow()
2021-02-17 16:54:15 +00:00
Sergio Martins
e6135f49fb
Make WidgetResizeHandler::handleWindowsNativeEvent() more generic
...
Decoupled it from the KDDW specific parts. Can now be used
by non FloatingWindow widgets
2021-02-16 20:28:59 +00:00
Sergio Martins
cd3a1c869e
Add missing include
2021-02-16 19:32:00 +00:00
Sergio Martins
8bb21b12aa
Add a fwd header for WidgetResizeHandler_p.h too
2021-02-16 19:29:19 +00:00
Sergio Martins
f500791ba3
FloatingWindow: This setup code is windows only
2021-02-15 22:15:26 +00:00
Sergio Martins
4ebc4e9546
Fix Linux build
2021-02-15 22:09:27 +00:00
Sergio Martins
94ee2e55fd
Move FloatingWindow::setupWindow() into a reusable function
...
So other QWindow can use this
2021-02-15 22:03:44 +00:00
Sergio Martins
e3c370eb6b
Revert "Move FloatingWindow::setupWindow() into a reusable function"
...
This reverts commit 6fea5af585 .
Need to fix the windows build first
2021-02-15 10:43:15 -08:00
Sergio Martins
6fea5af585
Move FloatingWindow::setupWindow() into a reusable function
...
So other QWindow can use this
2021-02-15 18:29:19 +00:00
Sergio Martins
e9e149d55e
Remove unused include
2021-02-15 17:48:13 +00:00
Sergio Martins
bb5d98164f
fix windows build
2021-02-15 09:45:55 -08:00
Sergio Martins
8941f41d1c
Moved NCHITTESTEventFilter to WidgetResizeHandler
...
It's a better fit there.
2021-02-15 17:36:22 +00:00
Sergio Martins
d45e17b603
Minor styling: Remove one level of ifdefing
2021-02-15 17:32:05 +00:00
Sergio Martins
c2b3e6b36e
Remove some unneeded debug info
2021-02-15 17:28:29 +00:00
Sergio Martins
b8405c01f1
Export WidgetResizeHandler
2021-02-15 17:25:49 +00:00
Sergio Martins
3d191da07e
Remove the unity build option, there's already a CMake way
...
-DCMAKE_UNITY_BUILD should do the same thing.
Disabling it by default since the project is too small for the gains,
and because it screws up the compile_commands.json which I need
for vscode
2021-02-14 23:28:46 +00:00
Sergio Martins
aeb61993a4
Use QT6_DIR in the presets file
...
Removes the hardcoded "gcc"
2021-02-14 23:08:06 +00:00
Sergio Martins
3679e1da3a
Pass a QStyleOption in Button::sizeHint()
...
Allows to use the logical dpi of the screen the widget is in
2021-02-14 22:41:02 +00:00
Sergio Martins
52aefd23f0
Improve comments
2021-02-14 22:40:23 +00:00
Sergio Martins
76a2b84925
Windows: Support scalable icons without requiring AA_EnableHighDpiScaling
2021-02-14 22:22:04 +00:00
Sergio Martins
a89b2c7ed1
Add a comment
2021-02-14 19:54:49 +00:00
Sergio Martins
5dd4eb2d20
Honour the logical DPI for sizing title bar buttons
...
Some Linux window managers manipulate the logical DPI instead of
the device pixel ratio.
2021-02-14 19:39:05 +00:00
Sergio Martins
600661a570
Minor: Move Button::paintEvent() into the .cpp file
2021-02-14 19:22:41 +00:00
Sergio Martins
92f6453d26
Minor refactoring
...
Adds scalingFactorIsSupported(dpr) to utils, to workaround a bug
on earlier Qt
2021-02-14 19:17:15 +00:00
Sergio Martins
8bf3aa9b4d
Use sizeHint() for title bar buttons
...
In preparation for using style pixel metrics, which is more
HDPI friendly
2021-02-14 18:43:49 +00:00
Sergio Martins
c52db1945b
Minor rename for readability
2021-02-14 17:52:36 +00:00
Sergio Martins
09a10cd791
Minor rename for readability
2021-02-14 17:42:35 +00:00
Sergio Martins
07fd577894
MDI|qtquick: Fix resize cursor not being shown
...
the docked widgets were resizable but the cursor didn't change
shape
2021-02-14 17:41:01 +00:00
Sergio Martins
ed900b8531
MDI|qtquick: Allow to resize the docked windows with mouse
...
Was already possible for QtWidgets. For QtQuick we weren't
receiving the mouse events in Frame.
2021-02-14 17:26:03 +00:00
Sergio Martins
fa010357b3
Add Frame::isMDIChanged() signal
2021-02-14 17:21:28 +00:00
Sergio Martins
da6ffc85ef
Fix transparency of QtQuick MDI example
2021-02-14 16:33:02 +00:00
Sergio Martins
b7c23087e1
MDI|qtquick: Don't use private API in the example
2021-02-14 13:30:34 +00:00
Sergio Martins
656f482cad
qtquick: fix build
2021-02-14 13:17:45 +00:00
Sergio Martins
5e03003b94
Add MDI to the ChangeLog
2021-02-14 13:05:34 +00:00
Sergio Martins
48b5b27d42
Introduce MainWindowMDI
...
User no longer needs to use private API
2021-02-14 13:02:48 +00:00
Sergio Martins
fccb815d5a
Fix QtQuick build
2021-02-13 18:56:18 +00:00
Sergio Martins
544d3b026a
MDI windows will now poput into floating mode
...
when dragged behond the edges
Please enter the commit message for your changes. Lines starting
2021-02-13 18:30:59 +00:00
Sergio Martins
15ff882919
MDI: Raise window when we're dragging it
...
Otherwise it's appearing under others, possibly
2021-02-13 16:29:32 +00:00
Sergio Martins
18d405bdfb
MDI: Don't let windows escape its parent
2021-02-13 16:19:05 +00:00
Sergio Martins
4379e7c544
MDI|Item: Allow widget to resize itself outside of the layout domain
...
With a normal KDDW layout, we don't allow the user to arbitrarily
resize widgets, all the resizes are done via dragging Separator,
which interacts closly with the layout.
With MDI however there's no separators. The user is resizing the
widget and the layout doesn't know about it, and it's fine for MDI
2021-02-13 14:17:42 +00:00
Sergio Martins
51e2be9b7b
MDI: Don't paint the titlebar over the frame
2021-02-13 14:06:24 +00:00
Sergio Martins
f2b21d04b3
mdi example: Show KDAB logo
2021-02-13 14:02:22 +00:00
Sergio Martins
a73f35af22
MDI: Implement internal move
...
You can now move internal windows around without them becoming
floating
2021-02-13 13:03:14 +00:00
Sergio Martins
7b3ef03924
Add Draggable::isMDI()
2021-02-13 12:16:28 +00: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
Allen Winter
eccdee0081
buildsystem - add an uninstall target
...
uses the KDE extra-cmake-module ECMUninstallTarget.cmake
2021-02-12 15:18:01 -05:00
Sergio Martins
48f3390d71
Delete resize handler when floating a MDI dock widget
...
When it's floating it will use native resizing, or the resize handler
from the floating window. Not its own.
2021-02-11 20:09:22 +00:00
Sergio Martins
df6f1e6c8f
Added Frame::isMDI()
2021-02-11 20:00:54 +00:00
Sergio Martins
3c95081aee
MDI: Support internal resize
...
You can now resize docked MDI widgets
2021-02-11 19:37:05 +00:00
Sergio Martins
329a980510
WidgetResizeHandler: Fix case if parent's target wasn't top-level
...
By luck parentGeometry was in global space. Force it to be in global
space, as the target might be more nested.
Will be used by MDI, where Frame's parent is the MDI layout
2021-02-11 19:35:40 +00:00
Sergio Martins
d8605e9ce3
Minor styling: Reduce nesting, process invariant early
2021-02-11 19:15:36 +00:00
Sergio Martins
7dcc6dc114
Frame now takes care of its own resize handler
...
No need to set it from outside
2021-02-11 18:56:45 +00:00
Sergio Martins
64db52fd17
Move the CursorPositions header to the enums header instead
...
Otherwise will have to include WidgetResizeHandler_p.h
where I don't want to. And make it an installed header etc.
2021-02-11 18:52:21 +00:00
Sergio Martins
c0957024ec
Remove some unneeded qDebug
2021-02-10 22:25:45 +00:00
Sergio Martins
649571a2eb
Minor styling for the MDI example
2021-02-10 20:16:19 +00:00
Sergio Martins
60adb0d50b
qtquick: Add a MDI example
...
Instead of poluting the normal example
2021-02-10 20:06:50 +00:00
Sergio Martins
f751d7c24e
TitleBar is now HDPI aware even without the Qt::AA_ properties set
...
It will just query the style, which is already HDPI aware.
2021-02-10 15:17:04 +00:00
Sergio Martins
5ec5ade62f
qtquick: Add a MDI example
2021-02-10 00:19:29 +00:00
Sergio Martins
788c497cbb
Don't crash if it's a MDI layout
2021-02-10 00:01:47 +00:00
Sergio Martins
f6c274b82f
qtquick: Remove unneeded dependency to DockArea
2021-02-09 23:50:52 +00:00
Sergio Martins
5a6b4a6fdd
Don't use transparent titlebar if docked MDI
...
As the dock widgets can overlap over eachother
2021-02-09 23:27:10 +00:00
Sergio Martins
ef212b8c0f
Added TitleBar::isMDI()
2021-02-09 22:38:16 +00:00
Sergio Martins
aa2f46fd00
Added TitleBar::mainWindow()
2021-02-09 22:15:31 +00:00
Sergio Martins
a30808e6b7
Implement ItemFreeContainer::removeItem()
2021-02-09 20:17:59 +00:00
Sergio Martins
f23c55dfec
Implement ItemFreeContainer::restore()
2021-02-09 19:56:12 +00:00
Sergio Martins
583d3188ca
Implement ItemFreeContainer::clear()
2021-02-09 19:51:53 +00:00
Sergio Martins
ae81f64d07
MDI: Comment that these methods don't make sense for MDI
2021-02-09 19:47:51 +00:00
Sergio Martins
8dca2e346c
Add experimental MDI support
2021-02-09 19:25:28 +00:00
Sergio Martins
b995986318
Decouple MainWindow a bit more from DropArea
2021-02-09 18:04:11 +00:00
Sergio Martins
0579b6dcd3
Add a basic MDI layout
...
Not fully functional yet, and no API for end user yet.
2021-02-09 17:44:49 +00:00
Sergio Martins
4d147c7ff3
Remove two drop area dependencies
2021-02-09 17:34:40 +00:00
Sergio Martins
baf5f088dc
Remove more unneeded references to DropArea
...
reference its base class instead
2021-02-09 16:58:24 +00:00
Sergio Martins
2adaacb922
Remove unused AnimatedIndicators files
2021-02-09 16:54:23 +00:00
Sergio Martins
bc6870f4ee
Move the serialize/deserialize functions into base class
2021-02-09 16:52:16 +00:00
Sergio Martins
c6abaf22c1
Decouple WindowBeingDragged from DropArea
2021-02-09 16:41:26 +00:00
Sergio Martins
e04e066177
Remove unneeded DropArea::numFrames()
2021-02-09 16:34:58 +00:00
Sergio Martins
6ad01f4994
Make Frame deal in LayoutWidget instead of its derived class DropArea
2021-02-09 16:32:42 +00:00
Sergio Martins
f6ad75e214
Rename Frame::setDropArea() to Frame::setLayoutWidget()
...
Made it private too.
2021-02-09 16:29:29 +00:00
Sergio Martins
a76864450e
Remove unneeded Frame::dropArea()
2021-02-09 16:25:56 +00:00
Sergio Martins
3fe9994322
Remove some debug statements which are unneeded
2021-02-09 16:25:19 +00:00
Sergio Martins
3bcfcc40c0
Minor decoupling between DropArea and DockWidgetBase
2021-02-09 16:23:49 +00:00
Sergio Martins
92b54f949b
More MultiSplitter decoupling
2021-02-09 16:17:49 +00:00
Sergio Martins
a73746fe8b
tests: Use the MultiSplitter base class in a few places
2021-02-09 16:12:22 +00:00
Sergio Martins
da1fddffe1
Decouple MultiSplitter from MainWindow and FloatingWidget
...
They deal in its base class instead (LayoutWidget)
2021-02-09 16:05:56 +00:00
Sergio Martins
e3b0feb967
DockWidgetBase.cpp uses MultiSplitter's base class now
2021-02-09 15:54:47 +00:00
Sergio Martins
4e6811cfdc
qtquick: Fix build
2021-02-09 15:47:54 +00:00
Sergio Martins
cc47e46e1f
Move lots of methods from MultiSplitter to its base class
...
Should be almost done now
2021-02-09 15:45:22 +00:00
Sergio Martins
4246d99b93
DockRegistry now deals in LayoutWidget
...
Instead of its derived class MultiSplitter
2021-02-09 15:40:44 +00:00
Sergio Martins
ba38e3c1aa
Move lots of methods from MultiSplitter to its base class
2021-02-09 15:38:30 +00:00
Sergio Martins
83aa64928d
Remove duplicate connect
2021-02-09 15:22:12 +00:00
Sergio Martins
5fbff7211b
Move lots of methods from MultiSplitter to its base class
2021-02-09 15:09:07 +00:00
Sergio Martins
eb67f19e3e
Placeholders now receive LayoutWidget instead of the derived class
2021-02-09 14:41:31 +00:00
Sergio Martins
2130a31dfd
Add another base class to MultiSplitter
...
MultiSplitter is the QWidget that holds the layout. But we also
want to support other types of layouts, such as MDI.
2021-02-09 12:37:08 +00:00
Sergio Martins
f3ce208ec1
Merge branch '1.3'
2021-02-09 10:52:55 +00:00
Sergio Martins
146478eb5e
cmake: No need to build the fuzzer during development
2021-02-09 10:52:28 +00:00
Sergio Martins
05413d5a99
Open master for 1.4
2021-02-09 10:44:28 +00:00
Allen Winter
eac726fcb8
open for 1.3.1
2021-02-08 17:05:21 -05:00
Allen Winter
b25af85234
kddockwidgets.spec - OBS fix
2021-02-08 16:42:51 -05:00
Allen Winter
02167a0788
CMakeLists.txt - ECMGeneratePriFile needs CMake v3.12 or above
2021-02-08 16:15:25 -05:00
Allen Winter
54cce9aa41
OBS - update for 1.3.0 release
2021-02-08 15:35:43 -05:00
Allen Winter
73cdc7136c
README.md - a bit of formatting, spelling fixes
2021-02-08 15:25:06 -05:00
Allen Winter
1567a2b847
docs/api/CMakeLists.txt - copy some files needed by the markdown
...
The markdown to html conversion by doxygen doesn't copy
some files referred to in the README.md
2021-02-08 15:24:11 -05:00
Allen Winter
9fe795f8dd
README.md, CONTRIBUTORS.txt - thank you contributors
...
those who have signed the KDAB Copyright License Agreement
2021-02-08 12:29:06 -05:00
Allen Winter
0d6cfd183d
.krazy - exclude the postfix checker
2021-02-08 12:28:45 -05:00
Allen Winter
bba36d041b
minor for Krazy
2021-02-08 12:11:46 -05:00
Sergio Martins
710716f658
Update ChangeLog regarding v1.3.0 release date
2021-02-08 12:15:30 +00:00
Sergio Martins
b39798ac24
qtquick: Fix build
2021-02-08 11:22:25 +00:00
Sergio Martins
1f8fbb8518
Export the DockWidgetBase pimpl for unit-tests
2021-02-08 03:16:50 -08:00
Sergio Martins
51dc666181
Added DockWidget::setFloatingGeometry()
...
Closes #144
2021-02-07 17:26:01 +00:00
Sergio Martins
2a6e716e07
Fix typo in README
2021-02-07 17:04:09 +00:00
Allen Winter
01d68f30e4
docs/api/Doxyfile.cmake - add reimp alias
2021-02-07 07:41:08 -05:00
Allen Winter
1b73d01de8
src/DockWidgetQuick.h - minor doxygen fix
2021-02-07 07:36:55 -05:00
Allen Winter
a421cb0b01
various - include private header first, remove header dupes
2021-02-07 07:07:49 -05:00
Allen Winter
2177336d65
minor spelling
2021-02-07 06:56:49 -05:00
Allen Winter
059a8cc38f
TabWidgetQuick_p.h,TabWidgetQuick.cpp - update copyright year
2021-02-07 06:50:03 -05:00
Sergio Martins
4c33cd6409
Sidebar overlays now maintain their size when toggled
...
Fixes #155
2021-02-06 22:55:14 +00:00
Sergio Martins
ea48d52447
refactor MainWindowBase::updateOverlayGeometry()
...
Receives a size instead of a bool now.
2021-02-06 22:30:21 +00:00
Sergio Martins
85f4be750a
Remove bogus sizing
2021-02-06 21:43:05 +00:00
Sergio Martins
0ba37a347b
Save last overlayed location
...
For issue #155
2021-02-06 20:12:39 +00:00
Sergio Martins
6ee1900331
Add a test for issue #155
2021-02-06 19:43:26 +00:00
Sergio Martins
44bf1ef322
qtquick: Move dummy QAction class into the pimpl header
...
No need for it to be in the public header
2021-02-06 18:20:44 +00:00
Sergio Martins
863691c313
Remove some private API from DockWidgetBase.h
...
Moved it into the pimpl
2021-02-06 16:32:13 +00:00
Sergio Martins
97d7cbf657
ChangeLog: Mention we have experimental QtQuick support
2021-02-06 15:56:13 +00:00
Allen Winter
3089535de6
CMakeLists.txt, conan/conanfile.py - this is version 1.3.0
2021-02-06 10:31:17 -05:00
Sergio Martins
36818093c6
Merge branch '1.2'
2021-02-06 15:20:08 +00:00
Allen Winter
e5857df439
conan/conanfile.py - upgrade version number
2021-02-06 10:09:32 -05:00
Allen Winter
42d25dc1a5
fwd_headers/kddockwidgets/KDDockWidgets.h - update copyright year
2021-02-06 10:07:55 -05:00
Sergio Martins
3b5e78bfba
ChangeLog: Add release date of 1.2.1
2021-02-06 13:02:50 +00:00
Sergio Martins
639dce7c53
Remove the QtQuick presets from the 1.2 branch
...
It's for master only
2021-02-06 12:46:18 +00:00
Sergio Martins
882f54647c
ChangeLog removed mention to 1.3 from the 1.2 branch
2021-02-06 12:43:56 +00:00
Sergio Martins
38443048b8
Merge branch '1.2'
2021-02-05 16:42:07 +00:00
Sergio Martins
621c3dbeca
Also clear the overlay internals when floating an overlay
...
Fixes a crash.
Relates to #162
2021-02-05 16:32:41 +00:00
Sergio Martins
f1e4f7ecda
Add another test
2021-02-05 14:34:12 +00:00
Sergio Martins
249d1b6790
Remove from the sidebar when floating a widget
...
Fixes #162
2021-02-05 12:35:03 +00:00
Sergio Martins
894e0fd03a
Added test for issue #162
2021-02-05 11:49:52 +00:00
Allen Winter
ec1f009914
CLA - switch to a form-fillable PDF version
2021-02-04 16:26:34 -05:00
Allen Winter
697417b906
CLA - switch to a form-fillable PDF version
2021-02-04 16:17:53 -05:00
Sergio Martins
dadf57c184
Merge branch '1.2'
2021-02-04 19:59:29 +00:00
Sergio Martins
7caa83be19
Also hide overlay when clicking on empty space of a main window
2021-02-04 19:56:35 +00:00
Sergio Martins
e745d38b1e
Improve the test a bit
...
clicking on the bottom is not very effective as that's where the
bottom sidebar is
2021-02-04 19:52:21 +00:00
Sergio Martins
6d389315bf
Add test for issue #157
2021-02-04 19:31:31 +00:00
Sergio Martins
024d56505a
Merge branch '1.2'
2021-02-04 13:30:35 +00:00
Sergio Martins
daec97ad66
Don't require QtX11Extras for WASM
...
Fixes #163
2021-02-04 13:30:04 +00:00
Sergio Martins
a98daead1d
README: Improve paragraph about reporting bugs
...
Mention that sha1 and which operating system are important too
2021-02-03 13:34:33 +00:00
Sergio Martins
2c5cf77cf2
Fix build with cmake Visual Studio generator
...
Fixes #156
2021-02-02 23:02:04 +00:00
Sergio Martins
a6b9a82e9c
Fix crash when hosting QQuickWidget
...
There's no need to check if invisible widgets are candidates
for docking. There's usually no downside either, except that
QQuickWidget is very sensitive with when its platform window
is created, so don't force the creation.
Will cherry-pick to 1.2 if no regression is found
Fixes #150
2021-01-31 13:05:20 +00:00
Sergio Martins
02cf9d1cd2
Make FloatingWindowWidget::m_vlayout protected
...
So users can override
2021-01-30 14:28:30 +00:00
Sergio Martins
cde814b216
Add a static FloatingWindow::s_windowFlagsOverride member
...
The user can now change which window flags FloatingWindow will get,
as his own risk.
Not doing it via public API such as FrameworkWidgetFactory as I don't
want to encourage or support this. The amount of combinations that
can go wrong is open ended.
Fixes #149
2021-01-30 13:59:42 +00:00
Sergio Martins
5f435cd8c7
minor comment: Don't mention deprecated flag
2021-01-30 13:40:07 +00:00
Sergio Martins
6ccd98ca01
Move DockWidgetBase::eventFilter() into the private class
...
Fixes issue #151 where the user is overriding eventFilter too
and getting into some edge cases.
Could be worked around in user code, but it's always good to have
less protected and private API in public classes.
2021-01-29 20:20:01 +00:00
Sergio Martins
799f2a81a7
Remember previous tab position when toggling float
...
This was already the case, but didn't work in case the tabs
were re-oredered by the user manually
Fixes #154
2021-01-29 19:15:23 +00:00
Sergio Martins
eb9fa6f567
Add unit-test for issue #154
2021-01-29 19:07:32 +00:00
Sergio Martins
9ebd595202
Remove stray debug
2021-01-29 18:32:23 +00:00
Sergio Martins
b50d301f44
Add DockWidget::tabIndex()
2021-01-29 18:32:10 +00:00
Sergio Martins
b01b8908ea
qtquick: Fix build
...
That test is QtWidgets only
2021-01-29 18:23:37 +00:00
Sergio Martins
78c2cdddc4
minor: Make indexOfDockWidget() take a const dock widget
...
So it can be called from const places
2021-01-29 18:22:20 +00:00
Sergio Martins
1eaac74fb0
README: reword the getting involved section a bit
...
Explain that patches as images are not good when reporting bugs
2021-01-29 12:02:14 +00:00
Sergio Martins
ee759a5459
Don't trigger "Delete on Close" when sending to the sidebar
2021-01-28 22:40:41 +00:00
Sergio Martins
e9d19805d7
Add a force close to DockWidgetBase::Private
...
So we can add an argument there, without changing public API
2021-01-28 22:19:21 +00:00
Sergio Martins
1f74ba43f0
Add some includes to DockWidgetBase_p.h
...
It's not included directly, but let's be nice to IDEs.
2021-01-28 21:54:45 +00:00
Sergio Martins
bc1e686455
Create DockWidgetBase_p.h and move the pimpl there
...
So we can reuse the pimpl and not have to expose public API
for implementation details
2021-01-28 21:44:12 +00:00
Allen Winter
5cc0552c57
Merge pull request #153 from KDAB/fix-missing-source
...
Added missing layout_saver wrapper file in the source list
2021-01-28 10:01:38 -05:00
Renato Araujo Oliveira Filho
6c06bc6af8
Added missing layout_saver wrapper file in the source list
2021-01-28 11:30:25 -03:00
Sergio Martins
2193c131a8
Merge branch '1.2'
...
Should fix #152
2021-01-27 23:38:51 +00:00
Sergio Martins
9a38626af5
Allow more private includes to be used from installed dir
2021-01-27 23:31:59 +00:00
Sergio Martins
f0c243f6d1
Add KDDockWidgets.h fwd_header
2021-01-27 23:27:04 +00:00
Sergio Martins
f0441f1a08
Normalize some dock_exports.h includes
...
In case these files are ever included from an installed location
2021-01-27 23:00:32 +00:00
Sergio Martins
8a9d9f9fce
Merge branch '1.2'
2021-01-27 22:55:36 +00:00
Sergio Martins
db06c496cf
Remove dependencies to LayoutSaver_p.h
...
Only the impl needs to include it
2021-01-27 22:51:41 +00:00
Sergio Martins
2aa97e6565
Add a fwd header for DragController_p.h
2021-01-27 22:28:57 +00:00
Sergio Martins
68597cac22
install two more private includes
2021-01-27 22:27:46 +00:00
Sergio Martins
afa543ec79
Fix .clang-format
...
Was complaining about Cpp14 not being a valid enumerator
2021-01-27 22:07:26 +00:00
Sergio Martins
d1df6e910b
Add a .clang-format file
2021-01-27 22:00:06 +00:00
Sergio Martins
74ae567ced
vscode: Update workspace files
...
formats code you've changed now
2021-01-27 21:32:06 +00:00
Allen Winter
8d657c5b18
Merge branch '1.2'
2021-01-27 11:59:27 -05:00
Allen Winter
802bdc102f
src/CMakeLists.txt - fix Windows library versioning
...
was broken for RelWithDebInfo builds
2021-01-27 11:55:51 -05:00
Sergio Martins
218d18793d
Remove some unneeded horizontal line from MyCentralWidget
...
The difference is minimal and probably looks very bad with dark
and custom themes.
Let's minimize the amount of hardcoded styling.
2021-01-26 19:32:10 +00:00
Sergio Martins
723c29e33b
Merge pull request #119 from JPatriceR/add-LayoutSaver-python-binding
...
Add binding for LayoutSaver class
2021-01-26 14:58:56 +00:00
Sergio Martins
2e248c6658
README: Add a paragraph about versioning and API/ABI compat
2021-01-26 14:36:30 +00:00
Sergio Martins
7fbd66d54c
Merge branch '1.2'
2021-01-26 14:26:26 +00:00
Sergio Martins
4bede063ae
Make DockWidgetBase::eventFilter() protected
...
The users might want to override it
Fixes #148 and restores source compat with v1.1
2021-01-26 14:25:30 +00:00
Sergio Martins
cbc5fec119
Added Config::setDisabledPaintEvents()
...
Makes our internal widgets not override QWidget::paintEvent(),
which gives full power to the user to stylesheets.
Was already possible, but required the user to override the
internal widgets via the widget factory
For issue #146
2021-01-24 10:51:58 +00:00
Sergio Martins
81927b088b
Add CustomizableWidget enum
2021-01-24 10:15:02 +00:00
Sergio Martins
5556edd83b
vscode: prefix the vscode workspaces with "code."
...
Easier to open on command line if they have the same prefix
2021-01-23 12:41:31 +00:00
Sergio Martins
2834532b5f
example: Add a keyboard shortcut to toggle dock widgets visiblity
2021-01-21 16:22:43 +00:00
Sergio Martins
17638bc29f
Fix regression with DockWidget::toggleAction()
...
Added unit-test too.
While we're processing the toggle action triggering isOpen() is
always false.
2021-01-21 16:16:29 +00:00
Jean-Patrice Laude
67b48cc417
Add binding for LayoutSaver class
2021-01-20 16:53:32 +01:00
Sergio Martins
451996016a
Merge pull request #128 from CE-Programming/fix/pri
...
Fix issues with pri file.
2021-01-19 22:38:37 +00:00
Sergio Martins
52b9a9223d
Update ChangeLog
2021-01-19 22:25:00 +00:00
Sergio Martins
d5b80b0bbd
Fix offset when dragging too fast
...
On Windows, when we start a drag, we switch to native dragging in
mid-flight, so that AeroSnap still works
Fixes #121
2021-01-19 22:23:20 +00:00
Sergio Martins
ae14e49338
Add a comment, explains why we switch to native drag
2021-01-19 21:53:35 +00:00
Sergio Martins
c23bce9829
Minor coding style: Remove nested ifdef
2021-01-19 21:50:31 +00:00
Sergio Martins
40a549ca29
Fix double delete screwing with lastPositions()
...
Fixes #141
2021-01-18 23:37:17 +00:00
Sergio Martins
cac435a2a5
tests: Add missing cleanup
2021-01-18 22:52:54 +00:00
Sergio Martins
b81f50402a
qtquick: Fix build
2021-01-18 20:42:41 +00:00
Sergio Martins
44587cb947
Don't require LayoutSaver_p.h to be installed
...
It's impl detail that doesn't need to be installed
2021-01-18 20:37:22 +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
Allen Winter
64f537ad1e
Merge branch '1.2'
2021-01-18 10:15:07 -05:00
Allen Winter
312c89f884
src/CMakeLists.txt - fix kddockwidgets_version.h install destination
2021-01-18 10:14:37 -05:00
Renato Araujo Oliveira Filho
d9fd7eb3a5
Fix python bindings build
...
Task-Id: KDABCI-692
2021-01-18 10:10:51 -05:00
Allen Winter
af9206f350
Merge pull request #142 from KDAB/python-build-fix
...
Fix python bindings build
2021-01-18 10:07:04 -05:00
Allen Winter
7c99bb084e
Merge branch '1.2'
2021-01-18 10:05:27 -05:00
Allen Winter
1a2757b00a
Generate and install kddockwidgets_version.h
...
defines a version string and other useful versioning macros
Issue#138
2021-01-18 10:03:21 -05:00
Renato Araujo Oliveira Filho
1e7a2110b1
Fix python bindings build
...
Task-Id: KDABCI-692
2021-01-18 11:58:42 -03:00
Sergio Martins
243146fe49
Update ChangeLog
2021-01-17 23:24:58 +00:00
Sergio Martins
370d139dfc
Fix Flag_NativeTitleBar
...
It shouldn't use the FloatingWindow::isInDragArea() code path
2021-01-17 23:11:41 +00:00
Sergio Martins
c4e7db34a4
Minor readability improvement
2021-01-17 22:51:37 +00:00
Sergio Martins
a4f6b72157
Fix FloatingWindow::isInDragArea() returning false even with HTCAPTION
...
If the last clicked position is HTCAPTION then we're sure we're
dragging. Problem with comparing the rect is that mouse events are
async, and by the time we use the mouse event pos the window is already
somewhere else. So just use HTCAPTION, which is 100% correct.
Fixes #103
2021-01-17 16:28:11 +00:00
Sergio Martins
de3ca6dba5
vscode: Remove launch.json
...
We'll do this per workspace file instead
2021-01-17 14:10:19 +00:00
Sergio Martins
bdfcfdd0fe
Update ChangeLog
2021-01-16 22:39:11 +00:00
Sergio Martins
dbf357ce66
Fix restoring window maximized state
...
Fixes #81
2021-01-16 22:37:30 +00:00
Sergio Martins
e950cf7fc3
tests: Add a test for issue #81
2021-01-16 21:38:36 +00:00
Sergio Martins
8dfad1c910
vscode: Update the workspace files
...
Now autogenerated from CMakePresets.json.
Added the Qt6 one too.
2021-01-16 19:40:36 +00:00
Sergio Martins
107d4e973c
Remove a script I'm no longer using
2021-01-16 15:50:27 +00:00
Sergio Martins
e33766a4fa
examples: Illustrate Config::Flag_CloseOnlyCurrentTab
2021-01-16 13:19:37 +00:00
Sergio Martins
6a550c6c4a
Added Config::Flag_CloseOnlyCurrentTab
...
When clicking on the TitleBar's close button it closes all the
dock widgets in the tab, by default. With the new option it will
close only the current tab
2021-01-16 13:06:29 +00:00
Sergio Martins
a0fc2a8ce7
Minor logic readability fix
...
They are mutually exclusive
2021-01-16 12:00:43 +00:00
Sergio Martins
ab257b3468
float docked widgets that have LayoutSaverOption::Skip before restore
2021-01-15 21:30:38 +00:00
Sergio Martins
e6bdb28484
Added convenience DockWidgetBase::skipsRestore()
2021-01-15 20:17:45 +00:00
Sergio Martins
c52446f3b0
Merge branch '1.2'
2021-01-15 09:27:17 +00:00
Sergio Martins
9cadfb26d9
Fix toggleAction() when dock widget is in the sidebar
...
It should toggle the overlay, not dock the widget
Fixes #139
2021-01-15 09:24:11 +00:00
Sergio Martins
7d5ea8f908
tests++
2021-01-15 09:20:58 +00:00
Sergio Martins
161b33370e
Add more tests
2021-01-15 09:04:05 +00:00
Sergio Martins
8dd7a90b34
Add convenience DockWidgetBase::isInSideBar()
2021-01-15 08:52:17 +00:00
Sergio Martins
7ff865a36f
tests: Add test for #139
2021-01-15 08:44:21 +00:00
Sergio Martins
d0b8ee606a
Honour LayoutSaverOption::Skip for floating windows with many dock widgets
...
If all dock widgets in the floating window have the Skip flag then the
FloatingWindow can too
2021-01-14 18:33:29 +00:00
Sergio Martins
c6c3b16fd2
LayoutSaver: Add some utility functions
2021-01-14 18:11:29 +00:00
Sergio Martins
64a6cbb2e4
Add all|anyDockWidgetsHave overloads taking a LayoutSaverOption
2021-01-14 18:01:54 +00:00
Sergio Martins
e1cf532437
tests: Add an XFAIL for a LayoutSaverOption::Skip case
2021-01-14 17:57:37 +00:00
Sergio Martins
67f2127710
Add one more unit-test regarding DeleteOnClose
2021-01-14 17:51:02 +00:00
Sergio Martins
9111b424a1
TitleBar: Also update the auto/hide button
...
For completeness, doesn't mean it's actually needed.
For issue #137 .
2021-01-14 11:39:15 +00:00
Sergio Martins
772b51216f
Merge branch '1.2'
2021-01-13 23:15:03 +00:00
Sergio Martins
a79a2f5ecb
Fix restoring non-closable state
...
For issue #137
A simpler solution than on master, doesn't include the refactoring.
2021-01-13 23:13:39 +00:00
Sergio Martins
585c0d64ed
Fix close button enable state not being restored with LayoutSaver
...
Fixes #137
2021-01-13 23:07:49 +00:00
Sergio Martins
7ddb95a417
Add a single TitleBar::updateButtons()
...
updateCloseButton() can now be private
2021-01-13 23:07:49 +00:00
Sergio Martins
02648eb54e
Update ChangeLog re PySide6
2021-01-13 22:51:18 +00:00
Sergio Martins
54a1050fbb
Add unit-test for issue #137
2021-01-13 22:23:44 +00:00
Sergio Martins
f997b2d2f0
qtquick: Fix build
2021-01-13 13:31:33 +00:00
Sergio Martins
8f61e57b57
Add DockWidget::Option::Option_DeleteOnClose
2021-01-13 12:54:18 +00:00
Sergio Martins
cfcff6f2d7
Minor rename
2021-01-12 22:49:07 +00:00
Sergio Martins
44d7cc0588
Add FloatingWindow::allDockWidgetsHave(option) and the any* variant
2021-01-12 22:42:38 +00:00
Sergio Martins
c91275d091
vscode: Use workspace files instead of project settings
...
So we can build for QtQuick too with different settings
2021-01-12 15:20:29 +00:00
Sergio Martins
69c88919c0
cmake: Export a compile_commands.json which helps vscode
...
Need to disable unity build otherwise intellisense can't find
our source files in the compile_commands.json. Only for the dev-*
presets anyway
2021-01-12 14:25:11 +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
Sergio Martins
7698584ee0
Fix potential invalid index when restoring layout
...
We save the index of each FloatingWindow when saving a layout,
but when restoring we might not want to restore all FloatingWindows,
for example, if we use a LayoutSaver with another affinity.
So, the index in Position::deserialize() should be a index to
LayoutSaver::Layout::floatingWindows, and not to DockRegistry::self()->floatingWindows()
since the later might be smaller.
2021-01-11 21:55:47 +00:00
Sergio Martins
d034722ba9
LayoutSaver: Add some utilities
2021-01-11 21:16:02 +00:00
Sergio Martins
e1e07c95ba
Merge pull request #134 from KDAB/python6
...
Added PySide6 support
2021-01-11 19:35:53 +00:00
Renato Araujo Oliveira Filho
4e79c68a7d
Added PySide6 support
...
Task-Id: KDDW-27
2021-01-11 16:31:49 -03:00
Sergio Martins
d80325ec8f
Merge branch '1.2' into master
2021-01-10 23:11:17 +00:00
Sergio Martins
e9925785ab
Cancel the drag if the draggable is destroyed
...
Can be destroyed for reasons we can't control or simply destroyed
because the draggable was docked/undocked
Fixes #120
2021-01-10 23:07:57 +00:00
Sergio Martins
81efda2d11
Add a QPointer guard for the draggable
...
So we can detect if it was deleted meanwhile
2021-01-10 23:00:19 +00:00
Sergio Martins
36eef80192
Also pass InitialOption to addDockWidgetToContainingWindow()
...
So you can control initial size and such
2021-01-09 13:58:56 +00:00
Sergio Martins
306bf26f66
Remove some qCDebug I never needed
2021-01-09 13:27:30 +00:00
Sergio Martins
e07fb7f121
DockWidget::addDockWidgetToContainingWindow() now accepts docking to main window
...
Was already stated in the docs that it would work with a main window but implementation
only allowed floating window.
Fixes #132
2021-01-09 13:24:06 +00:00
Sergio Martins
bc86cfcb1f
Move Item::insertItem() to the derived class
...
Item itself doesn't know how to insert into the layout.
We'll soon have a new derived class which will do things differently
2021-01-09 00:11:59 +00:00
Sergio Martins
63bb7e31cd
Remove unused method
2021-01-08 22:32:42 +00:00
Sergio Martins
1840d50fc0
Move LayoutBorderLocation out of Item
...
It only affect the box layout
2021-01-08 22:24:53 +00:00
Sergio Martins
c6fd4e4bc4
Remove duplicate Location enum
...
No longer needed
2021-01-08 22:11:03 +00:00
Sergio Martins
46210203f7
Rename ItemContainer to ItemBoxContainer
2021-01-08 22:02:02 +00:00
Sergio Martins
5a2d000ddd
qtquick: Fix weak vtable
2021-01-08 18:25:14 +00:00
Sergio Martins
c73c26e5cb
tests: Fix overloaded signal "parentChanged()"
2021-01-08 18:24:51 +00:00
Sérgio Martins
39c3e4fd13
Fix flags being compared against internal flag enum
2021-01-08 17:09:49 +00:00
Sergio Martins
011d83b7d9
tests: Also restore the internal flags
2021-01-08 09:03:24 -08:00
Sergio Martins
26f1b75976
tests: delete the dockwidgets when each test ends
...
Will save us from doing manual cleanup.
2021-01-08 08:45:28 -08:00
Sergio Martins
309a90d3a6
tests: Fix a test on windows
2021-01-08 08:28:41 -08:00
Sérgio Martins
946e1e977e
tests: Make sure our own stuff is deleted
...
but don't care about other stuff.
Other QWindows might be deleted delayed. We care more about
DockWidget and MainWindow due to their unique names. They need to
be deleted before the next test starts.
2021-01-08 15:43:04 +00:00
Sergio Martins
7f1347f15d
Overload DragRegistry::floatingWindows() to return windows being deleted too
2021-01-08 15:38:18 +00:00
Jacob Young
b81c32b1c9
Fix issues with pri file.
2021-01-07 20:43:47 -05:00
Sergio Martins
2e498f644b
Remove unneeded multisplitter examples
...
We use the top-level examples instead
2021-01-07 16:45:29 +00:00
Sergio Martins
ee0272e036
Merge pull request #129 from mateoconlechuga/master
...
Add support for setting toggle action icon
2021-01-07 16:09:34 +00:00
Sergio Martins
4aa87c1758
Merge branch '1.2'
2021-01-07 11:15:29 +00:00
Sergio Martins
3b1158b82f
Fix potential crash uncovered by UBSAN
...
m_inCtor might be read before being initialized since when
the earlier members are initialized they can call back into
Frame.
2021-01-07 11:13:56 +00:00
Sergio Martins
1aee98bebd
README-WASM: Minor correction, library is static
2021-01-07 11:13:56 +00:00
Allen Winter
b5a6433950
Merge branch '1.2'
2021-01-06 10:55:54 -05:00
Allen Winter
077264fd54
CopyrightAssignmentForm.docx - update email address
2021-01-06 10:55:26 -05:00
Kevin Funk
bee653cf80
Streamline README.md a bit
2021-01-06 16:04:14 +01:00
Sergio Martins
e1363aadaa
Remove inclusion of moc from .cpp file
...
doesn't play nice with cmake unity build on older cmake
2021-01-06 14:40:40 +00:00
Sergio Martins
43877ca712
README: Added url of our WASM demo
2021-01-06 14:35:46 +00:00
Sergio Martins
f7cc54ad38
Merge branch '1.2'
2021-01-06 12:00:13 +00:00
Sergio Martins
538f318fac
README-WASM: Minor correction, library is static
2021-01-06 11:07:52 +00:00
Sergio Martins
f0376fa7a2
Disable unity build on the stable branch
...
Fixes a build failure on ubuntu.
Will probably only enabled for development.
2021-01-06 10:59:13 +00:00
Sergio Martins
0d2bccc15e
Deprecate AddingOption
...
Will probably be removed in v1.5
2021-01-05 20:32:14 +00:00
Sergio Martins
842b89c36d
Restore source-compat with 1.2
...
It's not very hard. Just added the old enum and an implicit ctor.
2021-01-05 19:09:11 +00:00
Sergio Martins
1d74c67bd4
Merge pull request #130 from dangelog/more-build-fixups
...
More build fixups
2021-01-04 15:23:55 +00:00
Sergio Martins
ea0dd04bd9
Fix build with installed KDDW
2021-01-04 14:48:26 +00:00
Giuseppe D'Angelo
a5dbab096b
More build fixups
2021-01-04 15:17:47 +01:00
mateoconlechuga
f1f555d5ab
Add support for setting toggle action icon
...
This adds support for a custom icon to be displayed in a QMenu.
2021-01-03 19:36:56 -07:00
Sergio Martins
5b60a929ab
Merge branch '1.2'
2021-01-04 00:20:56 +00:00
Sergio Martins
f4404dcbe0
qt6: disable -Wconversion
...
the long long int to int conversions due to the Qt6 containers
are harmless
2021-01-04 00:12:55 +00:00
Sergio Martins
dd81e02d94
Fix Qt6 build
2021-01-03 22:17:25 +00:00
Sergio Martins
f4643aeefd
Merge branch '1.2'
2021-01-03 22:15:33 +00:00
Sergio Martins
e563ffb673
Add presets for Qt6 dev build
2021-01-03 22:12:56 +00:00
Sergio Martins
4cceec82ac
Remove unused variable
...
Should fix MingW build with -Werror
2021-01-03 21:24:21 +00:00
Sergio Martins
4b868e2078
README: Mention that Qt6 is supported and MSVC 2013 won't be
2021-01-03 21:22:41 +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
2b0a6e5d06
README: Mention VS 2013 isn't supported anymore
...
We're getting an ICE
2020-12-28 22:42:24 +00:00
Sergio Martins
5f7e645ed6
Merge branch '1.2'
2020-12-28 22:28:15 +00:00
Sergio Martins
59c90c01f9
README: Mention that Qt6 is supported and MSVC 2013 won't be
2020-12-28 22:27:38 +00:00
Sergio Martins
92063ab61b
Remove some duplicate code, Qt does the same already
...
Recently Qt implemented something similar. Since we only support
aero snap with Qt 5.15 we dont need KDDW's native win32 code anymore
cc issue #121
2020-12-28 13:06:37 -08:00
Sergio Martins
003ec5aa5b
Probably fix namespaced build
2020-12-28 19:35:03 +00:00
Sergio Martins
02bf43b468
Add InternalFlag_DontShowWhenUnfloatingHiddenWindow
...
It's an internal knob you can turn so that setFloating(false)
doesn't show the dockwidget. Only adding this flag in case you need
to support both KDDW and QDW at the same time, or during porting/evaluation.
Fixes #125
2020-12-28 19:19:46 +00: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
3fb6574322
Move Flag_internal_NoAeroSnap into its own enum
...
Enumerators not intended for the public shouldn't be in the
public enum. Move it to a private enum.
2020-12-28 14:01:16 +00:00
Sergio Martins
fa2501d5e4
Merge branch '1.2'
2020-12-28 12:35:04 +00:00
Jacob Young
0fe58fd160
Fix filename case so that it will build on a case-sensitive filesystem.
2020-12-28 12:34:03 +00:00
Sergio Martins
01f3042f48
Merge pull request #127 from CE-Programming/fix/case
...
Fix filename case so that it will build on a case-sensitive filesystem.
2020-12-28 12:24:23 +00:00
Sergio Martins
6719dd2b9e
Allow to pass a preferred initial size to MainWindow::addDockWidget()
...
fixes #95
2020-12-28 11:59:09 +00:00
Sergio Martins
08c058b214
Remove unimplemented DefaultSizeMode::SizePolicy
...
It's public API so don't expose enumerators that don't work
2020-12-28 10:58:37 +00:00
Jacob Young
e4502d4f64
Fix filename case so that it will build on a case-sensitive filesystem.
2020-12-28 03:07:30 -05:00
Sergio Martins
db928a0fca
refactor: Move the DefaultSizingMode enum into InitialSizingOption
...
It's another enum that affects the initial sizing.
No behaviour was change in this commit.
Needed for issue #95
2020-12-28 00:17:13 +00:00
Sergio Martins
5582f37a18
Introduce InitialOption struct
...
addDockWidget() received a AddingOption enumerator. But that
enum isn't enough, as we also want to be able to specify an initial
QSize.
So, instead of adding yet another parameter to addDockWidget(), we
create a struct to old those "initial settings".
Implies a minor source break, but trivial to fix in user code,
just rename the enumerator.
Honouring preferredSize will be a followup.
Needed for issue #95
2020-12-27 20:22:02 +00:00
Sergio Martins
a28e152a37
Remove duplicate DefaultSizeMode enum
...
It's already in Item_p.h
2020-12-27 13:56:58 +00:00
Sergio Martins
d6dea6f426
TabWidget: Remove paint event hack
...
Origin unknown, came from "initial commit".
Can't notice any difference without it. Users can do such hacks
by overriding it
2020-12-27 12:58:12 +00:00
Sergio Martins
d29f9fdd0d
Fix install location of TabWidget_p.h
...
It moved location in the repo recently
2020-12-27 12:39:08 +00:00
Sergio Martins
a2a80df5df
Add static function DockWidgetBase::byName()
...
So users don't have to use private API.
Fixes issue #126
2020-12-27 11:41:16 +00:00
Sergio Martins
48ce3a972f
DockWidget: Move some clutter to the end of the file
...
So users not using doxygen can quickly see the API
2020-12-27 11:34:44 +00:00
Sergio Martins
9fae250897
DockWidget: Make the serialization methods private
...
They are not for the public
2020-12-27 11:32:38 +00:00
Sergio Martins
4dd703dcb2
Remove another unneeded qWait
2020-12-24 11:57:18 +00:00
Sergio Martins
e46b5b2edf
tests: Remove a few unneeded qWaits regarding QStateMachine
...
We don't use QStateMachine anymore
2020-12-24 11:55:45 +00:00
Sergio Martins
7febcf2170
qtquick: Uncomment another TabBar that passes now
2020-12-24 11:53:13 +00:00
Sergio Martins
012ed4cf1d
qtquick: Uncomment another test regarding tab widget
2020-12-24 11:43:13 +00:00
Sergio Martins
18283c4d1a
qtquick: Enable another QTabBar test
2020-12-23 23:37:37 +00:00
Sergio Martins
2bb46b1cdf
Uncomment another tab test
2020-12-23 23:11:09 +00:00
Sergio Martins
113263a4a1
qtquick: Enable one more QTabBar test
2020-12-23 22:47:36 +00:00
Sergio Martins
a6ca44cde6
qtquick: double-clicking a tab will detach it now
2020-12-23 20:37:59 +00:00
Sergio Martins
894be60a75
tests: Add pressOn/doubleClickOn that receives a QWindow
...
Easier as we don't need to know the actual QWidget/QQuickItem
receiver. The QWindow will deliver it.
2020-12-23 20:36:50 +00:00
Sergio Martins
244a1bec24
Merge branch '1.2'
2020-12-23 14:34:39 +00:00
Sergio Martins
51d78ba20b
cmake: Allow to not build the fuzzer
...
Slight build improvement locally.
Still build by the CI anyway.
Did the same for the linter.
2020-12-23 13:36:43 +00:00
Sérgio Martins
8291025dfa
tests: Make the tests run much faster
...
tst_docks is already run in parallel. Then it was running
again sequentially!
2020-12-23 13:32:15 +00:00
Sergio Martins
6ea1d4ca58
Minor coding style
2020-12-22 18:58:51 +00:00
Sergio Martins
771bf10951
Merge branch '1.2'
2020-12-22 18:48:22 +00:00
Sergio Martins
67a3270324
cmake: Add a setting to enable -Werror without developer build
...
Enabled for clazy, for example
2020-12-22 18:16:35 +00:00
Sergio Martins
cd859d6725
Fix a bunch of clazy warnings
2020-12-22 17:01:50 +00:00
Sergio Martins
092b4afe4a
Add a clazy preset
2020-12-22 16:05:10 +00:00
Sergio Martins
f8d0ffe7ba
Fix a few clazy warnings
2020-12-22 16:02:55 +00:00
Sergio Martins
10f47a701f
Fix -Wclazy-copyable-polymorphic
2020-12-22 15:38:50 +00:00
Sergio Martins
d3224ed266
Fix -Wclazy-qstring-arg
2020-12-22 15:28:29 +00:00
Sergio Martins
2ccb5391bb
Fix -Wclazy-detaching-temporary
2020-12-22 15:14:28 +00:00
Sergio Martins
5c0c9799a4
Fix build with clang -Wsigness
2020-12-22 15:14:13 +00:00
Sergio Martins
5ccbb5b056
build-all.dart: no need to pass the cmake variables
...
they are already in the preset
2020-12-22 12:28:32 +00:00
Sergio Martins
fc04455e93
build-all.dart: Update the usage comment
2020-12-22 12:15:15 +00:00
Sergio Martins
4ae8f461cb
Merge branch '1.2'
2020-12-22 11:56:45 +00:00
Giuseppe D'Angelo
17539e5b88
Frame: stop using "virtual" signals
...
They don't work as expected across DLL boundaries on MSVC: connecting
to Frame::isFocusedChanged using the PMF syntax fails.
The reason has to do with how MSVC implements pointers to virtual
function members: they are "regular" function pointers to a DLL-local
stub that implements the virtual call. For that reason, a connect()
happening in client code would generate a pointer for the signal that
doesn't compare equal to the same pointer generated from inside KDDW;
and moc-generated code relies on this comparison to find the index of
the signal.
Just avoid the whole thing: rename the non-signal virtual call into a
"callback", and reimplement it in the first QObject subclass to turn it
into a proper signal.
2020-12-22 11:54:44 +00:00
Sergio Martins
e53b9c71da
Update build-all.dart with the contents from master
...
Adding the --tests option should have been done in 1.2 branch
2020-12-21 20:19:59 +00:00
Sergio Martins
9275f852d6
CMakePresets: Enable sanitizers for our developer builds
2020-12-21 20:06:40 +00:00
Sergio Martins
dd8f46880f
qtquick: Implement TabBarQuick::tabAt()
...
Also redirect the mouse press event to our C++ counterpart.
2020-12-21 17:09:55 +00:00
Sergio Martins
e9159a08bd
Fix build when usign installed TabWidget_p.h
2020-12-21 13:31:10 +00:00
Sergio Martins
cf89891e4f
Merge branch '1.2'
2020-12-21 12:43:31 +00:00
Sergio Martins
1cc8824f84
Workaround shiboken crash, found by Milian
2020-12-21 12:41:09 +00:00
Sergio Martins
b73c526c57
qtquick: Move the event redirector to the base class
...
Instead of having it in TitleBarQuick.
It will be needed by the TabWidget too
2020-12-20 17:12:44 +00:00
Sergio Martins
add577c46f
qtquick: Fix title not changing when we changed current tab
...
added unit-test too
2020-12-20 16:30:25 +00:00
Sergio Martins
9ddd65ea71
qtquick: tidy some connects
2020-12-20 15:37:17 +00:00
Sergio Martins
b15afa9231
Move TabWidget instantiation to base class Frame
...
Instead of being instantiated by both FrameQuick and FrameWidget
2020-12-20 14:21:39 +00:00
Allen Winter
f8dfde2784
README.md - add a "Using" section
2020-12-20 08:27:00 -05:00
Sergio Martins
6e0898a31e
Remove some methods from TabWidgetQuick
...
Reuse more from base class.
2020-12-20 13:19:07 +00:00
Sergio Martins
8b98dafba2
TabBar::numDockWidgets() doesn't need to be virtual
2020-12-20 12:32:50 +00:00
Sergio Martins
a123437d03
qtquick: Implement the TabWidget backend
...
Not yet connected to the GUI.
2020-12-20 12:06:29 +00:00
Sergio Martins
616c871da7
qtquick: initialize the tab widget via the factory
2020-12-20 11:25:50 +00:00
Sergio Martins
925c9725b3
qtquick: Build TabBarQuick too
2020-12-20 01:09:02 +00:00
Sergio Martins
1a173a7c72
Add a TabWidgetQuick.cpp
...
Doesn't do much yet
2020-12-20 01:02:55 +00:00
Sergio Martins
a959da46db
qtquick: Build TabWidget.cpp too
...
Not being used yet though.
2020-12-20 01:01:20 +00:00
Sergio Martins
a9c70d086c
qtquick: Move TabWidget_p.h out of widgets/
...
To be shared with qtquick
2020-12-20 00:07:07 +00:00
Sergio Martins
48bacb2811
build-all: Add option to run the tests
2020-12-19 23:30:09 +00:00
Sergio Martins
6b846fcdff
qt6: Use more 'auto' to fix some Wconversion errors
2020-12-19 22:54:06 +00:00
Sergio Martins
fdc97fecaf
build-all: Don't test the unity variations by default
2020-12-19 22:16:29 +00:00
Sergio Martins
86983d58f5
Merge branch '1.2'
2020-12-19 20:05:19 +00:00
Sergio Martins
58f7edb0bc
build-all: Build with unity turned off too
...
As it often finds builds failures to do missing includes
2020-12-19 20:00:05 +00:00
Sergio Martins
302bbeceb0
Merge branch '1.2'
2020-12-19 19:02:46 +00:00
Sergio Martins
cd9e16398c
qtquick: Fix the build for Qt6
...
And added cmake presets for Qt6
2020-12-19 18:59:33 +00:00
Sergio Martins
1e1ea8db34
qtquick: fix build
2020-12-19 18:04:54 +00:00
Sergio Martins
7ac3ea1fcf
Merge branch '1.2'
2020-12-19 17:52:52 +00:00
Sergio Martins
3f661d0322
Add dev-scripts/build-all.dart
...
This script builds all our supported configurations.
Useful if you don't have access to KDAB CI, or if you don't want
to wait for the results.
2020-12-19 17:51:29 +00:00
Sergio Martins
8dad079df5
Add a CMakePresets.json
...
Contains the configrations we support:
QtWidgets, QtQuick, static, Python and developer-build
2020-12-19 16:07:49 +00:00
Sergio Martins
1727e50489
Merge branch '1.2'
2020-12-19 15:44:59 +00:00
Sergio Martins
1ab9688f58
Fix Python build
2020-12-19 15:44:44 +00:00
Sergio Martins
613b1b8524
Allow the user to change the absolute min and max widget sizes.
...
It's not hardcoded anymore
2020-12-19 15:34:37 +00:00
Sergio Martins
ae5edc9ebf
Added README-troubleshooting
...
Fixes issue #114
2020-12-19 14:59:40 +00:00
Sergio Martins
d0c15b5da2
Add missing include
2020-12-19 14:59:04 +00:00
Sergio Martins
ccbd15c922
Merge branch '1.2'
2020-12-19 14:12:10 +00:00
Sergio Martins
7b9673e4e2
Shrink the overlay popup when we shrink the main window
...
Should be enough for issue #118
2020-12-19 14:10:01 +00:00
Sergio Martins
7fbcbbacdf
Preserve overlay size when resizing main window
...
For issue #118
2020-12-19 14:09:27 +00:00
Sergio Martins
d1f48b0685
Save the last overlayed size
...
We might want to restore it
2020-12-19 14:09:27 +00:00
Allen Winter
9ee6b91f61
Merge branch '1.2'
2020-12-18 13:04:02 -05:00
Allen Winter
e6c89c0564
setup for 1.2.1
2020-12-18 13:02:49 -05:00
Sergio Martins
8b97088c70
Fix QtQuick build
2020-12-18 17:39:24 +00:00
Sergio Martins
e5809c06c7
Enable resizing the overlayed dock widgets
...
Fixed WidgetResizeHandler to not allow it to resize the overlay
bigger than its parent
For issue #116
The size isn't remembered though. Next time you open the overlay
it will have the previous size.
2020-12-18 17:15:54 +00:00
Sergio Martins
23b69d4e9e
Fix overlay disappearing when we were resizing
...
We allow the user to click 4px outside of the overlay for better
resizing. But we also had code that would hide the overlay if we
clicked elsewhere. So these two requirements were in conflict.
So, before hidding, check if the frame accepted the press.
Also for issue #118
2020-12-18 16:02:35 +00:00
Sergio Martins
0f468033fb
Commit the code needed for resizing overlays/popups
...
Still not happy with it, so the actual part that enables it
is commented out
Also for issue #118
2020-12-18 15:35:43 +00:00
Sergio Martins
468074cda8
Fix min/max not being respected when resizing overlay popup
...
While the min size wasn't set the min size hint was.
Use our wrapper which honours the size hint.
Also for isssue #118
2020-12-18 15:32:43 +00:00
Sergio Martins
7acbe0c62e
Make the WidgetResizeHandler margin public
2020-12-18 15:23:52 +00:00
Sergio Martins
2c1a70280a
WidgetResizeHandler: Fix the geometry calculation for non-toplevels
2020-12-18 15:20:58 +00:00
Sergio Martins
d2fa5efafe
Add Utils::globalGeometry()
2020-12-18 14:29:44 +00:00
Sergio Martins
a437bc5d07
Minor WidgetResizeHandler cleanups
2020-12-18 12:11:28 +00:00
Sergio Martins
2447bb12c8
WidgetResizeHandler: Dont' accept the release if we're not resizing
2020-12-18 11:58:08 +00:00
Sergio Martins
1082d5e8e1
Added WidgetResizeHandler::setAllowedResizeSides()
2020-12-18 10:43:36 +00:00
Sergio Martins
3b1ac9a2d0
Merge branch '1.2'
2020-12-17 20:38:49 +00:00
Sergio Martins
4635405fb5
Allow WidgetResizeHandler to act on global event filter
...
Needed for widgets which are not top-levels
2020-12-17 19:47:19 +00:00
Sergio Martins
c481875e55
Fix WidgetResizeHandler::cursorPosition() for negative positions
...
Usually we don't get negative relative positions, since we're
tracking top-level widgets which wouldn't receive exterior mouse
events to begin with.
But we want the WidgetResizeHandler to work for embedded widgets
too, for example for the sidebar overlays.
2020-12-17 19:47:19 +00:00
Sergio Martins
62f50f9458
Minor coding style
2020-12-17 19:47:19 +00:00
Sergio Martins
c86252665c
Make WidgetResizeHandler::mouseMoveEvent() return bool
...
Returns true if it consumed the event
2020-12-17 19:47:19 +00:00
Sergio Martins
d141863ffb
Make a method private
2020-12-17 19:47:19 +00:00
Sergio Martins
e99b9678e4
Add WidgetResizeHandler::restoreMouseCursor()
2020-12-17 19:47:19 +00:00
Sergio Martins
e0a034748d
Factor out setting the mouse cursor
...
We'll soon also need to call qApp's set cursor
2020-12-17 19:47:19 +00:00
Sergio Martins
c3377431cc
docs++
2020-12-17 19:47:19 +00:00
Allen Winter
2fb70009cc
OBS - updates
2020-12-17 14:40:16 -05:00
Allen Winter
289ddffbe2
prep for 1.2.0 release
2020-12-17 14:40:16 -05:00
Sergio Martins
54738bbea2
Simplify WidgetResizeHandler::cursorPosition() impl
2020-12-17 18:51:40 +00:00
Sergio Martins
5c6eb352d6
Use the CursorPosition enum as flags
2020-12-17 18:46:31 +00:00
Sergio Martins
f657399ef8
Make enum public so we can use Q_ENUM
2020-12-17 18:44:48 +00:00
Sergio Martins
be0f72ca25
Remove unneeded method
2020-12-17 17:05:55 +00:00
Sergio Martins
31598d8334
Make a variable private
2020-12-17 16:59:21 +00:00
Sergio Martins
5e64463a8c
Remove some Item_p.h/multisplitter includes
...
that's private API for the layouts, don't want them exposed higher
in the stack
2020-12-17 13:48:50 +00:00
Sergio Martins
27ffb64eb4
Merge branch '1.2'
2020-12-17 12:45:33 +00:00
Sergio Martins
c4ffe10e12
Fix non unity build
2020-12-17 12:24:12 +00:00
Sergio Martins
efcad6d2be
Update ChangeLog
2020-12-17 11:53:12 +00:00
Sergio Martins
c7dc7bdb3d
Bump so version on master
2020-12-17 11:15:42 +00:00
Sergio Martins
b6925c928a
Clear sidebars before restoring them
...
If restoring a state without a sidebar, the existing sidebars
should hide
Fixes issue #116
2020-12-17 10:51:16 +00:00
Sergio Martins
75368d334a
Don't restore the popup/overlay state
...
popups are perishable
2020-12-17 10:15:39 +00:00
Allen Winter
d39ce8f66e
tests/Testing.cpp - include <QTest>, not <QtTest>
2020-12-16 17:10:07 -05:00
Allen Winter
805ea41d8a
Rubberband_quick.h, RubberBandQuick.h - adjust include guard
2020-12-16 17:04:06 -05:00
Allen Winter
d7ed2494be
CMakeLists.txt - add documentation for the new options
2020-12-16 17:01:47 -05:00
Allen Winter
0990337cdc
examples/qtquick/CMakeLists.txt - add license+copyright header
2020-12-16 16:51:03 -05:00
Allen Winter
e41cdb6f78
various - fix misspellings
2020-12-16 16:49:22 -05:00
Sergio Martins
666673a251
Added a comment
2020-12-16 18:46:56 +00:00
Sergio Martins
34cb2ae5f0
Restore the SideBars when restoring a layout
...
For issue #116
2020-12-16 18:27:29 +00:00
Sergio Martins
51d8c2ff3e
tests: Group the "Save/restore" tests together
2020-12-16 18:15:06 +00:00
Sergio Martins
aa9f50d0f4
Serialize the SideBar to JSON too
...
Part 1 of 2 for issue #116
2020-12-16 17:58:05 +00:00
Sergio Martins
b7c36a2ec9
Stabilize a test with 5.9
...
Minor differences in the frame's min-sizes, no point in spending
more time on such old Qt version just so tests pass.
2020-12-16 17:24:33 +00:00
Sergio Martins
e18fb7ffd8
Remove unneeded private moc include
...
Doesn't play nice with unity builds
2020-12-16 15:48:32 +00:00
Sergio Martins
96439339c7
cmake: Add a missing QtQuick header to the source list
2020-12-16 15:46:31 +00:00
Sergio Martins
04d418b2e9
same for QtQuick
2020-12-16 15:42:48 +00:00
Sergio Martins
c04d856322
cmake: Add the header files to the source list too
...
So they are automoced with unity build
2020-12-16 15:40:25 +00:00
Sergio Martins
1c41c33f33
Merge the two qrc files that are only for QtQuick
2020-12-16 11:53:36 +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
eab80c0545
Fix a -Wmismatched-tag warning
2020-12-16 10:54:47 +00:00
Sergio Martins
288c3df30b
Add missing include
2020-12-15 23:11:52 +00:00
Sergio Martins
e8728e8a35
qtquick: Fix the qrc not being included
2020-12-15 23:07:11 +00:00
Sergio Martins
94bfc4f2d1
qtquick: Fix build
2020-12-15 23:02:13 +00:00
Sergio Martins
d2da07508a
Replaced an include with a fwd decl
2020-12-15 22:58:10 +00:00
Sergio Martins
7082e40cd5
Fix non-developer build
...
These exports are needed
2020-12-15 21:56:22 +00:00
Sergio Martins
2c8bbd10f7
Remove the export macros from the old library
...
We now use only 1 library, so use the same export macros
2020-12-15 21:41:10 +00:00
Sergio Martins
ed8a401fe8
Meld kddockwidgets__multisplitter into kddockwidgets lib
...
It's overkill to have it in a separate library.
Simplifies deployment.
Speeds up build, as it was breaking paralellism.
2020-12-15 21:00:41 +00:00
Sergio Martins
72428075f0
Fix -Wshadow warnings
2020-12-15 20:38:20 +00:00
Sergio Martins
562db7c812
qtquick: Fix build
...
Missing include guards
2020-12-15 13:38:35 +00:00
Sergio Martins
3ee15d1307
Give python a bit of help building KDDW
2020-12-15 12:15:23 +00:00
Sergio Martins
cf232dda34
Enable Unity Builds unconditionally
...
Projects using KDDW won't need to modify KDDW, so there's no impact
on incremental builds
2020-12-15 11:13:41 +00:00
Sergio Martins
bfeac02a45
cmake: Make KDDW build faster with a unity build
2020-12-12 15:18:39 +00:00
Sergio Martins
22f4c36eb0
cmake: remove duplicate set of qtquick/qtwidget cmake options
...
Let's simply things and only use one set. If the top-level requires
QtQuick then so will multisplitter. It's not mix-and-match.
2020-12-12 14:11:26 +00:00
Allen Winter
3dc56ea4ef
Merge branch '1.1'
2020-12-12 08:20:10 -05:00
Allen Winter
cbedc06e97
various - prep for 1.1.1 release
2020-12-11 16:56:04 -05:00
Sergio Martins
8f85f28ed4
Merge branch '1.1'
2020-12-11 16:44:07 +00:00
Sergio Martins
b5c2757874
Updated Changelog with v1.1.1
2020-12-11 16:36:37 +00:00
Sergio Martins
46f57ffbbc
Merge branch '1.1'
2020-12-10 21:39:54 +00:00
Sergio Martins
fb6e2afd7b
Windows: Don't start a drag when it's a resize
...
There were a few pixels where you could click where, very near the
border where it would start a drag while it shouldn't.
The drag state machine then was in an invalid state which could lead to
a crash.
Fixes issue #110
2020-12-10 21:16:42 +00:00
Sergio Martins
f74eb73326
qt6: Use only one CMake option for Qt6
...
We still had OPTION_QT6 leftovers
2020-12-09 14:09:20 +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
9a9488117c
Add a State dtor, fixes a -Wweak-vtables warning
2020-12-09 11:13:55 +00:00
Sergio Martins
e55d75ba98
qt6: Fix build on Windows
2020-12-08 23:21:51 +00:00
Sergio Martins
742763e6e5
qt6: Remove unneeded Qt5Test find
...
It's already found in the root CMakeLists.txt
2020-12-08 22:56:59 +00:00
Sergio Martins
d7242f17b7
examples: Add AUTORCC
...
Fixes standalone examples not showing images
2020-12-08 22:36:23 +00:00
Sergio Martins
eba395dc4c
Fix build
2020-12-08 22:31:21 +00:00
Sergio Martins
89635d8b98
qt6: build is fixed now
2020-12-08 21:47:35 +00:00
Sergio Martins
f475312f11
qt6: Port away from QStateMachine
...
QStateMachine was moved to qtsxml module, which is not ported to
Qt6 yet.
We use QStateMachine for the semantics it gives us, not because of
its implementation. The implementation is trivial, so do it outselves.
We used very little from QStateMachine.
2020-12-08 19:55:52 +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
85f829f97a
qt6: Remove an hardcoded Qt5 lib
2020-12-08 16:38:08 +00:00
Sergio Martins
e3bb0b3d48
qt6: Link to StateMachine
2020-12-08 16:36:00 +00:00
Sergio Martins
22c0b6f9b6
qt6: Fix build of FloatingWindow.cpp
...
QWidget::nativeEvent() changed signature
2020-12-08 16:33:35 +00:00
Sergio Martins
200cb7aded
qtquick: Fix build with gcc
2020-12-08 15:06:21 +00:00
Sergio Martins
4999fdd819
qtquick: Remove the native child widget case
...
This can only happen for QtWidgets. With QtQuick all items are
alien, never native
2020-12-06 15:48:31 +00:00
Sergio Martins
76aca4139a
Minor cleanup
2020-12-05 23:37:56 +00:00
Sergio Martins
64276cb872
qtquick: Fix clicking on close button of floating window
...
Since we're using native events on windows we were using the whole
title bar for dragging, but obviously the buttons don't serve for
window dragging
2020-12-05 23:28:04 +00:00
Sergio Martins
aad63d117b
qtquick: Enable aero-snap on Windows
...
The events simply need to be forward from QWindow to the FloatingWindow.
That happens automatically for QWindow/QWidget, but not with
QWindow/QQuickItem, so add this behaviour to QtQuick too, so it behaves
the same as QtWidgets and we have a single code path for aero snap
2020-12-05 15:20:26 +00:00
Sergio Martins
bd66af0a9f
Remove unused logging categories
2020-12-05 14:29:13 +00:00
Sergio Martins
a21d80279e
qtquick: Fix background of indicator being black on macOS
2020-12-03 19:15:34 +00:00
Sergio Martins
4347aefc8f
Fix a -Wweak-vtable warning on macOS
2020-12-03 18:45:08 +00:00
Sergio Martins
b6341154fb
qtquick: Fix a test
...
The tests are not prepared for the min-size of the floating window
to change (QLayout helped with that). We need to write some kind
of constraint propagation first, until then we use a static
size for the non-contents
2020-12-03 18:24:26 +00:00
Sergio Martins
16f6692b79
qtquick: Add an example of how to instantiate a dock widget from QML
...
Instead of using C++
2020-12-03 14:58:59 +00:00
Sergio Martins
6c1026956a
qtquick: titlebar's height is reduced to 0 when invisible
...
otherwise we see an empty space when it's not visible
2020-12-02 23:33:04 +00:00
Sergio Martins
97679abb02
qtquick: silence warning
...
not worth it
2020-12-02 23:29:15 +00:00
Sergio Martins
e173a4cfff
qtquick: Also allow for custom titlebar for the Frame
2020-12-02 23:24:28 +00:00
Sergio Martins
26971ef1e2
qtquick: Add an example of a custom title bar
2020-12-02 23:20:44 +00:00
Sergio Martins
d7bde47105
qtquick: Don't hardcode the title bar height in C++
...
It's now in QML and the user is allowed to change it
2020-12-02 22:58:11 +00:00
Sergio Martins
143c82291d
qtquick: The user can now choose another titlebar file
2020-12-02 22:43:01 +00:00
Sergio Martins
979b2fdd40
qtquick: Set the frameworkwidget factory as a context prop
2020-12-02 22:38:17 +00:00
Sergio Martins
46337d900b
qtquick: Load the titlebars with a loader
...
in followup commit the source will be user configurable
2020-12-02 21:43:57 +00:00
Sergio Martins
ec1f1bea9a
qtquick: Move some style code to TitleBar.qml
...
Doesn't belong in the base component
2020-12-02 21:30:55 +00:00
Sergio Martins
d207028d60
qtquick: Document and add proper interface to TitleBarBase.qml
2020-12-02 16:17:46 +00:00
Sergio Martins
a237eae508
qtuick: Add a customtitlebar example stub
...
Not custom yet.
2020-12-02 15:48:51 +00:00
Sergio Martins
243396f22b
qtquick: Move the example into a sub-directory
...
We'll have other qtquick examples
2020-12-02 14:52:10 +00:00
Sergio Martins
f240bf5d40
Disable Aero-snap for QtQuick, for now
2020-12-01 20:33:52 +00:00
Sergio Martins
785db1b50c
qtquick: Fix detaching windows not working smoothly
...
Use the global event filter, as grabing isn't reliable in QtQuick.
Either not the same item is getting the mouse moves and release, or
it's because QtQuick internally is also setting/unsetting grabbers,
as seen in the source code
2020-12-01 20:14:46 +00:00
Sergio Martins
b6a7048a4f
Fwd declare QWidget, no need to include in the header
2020-12-01 19:48:41 +00:00
Sergio Martins
52bff59024
Remove duplicated logic regarding mouse events
2020-11-30 23:14:00 +00:00
Sergio Martins
bba0195196
Move "mouseEvent()" function to Utils_p.h
...
So it can be reused
2020-11-30 23:00:30 +00:00
Sergio Martins
41fdb9c7df
qtquick: Fix non-developer build
2020-11-30 18:37:39 +00:00
Sergio Martins
c1c1da25a8
Fix build with vs2013
2020-11-30 14:11:21 +00:00
Sergio Martins
b4e7b97646
examples: Fix non-developer build
2020-11-30 12:25:29 +00:00
Sergio Martins
2c687fe469
qtquick: Implement the rubber band
...
When hovering a drop indicator we now see the blue rubberband
2020-11-29 22:31:11 +00:00
Sergio Martins
10e0402afa
Fix build
2020-11-29 19:51:37 +00:00
Sergio Martins
ebb1179167
fix namespace
2020-11-29 19:41:30 +00:00
Sergio Martins
15c196d865
qtquick: Move Rubberband to its own file
2020-11-29 19:23:10 +00:00
Sergio Martins
e897ce6e8e
qtquick: Add a replacement for QAction
...
So we don't depend on QtWidgets lib
2020-11-29 18:44:00 +00:00
Sergio Martins
83d9db1b64
qtquick: multisplitter lib no longer depends on QtWidgets
...
Added a QSizePolicy replacement.
KDDW for QtQuick still needs to link to QtWidgets, but it's a
step forward
2020-11-29 18:08:49 +00:00
Sergio Martins
60331fc654
qtquick: Remove some unneeded QtWidget includes
2020-11-29 17:57:14 +00:00
Sergio Martins
e8f16dd172
qtquick: Don't build ObjectViewer
2020-11-29 17:50:51 +00:00
Sergio Martins
44bd451362
qtquick: stabilize tests with offscreen QPA
2020-11-29 15:17:29 +00:00
Sergio Martins
1d2a791dfc
qtquick: Fix DND operation never ending
...
When double-clicking a title bar we're getting: Press, Release,
Press and never the Release. We get the MouseDblClickEvent instead,
so handle that
2020-11-29 14:40:03 +00:00
Sergio Martins
a4ba45b423
qtquick: Fix flickering the first time we drag over
2020-11-28 19:27:18 +00:00
Sergio Martins
12576970c6
qtquick: Fix dragged window being behind in Z order
...
For QtWidgets, when we raise something that's not a top-level
it won't raise. So do the same thing for QtQuick
2020-11-28 18:28:43 +00:00
Sergio Martins
e0ee7d14b0
qtquick: Remove warning about we not implementing keyboard ungrab
...
I don't see it in QQuickItem API, so we also don't grab it to
begin with
2020-11-28 17:53:39 +00:00
Sergio Martins
66f447ad3f
qtquick: Fix crash when hovering over titlebar
...
It would think we were over a drag indicator, because during an instant
the overlay window has 0x0 size but the indicators are still visible.
Fix by only showing the overlay window (visible property) when it has
the correct size
2020-11-28 17:11:46 +00:00
Sergio Martins
75db599142
tests: Make DropArea::hover() return the chosen drop location
...
Just for tests.
2020-11-28 16:47:19 +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
090483f04e
qtquick: Add some flags to the example
...
Mostly for debugging at this point
2020-11-28 00:18:41 +00:00
Sergio Martins
953219f6f3
qtquick: Minor refactoring
...
Removed some hardcoded QLineEdit casts, that code is now generic.
2020-11-27 18:47:03 +00:00
Sergio Martins
8356bb0c3c
Introduce KDDockWidgets::widgetAt()
...
Only repro for QtWidgets for now, but already useful to remove some
QApplication includes
2020-11-27 18:29:46 +00:00
Sergio Martins
758548f7a2
qtquick: Only Windows needs Angle
2020-11-27 17:11:45 +00:00
Sergio Martins
2aa16eb6d9
examples: comment out the old multisplitter example
...
It's not for end users. Might even delete it
2020-11-27 17:07:44 +00:00
Sergio Martins
9d6cef24c1
qtquick: Use Angle on Windows
...
It's aero-snap friendly. Otherwise shows black artifacts.
We can however use normal GL and use FramelessWindowhint instead
2020-11-27 16:46:21 +00:00
Sergio Martins
52999d4cc9
qtquick: Don't process native events when being deleted
2020-11-27 15:03:55 +00:00
Sergio Martins
bc2fff2c04
qtquick: Window resizing works on Linux/mac now
2020-11-27 13:59:27 +00:00
Sergio Martins
40fa4e98f8
qtquick: Fix tests
...
Mouse tracking isn't implemented, so warns
2020-11-27 11:06:47 +00:00
Sergio Martins
a07f63a2c7
qtquick: Fix build on Windows
2020-11-26 23:30:55 +00:00
Sergio Martins
39c9a4da9b
qtquick: Enable native event handling for the floating windows
...
Same as done with QtWidgets, now hopefully we have native window
resize
2020-11-26 23:26:15 +00:00
Sergio Martins
e0aa547393
qtquick: Start using the WidgetResizeHandler
...
It's no longer commented out in FloatingWindow.
Doesn't do much for QtQuick, but at least we don't have different
code paths
Making it work is next.
2020-11-26 23:13:46 +00:00
Sergio Martins
08eab8882f
qtquick: Call FloatingWindow::setupWindow() at the correct time
...
We need a QWindow. While that's done very early, and automatically
for QtWidgets, for QtQuick it's done later, by us, manually
2020-11-26 22:52:23 +00:00
Sergio Martins
04723ac3a9
Minor refactoring, moved code into a function
2020-11-26 22:46:14 +00:00
Sergio Martins
c25043fa00
qtquick: Enable more QtWidget paths that compile fine
...
Just needed a dummy create() function
2020-11-26 22:28:57 +00:00
Sergio Martins
5372920cd0
qtquick: Port NCHITTESTEventFilter
2020-11-26 21:53:48 +00:00
Sergio Martins
28ae4c3b8c
Add helper to get FloatingWindow by its WId
2020-11-26 21:42:45 +00:00
Sergio Martins
6158ebd520
qtquick: Fix our QtQuick QLineEdit clashing with the QWidgets one
...
Some indirect include is making it clash. Cleaner to use a different
name anyway
2020-11-26 21:28:01 +00:00
Sergio Martins
b77430e574
Remove two more unneeded QApplication includes
2020-11-26 19:35:46 +00:00
Sergio Martins
fad81d595a
qtquick: Remove some dependencies to QApplication
2020-11-26 19:31:32 +00:00
Sergio Martins
0980a7f601
qtquick: Port qtTopLevelForHWND() to Windows
...
Deals in QWindow instead of QWidget
2020-11-26 18:54:58 +00:00
Sergio Martins
46830713e0
stabilize test on Windows
2020-11-26 18:27:17 +00:00
Sergio Martins
cd796db0ff
Add helper topLevelForHandle()
2020-11-26 17:53:28 +00:00
Sergio Martins
29da5f4a8a
qtquick: Fix another include
...
Fixes the multisplitter build on Windows, which has a more picky
linker
2020-11-26 17:18:55 +00:00
Sergio Martins
315bdc71e5
qtquick: Include the correct include
...
Not the widget one
2020-11-26 17:17:18 +00:00
Sergio Martins
a8965bea91
Fix a unit-test
...
Broke it by mistake
2020-11-26 17:00:10 +00:00
Sergio Martins
bf259c7ffc
qtquick: Fix build on mac
...
Mostly due to -Werror and clang having more warnings
2020-11-26 16:45:12 +00:00
Sergio Martins
8a990451d7
Fix casting -1 to WId on mac
2020-11-26 15:59:32 +00:00
Sergio Martins
974bdbd637
Fix a -Wweak-vtable warning
2020-11-26 15:55:52 +00:00
Sergio Martins
cb9d77cd18
Fix more -Woverloaded-virtual
2020-11-26 15:17:33 +00:00
Sergio Martins
af10efa587
Fix more -Woverloaded-virtual
2020-11-26 15:15:37 +00:00
Sergio Martins
a0fb47af58
Fix -Woverloaded-virtual
2020-11-26 14:52:04 +00:00
Sergio Martins
598fbdc51b
qtquick: Fix build on mac
...
RubberBand was being compiled twice. We shouldn't compile the
_widget* multisplitter files when using QtQuick.
Also implies tst_multisplitter shouldn't be run when compiling
for QtQuick.
2020-11-26 14:29:17 +00:00
Sergio Martins
81c3f3f0c6
Fix a -Wweak-vtables warning
2020-11-26 13:28:15 +00:00
Sergio Martins
b9962b3df0
qtquick: Make the QWinWidget case specific to QtWidgets
...
With QtQuick we don't have QWinWidget
2020-11-26 13:23:06 +00:00
Sergio Martins
a71386e62a
Fix using qAbs(bool)
...
detected by msvc
2020-11-26 12:59:51 +00:00
Sergio Martins
812ce1c08b
qtquick: Fix floating dock #3 in the example
...
It would go to its previous place (0,0), so don't show it at
start.
Added a unit-test as thought it was a bug, but code is correct.
2020-11-26 12:31:50 +00:00
Sergio Martins
189e82450b
qtquick: Add 2px margin for the the tab widget
...
Mimics QtWidgets
2020-11-26 12:06:52 +00:00
Sergio Martins
a3dbc3739c
qtquick: Make title bar look nicer
2020-11-26 12:02:58 +00:00
Sergio Martins
c8d34375af
qtquick: Add margin to Frame
2020-11-26 11:43:30 +00:00
Sergio Martins
6c3775ea45
qtquick: floating window now has a border and 4px margin
...
Just like the QtWidget one
2020-11-26 11:36:36 +00:00
Sergio Martins
5a72e1adab
qtquick: Fix some colors
2020-11-25 23:52:56 +00:00
Sergio Martins
0f7f310734
qtquick|example: Use the KDAB logs, as we have for QtWidgets
2020-11-25 23:09:53 +00:00
Sergio Martins
e8bf2a5222
qtquick: Remove dummy background color
2020-11-25 22:59:30 +00:00
Sergio Martins
468f545c9a
qtquick: Enable more tests
...
these pass now, too
2020-11-25 22:15:52 +00:00
Sergio Martins
a59ff6dfee
qtquick: Build tests with ctest too
2020-11-25 21:41:46 +00:00
Sergio Martins
4fa415ba05
qtquick: Comment out a few tests
...
We don't support max-size yet
2020-11-25 21:01:37 +00:00
Sergio Martins
d851c60b2f
qtquick: Don't allow the initial window size to be smaller than its min
...
Fixes a test
2020-11-25 20:52:29 +00:00
Sergio Martins
bf097098e5
qtquick: Fix pointer comparison in test
2020-11-25 20:10:32 +00:00
Sergio Martins
8c93b85a24
qtquick: Remove unneeded code
2020-11-25 20:10:13 +00:00
Sergio Martins
f87d67dd59
qtquick: Remove unneeded code
2020-11-25 20:07:08 +00:00
Sergio Martins
bc3278b218
qtquick: tst_positionWhenShown
2020-11-25 17:01:37 +00:00
Sergio Martins
d2c55a67df
qtquick: Fix more tests
2020-11-25 16:28:54 +00:00
Sergio Martins
a3414fd92b
qtquick: Fix tst_addToSmallMainWindow1
2020-11-25 16:10:04 +00:00
Sergio Martins
12f3ba9074
qtquick: Fix some tests
2020-11-25 16:02:42 +00:00
Sergio Martins
034d2c8aee
README: Mention Qt6
2020-11-25 12:31:29 +00:00
Sergio Martins
ad3f4141c8
qtquick|tests: Fix main window QWindow not being resized
2020-11-24 18:40:22 +00:00
Sergio Martins
cde2e4e571
qtquick: Fix tst_constraintsAfterPlaceholder
...
The resize happens sync for QtQuick, so that wait isn't needed
2020-11-24 13:36:10 +00:00
Sergio Martins
e0775467b2
qtquick|tests: Fix verifying frame min size
2020-11-24 13:12:53 +00:00
Sergio Martins
b20ffcde61
tst_negativeAnchorPosition: Fix typo
...
we need to subtract from height(), not width()
2020-11-24 12:44:00 +00:00
Sergio Martins
43bdb6a4c2
qtquick: Bunch of fixes for min-size support
2020-11-24 11:38:13 +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
6a90a5125f
TitleBar: these 4 getters are only for development mode
2020-11-23 20:22:45 +00:00
David Faure
77016a619f
Fixes for being used as a subproject
...
* Don't use CMAKE_SOURCE_DIR, always use CMAKE_CURRENT_SOURCE_DIR
* -Werror=undef found that #if was used instead of #ifdef
2020-11-23 21:16:40 +01:00
Sergio Martins
dc328ff7c4
Fix developer mode build on Windows
...
developer mode will make some 'private' in headers be 'public', this
affects name mangling on MSVC.
kddockwidgets_linter didn't have the developer mode macro enabled,
so there was a mangling mismatch when linking
2020-11-23 17:40:06 +00:00
Sergio Martins
dc13665566
Fix forward declaration
2020-11-23 16:53:52 +00:00
Sergio Martins
d1279ab119
Merge branch '1.1'
2020-11-23 15:57:42 +00:00
Sergio Martins
80bf6032f3
Fix FloatingWindow's title when shown in the taskbar
...
The window title isn't only important when using native title bar,
it's also important for showing the correct title in the taskbar
or alt-tab.
For example, if using "minimize support", they'll show in the task bar
Fixes issue #101
2020-11-23 15:52:50 +00:00
Sergio Martins
22437e75c6
qtquick: Override min size for FrameQuick
...
Fixes constriants not propagating from dock widget to frame
2020-11-23 15:45:06 +00:00
Sergio Martins
801e49de9d
Make DockWidgetQuick::minimumSize()/max virtual
...
While for QtWidgets we have layouts which propagate the constraints
up, for QtQuick we don't, so we need to override minimumSize instead
2020-11-23 15:45:06 +00:00
Sergio Martins
a847a574ed
qtquick: Delete the frame visual item delayed
...
If we're in a QML event handler we can't delete the QML item,
it's a QML limitation. We still want to delete the dockwidgets now though
since all tests depend on that.
2020-11-23 15:45:06 +00:00
Sergio Martins
ef8807bc09
Minor style
2020-11-23 15:45:06 +00:00
Allen Winter
d441477fa9
Merge branch '1.1'
2020-11-22 12:25:28 -05:00
Allen Winter
ece7b22bec
apidox - fix doc for enum KDDockWidgets::Config::Flag
...
doxygen likes "///<" (not "///>")
Issue#106
2020-11-22 12:17:38 -05:00
Sergio Martins
97d8e4f18b
qtquick|tests: Be able to deliver a double-click event to a titlebar
...
Needed for tests
2020-11-20 21:44:06 +00:00
Sergio Martins
9937f5d789
qtquick: Fix floating windows having a parentItem
...
they are top-level windows, so shouldn't have a parent item.
Only a QObject::parent()
2020-11-20 16:55:00 +00:00
Sergio Martins
675edfe6db
qtquick: Move the floating button logic one level up, to the base class
...
So QtQuick can use the same logic.
Fixes tst_nonDockable too.
2020-11-20 15:35:46 +00:00
Sérgio Martins
c23d179385
Add support for Qt6
...
Adds the -DKDDockWidgets_QT6=ON option
Also you'll need to port any required Qt6 module first (For example QStateMachine).
2020-11-20 12:36:11 +00:00
Sergio Martins
36af020505
Fix two scoped value rollback being temporaries
2020-11-20 09:55:31 +00:00
Sergio Martins
7b2d195139
qtquick: Put the failing QtQuick tests at the end
...
So they don't corrupt the passing ones.
Approx 40 need to pass now.
2020-11-19 22:59:00 +00:00
Sergio Martins
984ab3bb13
qtquick: Add support for disabling close button
...
For when dockwidget isnt' closable.
Fixes tst_nonClosable() too
2020-11-19 22:12:49 +00:00
Sergio Martins
0331f90791
Move title bar logic regarding close button to base class
...
So QtQuick can use it too
2020-11-19 22:09:40 +00:00
Sergio Martins
b19c53d650
qtquick: Implement some title bar helpers for tests
...
Mostly getters that return the title button state
2020-11-19 21:45:29 +00:00
Sergio Martins
3670cf2377
qtquick: Comment the embedded main window test
...
We don't support that yet
2020-11-19 17:49:27 +00:00
Sergio Martins
864670b0a1
qtquick: Fix some cases where floating windows didn't have parent
...
Happened because floatingWindow->parentWidget() was null. On QtWidgets
this works because QWidget::parentWidget() will return the transient parent
without a problem.
2020-11-19 17:47:02 +00:00
Sergio Martins
0cf148b389
tests: Check for the existence of QWindow at exit, not QWidget
...
So we're clean for QtQuick too
2020-11-19 16:34:30 +00:00
Sergio Martins
921d0892a0
qtquick: Fix tst_setVisibleFalseWhenSideBySide
...
Was also broken (but passed) for QtWidgets.
We don't support hidding widgets with setVisible(false).
2020-11-19 11:59:09 +00:00
Sergio Martins
beb2d9e659
qtquick: Add support for non-closable windows
...
fixes tst_preventClose
2020-11-18 18:13:35 +00:00
Sergio Martins
59168da231
qtquick: Fix crash at exit
...
Don't delete our QWindow if the QWindow is currently deleting us
2020-11-18 18:10:32 +00:00
Sergio Martins
3dbf699c49
qtquick: Fix QtQuick parenting
...
Mimic QtWidgets so we have similar behaviour:
- When a MainWindow is deleted, its associated QWindow is deleted
too.
- When a MainWindow is deleted, it deletes any FloatingWindows
which have it as a transient parent
2020-11-18 16:18:42 +00:00
Sergio Martins
baa7561b13
qtquick: Fix tst_addAndReadd
...
Wasn't even correct for QtWidgets and just passing because the
widget wasn't getting dropped QtWidgets, since the indicator was hidden.
For QtQuick the indicator is also hidden but it's accepting it. To fix.
2020-11-18 14:42:34 +00:00
Sergio Martins
ac5f4b871c
qtquick: Fix tst_honourGeometryOfHiddenWindow
...
We want the geometry of the QWindow
2020-11-18 14:30:08 +00:00
Sergio Martins
52bf449366
qtquick: Fixes for focusing
...
Fixes tst_focus too, and maybe a few other tests
2020-11-18 14:01:55 +00:00
Sergio Martins
08a1c4e6df
qtquick: Implement focus policy
...
fixes tst_dockWidgetGetsFocusWhenDocked
2020-11-18 12:35:46 +00:00
Sergio Martins
156dad6e03
qtquick: Fix IndicatorWindow::posForIndicator()
...
Wasn't even implemented. Should make some tests pass.
2020-11-18 12:06:20 +00:00
Sergio Martins
b642d2df2f
qtquick: Fix dropped widget not being the current tab
2020-11-18 11:44:55 +00:00
Sergio Martins
5cedfab82c
Make DropIndicatorOverlay::posForIndicator() pure virtual
2020-11-18 11:44:02 +00:00
Sergio Martins
af9d62a58c
qtquick: Fix FloatingWindows not being destroyed when empty
...
Also fixes tst_createFloatingWindow
2020-11-17 23:15:33 +00:00
Sergio Martins
0758496b0d
Fix QtQuick build without developer mode
2020-11-17 21:15:07 +00:00
Sergio Martins
a452723919
Fix tests running with a nullptr state machine
2020-11-17 21:08:05 +00:00
Sergio Martins
774e66ba6f
Minor: add an assert
...
Provides a nicer backtrace when it happens.
Currently repro on QtQuick only
2020-11-17 21:04:32 +00:00
Sergio Martins
f13de89db5
tests. Fix utils.h draggableFor() for QtQuick
2020-11-17 20:44:04 +00:00
Sergio Martins
1393ae224f
Fix DockWidget::windowActiveAboutToChange() being emitted too much
...
Was being emitted even when it didn't affect our window.
This caused an explosion of signals when we had many dock widgets.
2020-11-17 18:52:54 +00:00
Sergio Martins
d92d7c258c
tests: Remove stray qDebug
2020-11-17 18:15:38 +00:00
Sergio Martins
619ca74051
Use QFAIL instead of qFatal
...
more elegant, and test can continue, so we see the whole result
2020-11-17 18:15:03 +00:00
Sergio Martins
aa39a71ae5
Rename tst_common to tst_docks
...
Now that tst_docks was all ported let's have the old name again.
Also cmake -jN now works, as tst_docks is called by the tests_launcher
while tst_common was not
2020-11-17 15:44:49 +00:00
Sergio Martins
f4e33c1409
tests: Port the remaining tests to QtQuick
...
Tests now build with QtQuick too.
2020-11-17 15:26:14 +00:00
Sergio Martins
ad96336a36
Also init resources if QT_STATIC is defined
...
Should help with WASM, so you don't need to manually call
Q_INIT_RESOURCE
2020-11-17 11:35:37 +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
793c4e509b
Fix crash regarding edge case of dragging window to itself
...
If we're not showing a title bar, then the draggable is the tabbar,
not the floating window.
2020-11-16 22:55:45 +00:00
Sergio Martins
e4a33ad8b7
Added README for wasm
...
Fixes issue #100
2020-11-13 18:45:58 +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
8791870efb
Blacklist classical indicators on WASM
...
Use segmented indicators.
Wasm doesn't support top-level windows with translucency, which
is required for the classical indicators
For issue #100
2020-11-13 18:18:25 +00:00
Sergio Martins
4f8c47bfa4
Don't require Qt5X11Extras for web assembly
...
For issue #100
2020-11-13 17:43:38 +00:00
Sergio Martins
ad141df6b1
Merge branch '1.1'
2020-11-13 16:00:49 +00:00
Sergio Martins
72605292b7
Don't show dock/undock icon when dockwidget is not dockable
...
Fixes issue #99
2020-11-13 15:51:26 +00:00
Sergio Martins
1443eff1d9
tests: Port some tests to QtQuick
...
15 to go
2020-11-10 18:00:19 +00:00
Sergio Martins
22d5db32ce
FocusScope: Remove focus when nothing is focused
2020-11-09 15:25:32 +00:00
Sergio Martins
e9a321039f
Renamed signal to windowActiveAboutToChange()
...
Added the 'aboutTo', as the event hasn't been caught by the top-level
window yet
2020-11-09 13:46:16 +00:00
Sergio Martins
b93f115b53
Added DockWidget::windowActiveChanged() signal
...
Tracking the top-level window's 'isActiveWindow' property is difficult
since the dock widget's top-level window is changing all the time
when docking and undocking. So added a convenience signal
2020-11-09 13:35:05 +00:00
Sergio Martins
7faaf2cc69
tests: Port more tests to QtQuick
...
18 to go before we start fixing them
2020-11-08 15:18:16 +00:00
Sergio Martins
978f9d3a5e
tests: Port another test to QtQuick
...
29 to go
2020-11-06 23:52:48 +00:00
Sergio Martins
09793b3481
tests: Port more tests to QtQuick
...
31 to go
2020-11-06 23:33:02 +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
4ac892038f
Fix QtQuick build
2020-11-04 11:34:35 +00:00
Colin Ogilvie
387ba291be
export FocusScope
2020-11-04 11:32:42 +00:00
Sergio Martins
5d3d189774
tests: Port 1 test to QtQuick
2020-11-03 17:22:50 +00:00
Sergio Martins
a6a1047f75
FocusScope: Also honour widgets embedded in the tab bar
...
A widget embedded in a tab bar (like a line edit) lives outside
the DockWidget but inside the Frame. It should still focus the
current dockwidget.
2020-11-03 17:12:21 +00:00
Sergio Martins
3e70b846e8
FocusScope: Modify the member variable before emitting signal
2020-11-03 16:19:47 +00:00
Sergio Martins
0a2aebd78d
FocusScope: Also focus when the user clicks on tab widget background
...
Relevant when you don't have a title bar
2020-11-03 15:29:13 +00:00
Sergio Martins
ddad0feaf3
tests: Additional 5 tests build for QtQuick now
...
37 to go
2020-11-02 20:04:14 +00:00
Sergio Martins
aba1cce1f6
Merge branch '1.1' into master
2020-11-02 11:37:56 +00:00
Sergio Martins
7318675e84
Clarify comment about fractionaly scalling factors
...
The problem can happen on Windows too.
Fixes issue #94
Nothing more we can do here, it's fixed for Qt 5.15.2.
2020-11-02 11:36:24 +00:00
Sergio Martins
cf700f8eb6
tests: port more tests to QtQuick
...
43 to go
2020-10-30 18:29:59 +00:00
Sergio Martins
2c1d099c83
Fix include here too
2020-10-30 12:27:50 +00:00
Sergio Martins
91ff29ae64
Fix build when KDDW is embedded within a project
2020-10-30 12:21:25 +00:00
Renato Araujo Oliveira Filho
523dfb0d12
Fix python bindings build
2020-10-30 08:36:15 -03:00
Sergio Martins
b84e0f3605
tests: More tests are now building with QtQuick
...
56 to go
2020-10-29 18:11:24 +00:00
Sergio Martins
f72e8e6a1c
tests: Port 5 more tests
2020-10-28 22:57:28 +00:00
Sergio Martins
c6c1fe79c3
Fix QtQuick build
...
src/ is no longer in the include path
2020-10-28 22:15:32 +00:00
Sergio Martins
ea382dcc17
cmake: Install DockRegistry_p.h
...
It's available as private API if anyone wants to use it
2020-10-28 21:55:02 +00:00
Sergio Martins
c142eb8ecd
trying to fix the python build
...
after the include paths changes
2020-10-27 21:40:51 +00:00
Sergio Martins
46c039153e
cmake: Don't export src/ to include path
...
Otherwise applications can't have files named MainWindow.h or
DockWidget.h.
Now all kddockwidgets includes need to be scoped, example:
2020-10-27 17:01:18 +00:00
Sergio Martins
473f03360c
tests: Fix Wweak-vtables warnings
2020-10-26 18:59:21 +00:00
Sergio Martins
3fb3984a72
Merge branch '1.1'
2020-10-26 18:23:17 +00:00
Sergio Martins
9c5e3cf5af
tests: Port another test to QtQuick
2020-10-26 18:22:01 +00:00
Sergio Martins
7419ca806d
tests: Port 2 more tests to QtQuick
2020-10-26 17:32:13 +00:00
Allen Winter
8a51c31663
OBS - update for 1.1.0 release
2020-10-26 12:14:46 -04:00
Sergio Martins
a586a7894b
cmake: Qt5::GuiPrivate is only needed on Windows
2020-10-26 16:14:07 +00:00
Sergio Martins
31fcbebaff
ChangeLog: Add the date of 1.1 release
2020-10-26 15:29:47 +00:00
Sergio Martins
c4cc6b3e6e
tests: Port more tests to QtQuick
2020-10-25 22:39:10 +00:00
Sergio Martins
420ac9044e
Merge branch '1.1' into master
2020-10-23 17:11:45 +01:00
Sergio Martins
392dac5691
Use Qt::WA_PendingMoveEvent instead of Qt::WA_Moved
...
We check if the user provided position before putting a floating
window in a default position. Qt::WA_Moved however has the problem
that it's not cleared, so second time you show a window, it will
have it, even if user didn't set geometry.
Use Qt::WA_PendingMoveEvent instead, which was made for tracking
moves made before the first show.
2020-10-23 17:07:14 +01:00
Sergio Martins
29744c01c6
ChangeLog: Added Config::setTabbingAllowedFunc
2020-10-23 10:33:37 +01:00
Sergio Martins
a16adb9578
Merge branch '1.1'
2020-10-23 10:32:10 +01:00
Sergio Martins
49e488df24
remove roadmap from 1.1 ChangeLog
...
We only have it for master
2020-10-23 10:29:57 +01:00
Sergio Martins
1a3f00eac8
ChangeLog: Added HDPI improvements
2020-10-23 10:29:00 +01:00
Sérgio Martins
c6ea8d5525
ChangeLog: Remove mention to 1.0.1 release
...
We're releasing 1.1 asap
2020-10-23 10:23:52 +01:00
Sergio Martins
7738585d01
tests: Enabled another batch of tests for QtQuick
...
83 of 175 are now building with QtQuick
2020-10-22 20:54:39 +01:00
Sergio Martins
61bc24c6ea
tests: A bunch of drag/mouse functions are not compatible with qtquick
...
In the sense that they build.
2020-10-21 22:43:08 +01:00
Sergio Martins
ae90001d7a
tests: Remove some QWidget ifdefs
...
Works fine for QtQuick too
2020-10-21 21:08:03 +01:00
Sergio Martins
c0ea3a097c
tests: Port a test to qtquick
2020-10-21 21:05:03 +01:00
Sergio Martins
abca57be11
qtquick: Fix tst_stealFrame
...
Now has the same behaviour as with QWidgets
2020-10-20 22:36:45 +01:00
Sergio Martins
645201480c
qtquick: Port two tests
2020-10-20 22:05:29 +01:00
Sergio Martins
8cffba3e22
Merge branch '1.1' into master
2020-10-19 21:25:39 +01:00
Sergio Martins
8f62004f5b
cmake: Remove QTQUICK option for 1.1
...
Leave it in master only.
2020-10-19 21:23:44 +01:00
Sergio Martins
4fff6edb7b
qtquick: Port another test
2020-10-19 21:03:47 +01:00
Sergio Martins
64cff4ba49
qtquick|tests: use auto instead of QPointer<QWidget>
2020-10-19 21:00:18 +01:00
Sergio Martins
ce3c4d5661
qtquick|tests: pass parent to main window
...
Those tests pass now
2020-10-19 20:58:00 +01:00
Sergio Martins
5f333f0934
qtquick: port more tests
2020-10-19 20:53:40 +01:00
Sergio Martins
f70722934c
qtquick: Port more tests
2020-10-19 20:47:09 +01:00
Sergio Martins
b9eb9f10d4
qtquick: Port more tests
2020-10-19 20:26:09 +01:00
Sergio Martins
6f89d94eef
qtquick: Emit Frame::layoutInvalidated() when needed
...
When min/max size changes it needs to be emitted, so layout
notices
2020-10-19 20:06:29 +01:00
Sergio Martins
3a494d706a
qtquick: Implement missing QWidgetAdapter::floatingWindow()
2020-10-19 19:05:10 +01:00
Sergio Martins
2ffbe07bcf
Updated README-Wayland.md
2020-10-19 11:46:22 +01:00
Sergio Martins
371fd361a8
Detach when double-click on tab bar background, if no title bar
...
When a title bar isn't visible, we need a way to detach an entire
group of tabs by double clicking, required for wayland.
Implemented for all platforms, as it makes sense
2020-10-19 11:42:39 +01:00
Sergio Martins
97416607e5
qtquick: Allow to set min-sizes on items
2020-10-18 23:27:10 +01:00
Sergio Martins
51ccbe7c7c
Move TabBar::detachTab() to Frame
...
As the code doesn't have anything specific to QTabBar.
Means QtQuick can reuse it without needing a TabBarQuick.
tst_crash now passes for QtQuick too
2020-10-18 23:07:13 +01:00
Sergio Martins
65599399c7
qtquick: port a bunch of tests
2020-10-18 22:23:51 +01:00
Sergio Martins
c0816d4924
qtquick: Fix tst_negativeAnchorPosition5
...
min sizes weren't bounded
2020-10-18 21:58:46 +01:00
Sergio Martins
2988e97e14
qtquick: Fix build
2020-10-18 20:29:44 +01:00
Sergio Martins
046ceae500
Remove unneeded null check from DropArea::drop()
2020-10-18 12:31:04 +01:00
Sergio Martins
33c0cda582
Minor readability, just call setWindowBeingDragged(true)
...
It's always true here.
2020-10-18 12:28:10 +01:00
Sergio Martins
df7acc1075
Added README-Wayland.md to explain some differences
...
Fixes issue #10
2020-10-17 12:30:57 +01:00
Sergio Martins
3859e4b277
Added Wayland to the README
2020-10-17 12:18:05 +01:00
Sergio Martins
26253b65c7
wayland: Silence warning about qpa not supporting activating
...
"qt.qpa.wayland: Wayland does not support QWindow::requestActivate()"
2020-10-17 12:13:58 +01:00
Sergio Martins
424453ab57
Double clicking on a tab will make it float
...
Also really required for Wayland, where we don't another way to
float a single tab, as the float button affects all of them.
2020-10-17 12:09:47 +01:00
Sergio Martins
d7de0ebd20
Updated ChangeLog
...
- Added wayland for 1.2, it's done. Might need more polishing.
- Removed 1.0.1, let's release 1.1 instead
- Moved QtQuick to 1.3. The december target is still there, but I want
to release 1.2 sooner, since the wayland support is done.
2020-10-17 11:44:45 +01:00
Sergio Martins
bf1c5140cd
Wayland: Fix another missing mapToGlobal
...
Hovering indicators was fine, but dropping was off by a few pixels
vertically due to the menu bar
2020-10-17 11:41:19 +01:00
Sergio Martins
fb7a35db5b
Wayland: Fix indicator hover being off
...
Drag events are in local coords, while DropArea wants it in
global
2020-10-17 11:05:56 +01:00
Sergio Martins
5872c2fbe3
Wayland: Support classical indicators too
...
The Indicator Window is top-level, but on Wayland that can't do,
as we have no way to position it. So parent it. The indicators
are now under the window being dragged, but that's no so bad, as it's
smi-transparent, so you still see the indicator.
2020-10-17 11:02:49 +01:00
Sergio Martins
ba04c70d5a
Minor code re-ordering
2020-10-17 10:30:26 +01:00
Sergio Martins
de1e2d301f
wayland: Support affinities too
2020-10-17 10:27:43 +01:00
Sergio Martins
b67bdf779e
Don't dereference windowBeingDragged->floatingWindow()
...
Add a level of indirection instead, and support for the wayland case
2020-10-16 23:06:30 +01:00
Sergio Martins
78a3221395
Merge branch '1.1' into master
2020-10-16 22:05:14 +01:00
Sergio Martins
f698b56dad
relax test
...
Seems to happen with 5.15 static. It's benign anyway
2020-10-16 22:02:45 +01:00
Sergio Martins
4ed18fdf1d
Introduce Config::setTabbingAllowedFunc(<lambda>)
...
This gives a lot of power to the user to disallow tabbing two dock
widgets, while still allowing them to be docked side by side. As
this can't be achieved with affinities.
Instead of adding API which might not be enough soon, just allow
the user to pass a lambda and implement his very custom requirement.
Fixes #91
2020-10-16 21:56:33 +01:00
Sergio Martins
6e05f13c77
Added FloatingWindow::dockWidgets()
2020-10-16 21:48:47 +01:00
Sergio Martins
cb51d0af11
Merge branch '1.1' into master
2020-10-16 20:53:17 +01:00
Sergio Martins
a146cd81b2
Fix mac tests build
2020-10-16 20:52:22 +01:00
Sergio Martins
8dbd6df456
Merge branch '1.1' into master
2020-10-16 20:35:56 +01:00
Sergio Martins
ac6d845c8d
Skip tests on macOS+offscreen if Qt <= 5.15.0
...
There's a bug in Qt qpa only fixed in 5.15.1
2020-10-16 20:35:04 +01:00
Sergio Martins
cfc9d1abcd
cmake: Fix indentation
2020-10-16 19:43:50 +01:00
Sergio Martins
a66748f6ca
relax test
...
Seems to happen with 5.15 static. It's benign anyway
2020-10-16 17:10:40 +01:00
Sergio Martins
e5f46ead3b
qtquick: Fix build
2020-10-16 17:08:36 +01:00
Sergio Martins
171023558e
Introduce WindowBeingDraggedWayland
...
This is just a cleanup. Instead of having WindowBeingDragged
having both code paths, let's keep the non-wayland platforms code
small and clean.
2020-10-16 17:08:36 +01:00
Allen Winter
059a424b88
Merge branch '1.1'
2020-10-16 08:39:26 -04:00
Sergio Martins
307b22deaf
Wayland: Also allow to drag by tab widget
...
For when we don't have title bar
2020-10-16 13:30:20 +01:00
Sergio Martins
e405688f67
Fixing build with msvc 2013
...
error C2876: 'QMimeData' : not all overloads are accessible
2020-10-16 13:16:13 +01:00
Sergio Martins
68554119f4
Fix -Werror build on mac
2020-10-16 11:46:02 +01:00
Sergio Martins
86a4a740ef
wayland: dropping a single tab or frame now works too
2020-10-16 11:33:09 +01:00
Sergio Martins
0a004b83ca
Add WindowBeingDragged::draggable() getter
2020-10-16 11:16:49 +01:00
Sergio Martins
4fa47403c5
Make DragArea::drop() deal in WindowBeingDragged()
...
Preparing for wayland case.
2020-10-16 10:49:42 +01:00
Sergio Martins
9e418ced53
wayland: Finish WindowBeingDragged::maxSize() and minSize
...
Supports now single dock widgets or single frames
2020-10-16 10:40:34 +01:00
Sergio Martins
bc04863439
Wayland: Dragging a tab or a nested dock widget now shows pixmap
...
TODO: Supporting a drop for those two cases
2020-10-16 10:33:01 +01:00
Allen Winter
77f259a435
README.md - contact info
2020-10-15 16:06:26 -04:00
Sergio Martins
16bcace663
Add some transparency to the QDrag pixmap
...
Looks better
2020-10-15 19:15:40 +01:00
Sergio Martins
52fddaa1cd
wayland: Set a pixmap while DND
...
Since our source window isn't moving, let's at least show a copy
of it on the pixmap
A bunch of tearing going on kwin_wayland/nvidia though.
Weston/nvidia is fine.
Haven't tried kwin_wayland/Intel yet
2020-10-15 19:11:12 +01:00
Sergio Martins
f3d7400c15
wayland: End the drag properly when user cancels the drag
2020-10-15 19:02:46 +01:00
Allen Winter
7ebc3f3533
src/DockWidgetBase.h - fix compile after merge from master
2020-10-15 12:43:29 -04:00
Renato Araujo Oliveira Filho
0ee94b425e
Fixed python bindings generation
2020-10-15 12:38:32 -04:00
Sergio Martins
d44a173945
Wayland: Really end the drag after dropping
...
Fixes a crash on shutdown
2020-10-15 17:27:12 +01:00
Sergio Martins
ac001d6f32
wayland: Don't allow to drop onto itself
...
It was showing the drop indicators in the window being dragged
2020-10-15 16:50:46 +01:00
Sergio Martins
e3de2df69c
wayland: Add initial drag and drop support
...
You can drag a floating window and drop it somewhere
- Only works with segmented indicator style. Classical indicators
require us being able to positioning an overlay, which wayland
doesn't allow us to.
- Detaching inner tabs and dock widgets not implemented yet.
- polishing needed
2020-10-15 16:50:46 +01:00
Sergio Martins
39d3c90b2f
Minor variable rename for readability
2020-10-15 16:50:46 +01:00
Sergio Martins
bca21defa5
wayland: Don't grab mouse or set window opacity
...
Not supported by the QPA and not needed for wayland anyway
2020-10-15 16:50:46 +01:00
Sergio Martins
dd3116ae7f
Minor: remove const, need to pass it somewhere else
2020-10-15 16:50:46 +01:00
Allen Winter
49b3765eae
Merge branch '1.1'
2020-10-15 10:53:41 -04:00
Allen Winter
1f5dd35bec
Merge pull request #93 from KDAB/fix-python-binding
...
Fixed python bindings generation
2020-10-15 10:52:44 -04:00
Renato Araujo Oliveira Filho
6fce8e6161
Fixed python bindings generation
2020-10-15 09:55:32 -03:00
Allen Winter
e57b46979d
buildsystem - fix installation path for Python bindings
2020-10-14 16:27:18 -04:00
Allen Winter
683b67abb0
buildsystem - install libs with symlinks for the major vers
2020-10-14 15:59:53 -04:00
Sergio Martins
6479bcabfb
Make DropArea::drop() receive WindowBeingDragged instead
...
In prep for wayland support
2020-10-14 20:42:51 +01:00
Sergio Martins
a8c9735652
wayland: Add needed API to WindowBeingDragged
...
So it can act as a substitute for FloatingWindow, which we don't
always have during a drag
2020-10-14 20:34:55 +01:00
Sergio Martins
93b25b6a31
Make MultiSplitter::rectForDrop() receive WindowBeingDragged
...
Instead of FloatingWindow, which won't exist on wayland while a
drag is in progress.
2020-10-14 20:25:09 +01:00
Sergio Martins
4eb5a0940e
dont' cast pointer to bool
2020-10-14 19:44:27 +01:00
Sergio Martins
c2cc914b5c
indicators: Depend less on FloatingWindow
...
Deal in terms of WindowBeingDragged instead, as wayland won't have
a floating window being dragged
2020-10-14 19:39:51 +01:00
Sergio Martins
1219ba90af
Add WindowBeingDragged::affinities()
...
So we can deal in WindowBeingDragged instead of FloatingWindow.
For wayland we won't have floating window whilst dragging
2020-10-14 19:22:13 +01:00
Sergio Martins
beef3c7fb5
Specialize StateDragging for wayland
...
Introduces StateDraggingWayland. Wayland is the alien, so don't want
to introduce hacks in the existing clean code.
StateDraggingWayland will deal with the wayland workarounds.
Although the impl only has placeholders for now I'm committing it
because it's already an improvement: broken detachment is no longer
possible. Detached windows were going to a random place on screen.
2020-10-14 18:12:25 +01:00
Sergio Martins
52184ca72b
Added StateBase::isActiveState()
2020-10-14 18:01:48 +01:00
Sergio Martins
78cd7c56f7
Minor: Switch order of ifdefs
...
Will want to add a case for wayland too.
2020-10-14 16:41:17 +01:00
Sergio Martins
7805a1dc25
wayland: Use both client and native titlebar
...
native will be used for moving while client for DND
2020-10-14 16:32:10 +01:00
Sergio Martins
92f426e4c0
wayland: Allow floating windows to properly move
...
They move now, but don't drag yet.
2020-10-14 16:25:05 +01:00
Sergio Martins
90f10042fd
Merge branch '1.1' into master
2020-10-14 15:22:04 +01:00
Allen Winter
697c140883
set version to 1.1.0
2020-10-14 10:07:48 -04:00
Sergio Martins
3369816d31
Merge branch '1.1' into master
2020-10-14 14:59:44 +01:00
Sergio Martins
819725351a
Fix -Wweak-vtables warnings
2020-10-14 14:55:28 +01:00
Allen Winter
860cbd29bc
Merge branch '1.1'
2020-10-13 13:24:03 -04:00
Allen Winter
07db9f9a7a
cmake/Python/FindShiboken2.cmake - clean
2020-10-13 13:23:39 -04:00
Allen Winter
2fd4f9ce97
Merge branch '1.1'
2020-10-13 12:51:38 -04:00
Allen Winter
77d7cd7d58
buildsystem - namespace CMake options
...
OPTION_DEVELOPER_MODE => KDDockWidgets_DEVELOPER_MODE
OPTION_BUILD_PYTHON_BINDINGS => KDDockWidgets_PYTHON_BINDINGS
PYTHON_BINDINGS_INSTALL_PREFIX =>
KDDockWidgets_PYTHON_BINDINGS_INSTALL_PREFIX
OPTION_QTQUICK => KDDockWidgets_QTQUICK
2020-10-13 12:28:49 -04:00
Allen Winter
e5cb42c4fe
CMakeLists.txt - improve installing to non-KDAB location
2020-10-13 11:32:12 -04:00
Allen Winter
1fe1d619a9
footer.html - update tag line
2020-10-13 11:30:14 -04:00
Sergio Martins
697cc34c23
Merge branch '1.1' into master
2020-10-12 18:10:53 +01:00
Sergio Martins
b00d1d80b0
Merge branch '1.0' into 1.1
2020-10-12 18:09:54 +01:00
Sergio Martins
67bb42c5b4
Fix infinite loop when updating title bar visibility
...
Not exactly infinite, just exponential growth or worse
Fixes #92
2020-10-12 18:09:32 +01:00
Sergio Martins
d50fcb80c5
qtquick: Fixed all the layouting spam/warnings
...
Don't layout a view with 0x0.
2020-10-12 17:07:30 +01:00
Sergio Martins
9571ffc30e
Remove unneeded qDebug
2020-10-12 17:05:39 +01:00
Sergio Martins
f4a88276b8
qtquick|tests: ported two more tests
2020-10-11 13:05:51 +01:00
Sergio Martins
4ea254029a
qtquick: Fix tst_negativeAnchorPosition3
...
MainWindow needed a parent.
Also normalized deletion of the floating window.
2020-10-11 13:00:09 +01:00
Sergio Martins
f5e85c2196
qtquick|tests: Add a few more tests
2020-10-11 12:55:25 +01:00
Sergio Martins
926103325c
qtquick: Fix close events not being delivered
...
Also ported some tests from tst_docks to tst_common, which
were failing due to close events not working. Fixed now
2020-10-11 12:42:20 +01:00
Sergio Martins
20b2988165
Unfold an assert into a qWarning+assert
...
Just to print some debug data
2020-10-11 11:58:32 +01:00
Sergio Martins
39aefd312b
qtquick|tests: Don't abort tests due to binding loop warnings
...
Don't want to care about it right now
2020-10-11 11:53:55 +01:00
Sergio Martins
b5478bcb0d
tests: Enable a bunch of tests for QtQuick
...
only one is failing
2020-10-11 11:44:47 +01:00
Sergio Martins
d403557b9e
tests: Abstract QPushButton somewhat
...
Anything refering QPushButton will simply compile with QtQuick.
2020-10-10 21:07:18 +01:00
Sergio Martins
db9884ea64
qtquick: Enable tst_setFloatingSimple and tst_restoreSimple
2020-10-10 20:53:27 +01:00
Sergio Martins
74148aabc3
tests: Don't complain there's a leak if the FloatingWindow is being deleted already
2020-10-10 20:52:56 +01:00
Sergio Martins
7bfac091ae
Rename DockRegistry::nestedwindows() to DockRegistry::floatingWindow
...
which is the naming we use everywhere else
2020-10-10 20:41:42 +01:00
Sergio Martins
60a68817b6
qt_quick: Enable tst_restoreCentralFrame too
...
Removes a warning from FrameQuick. It's benign.
For QtWidgets we also set a -1 tab index to clear
2020-10-10 20:25:46 +01:00
Sergio Martins
a56e6d7fe8
qtquick: Enable tst_simple2
2020-10-10 20:10:43 +01:00
Sergio Martins
1f0b208922
qtquick: Enable tst_resizeWindow too
2020-10-10 12:15:18 +01:00
Sergio Martins
9da147f50e
qtquick: Enable tst_floatingWindowTitleBug too
2020-10-10 11:52:38 +01:00
Sergio Martins
c175451284
qtquick: Fix user geometry not being honoured
...
QtQuick doesn't set Qt::WA_Moved, which we expect. Set this attribute
in the wrappers then.
Fixes the unit-test too.
2020-10-10 11:46:24 +01:00
Sergio Martins
9a88cf3a72
tests: Enable tst_honourUserGeometry for QtQuick
...
It's failing. Will fix.
2020-10-10 11:36:16 +01:00
Sergio Martins
d0255e5310
tests: Use DockWidgetType instead of DockWidget
...
Will be easier to enable QtQuick support
2020-10-10 11:24:32 +01:00
Sergio Martins
2a2fb0a4f2
tests: Enable tst_sizeAfterRedock for QtQuick too
2020-10-10 11:18:40 +01:00
Sergio Martins
b0ad939db8
tests: Enable tst_tabbingWithAffinities for QtQuick
2020-10-10 11:18:40 +01:00
Allen Winter
5abf118b8c
Merge branch '1.1'
2020-10-10 05:30:38 -04:00
Allen Winter
f5099167b6
misspelling--
2020-10-10 05:29:08 -04:00
Sergio Martins
30949bd4c3
quick: Fix test, don't leak window
2020-10-09 19:15:55 +01:00
Sergio Martins
63279c187e
quick: Fix QtQuick not reacting to parent change events
...
- We were calling event() directly, which skiped event filters.
- The handler was calling parent(), but the setParent() call is done
later. So first call setParentItem()
2020-10-09 19:09:45 +01:00
Sergio Martins
fad03f8e0b
Debug++
2020-10-09 19:08:51 +01:00
Sergio Martins
6edfcc4f02
Install DragController_p.h
...
Still private. It's for advanced used only.
2020-10-09 17:26:00 +01:00
Sergio Martins
17df7b5b4e
Install DragController_p.h
...
Still private. It's for advanced used only.
2020-10-09 16:56:43 +01:00
Sergio Martins
62cbd823c9
quick: Assert that we're not using this QtWidgets only function
2020-10-08 16:25:29 +01:00
Sergio Martins
bdcc211308
quick: Resize FloatingWindow and it's QWindow immediately
...
So it matches QtWidgets behaviour, otherwise tests will
break a lot if they have to wait for an event loop for FloatingWindow
to be resized
2020-10-08 16:20:12 +01:00
Sergio Martins
ddeb4611a1
quick: Fix an invalid cast to QWidget
...
We don't have QtWidgets in QtQuick.
Will try to fix it at a build-system level so we catch these
cases sooner.
2020-10-08 16:15:56 +01:00
Allen Winter
ad639c8001
CMakeLists.txt - increase version number for 1.2
2020-10-08 09:48:16 -04:00
Sergio Martins
15dc64d550
quick: Fix positioning windows when floating them
...
- Resizing the FloatingWindow wasn't resizing the QQuickView
- QQuickItems were being created as visible, while QWidgets are
created invisible. Fixed this difference in behaviour
2020-10-07 19:43:40 +01:00
Sergio Martins
03b575d16e
quick: Fix MultiSplitter()::mainWindow()
...
Works now for QtQuick
2020-10-06 21:04:25 +01:00
Sergio Martins
4cacee45e8
Export MultiSplitter
...
Has powerful private api which could be useful
2020-10-06 11:03:52 +01:00
Sergio Martins
873b860203
ItemContainer: Make some getters public
...
They're decent private api for some very custom use cases
2020-10-06 10:53:15 +01:00
Sergio Martins
128ae2d889
Fix separators not being deleted
...
Bug found with QtQuick but also reproducible with QtWidgets.
Added unit-test for both stacks.
2020-10-05 18:25:33 +01:00
Sergio Martins
b0ec0e22e4
quick: Remove unused Separator.qml
...
We have one in multisplitter/ already
2020-10-05 17:34:27 +01:00
Sergio Martins
6aa4e979dc
Added DockWidgetBase::hasPreviousDockedLocation()
2020-10-05 13:52:36 +01:00
Sergio Martins
36f225b859
Fix build with MinGW, no pragma link
...
Instead use cmake to link, which is cleaner anyway.
As a drive-by, remove the QtWidget check from the headers includes,
as QtQuick also needs Dwm lib
2020-10-05 03:15:36 -07:00
Sergio Martins
48a75b2450
Fix namespaced build
2020-10-05 10:21:20 +01:00
Sergio Martins
2af4f939dd
tests|quick: Fix leak
2020-10-04 20:37:00 +01:00
Sergio Martins
b592d21064
quick: Also run tst_resizeWindow2 for QtQuick
2020-10-04 20:22:43 +01:00
Sergio Martins
3cdd5afe7a
quick: Fix ownership of the floating view
...
Not nice to delete it in two places.
2020-10-04 20:16:30 +01:00
Sergio Martins
0ef56c1302
quick: Fix the overlay from minimizing windows being dragged
2020-10-04 19:41:26 +01:00
Sergio Martins
96f7f38a0e
tests|quick: Set a source in the view, so we have a root item
2020-10-04 19:39:13 +01:00
Sergio Martins
689ba7da8f
quick: Make dealing with window flags more stable
...
There's only one place where we need to set the flags, it's when
creating the FloatingWindowQuick. So no need to complex machinery
which is bug propne
2020-10-04 11:12:35 +01:00
Sergio Martins
951aeece6e
quick: Make DockWidgetBase::setWidget() virtual
...
The QtQuick counter-part needs to do some specific things, like
settings anchors.parent: fill on it, and parenting it
2020-10-04 00:01:32 +01:00
Sergio Martins
2ea0d54e6c
quick: Fix floating windows not having the correct window flags
...
Add a unit-test too.
2020-10-03 23:30:13 +01:00
Sergio Martins
1c98fe04ca
Fix build
2020-10-03 23:11:40 +01:00
Sergio Martins
59a9ab6642
tests: Remove org.kde.desktop from warning blacklist
...
It's now solved by not using the kde QQC2 style. So no need to polute
the warning list
2020-10-03 23:07:49 +01:00
Sergio Martins
7ee5949ae2
tests|quick: Fix memory leaks
2020-10-03 23:07:04 +01:00
Sergio Martins
721f08e29b
tests: Show the QQuickView and cleanit up
...
Also commit main.qml I forgot
2020-10-03 22:49:27 +01:00
Sergio Martins
df07133c9d
tests: Silence some QML warnings from KDE theme plugin Kirigami
...
We don't want tests to abort because of that
2020-10-03 22:48:28 +01:00
Sergio Martins
b9e3024720
tst_common now passes for QtQuick
...
Needed a view
2020-10-03 22:10:38 +01:00
Sergio Martins
d848d3e39a
MainWindow: Receive either QWidget or QQuickItem as parent
...
No need to receive the more complex adapters
2020-10-03 22:09:56 +01:00
Sergio Martins
3f26f4c8f2
Remove unused variable
2020-10-03 22:09:26 +01:00
Sergio Martins
dc9d709dd7
quick: Use proper icons for close and float
...
No more red rectangles
2020-10-03 18:55:33 +01:00
Sergio Martins
543f734650
Added DragController::enableFallbackMouseGrabber()
...
So it's easier to test the fallback mouse grabber
2020-10-03 18:37:26 +01:00
Sergio Martins
3fb723a82f
quick: Fix QtQuick build
2020-10-03 18:27:22 +01:00
Sergio Martins
71c2f34ed4
quick: Add needed pure virtual FrameQuick::renameTab()
...
Not needed to have much of an impl, it's just to fix the build.
For QtQuick the tab's titles are updated via bindings
2020-10-03 18:15:56 +01:00
Sergio Martins
d4b3bf9de6
quick: Added support for showMinimized()
2020-10-03 18:11:33 +01:00
Sergio Martins
2b234f313c
quick: Remove some QWidget specific code from MainWindowBase
2020-10-03 18:10:23 +01:00
Sergio Martins
d1b2d17f7d
Allow the normal/restore icon to be different than float/dock
...
Allow we use the same icon, the user might now want to, so allow
them to use a different icon
2020-10-03 14:58:07 +01:00
Sergio Martins
f062ab7a64
TitleBar: Move button construction into the FrameWorkWidgetFactory
...
So it can be more easily overridden by the user.
A virtual in TitleBarWidget is not good enough as we can't call virtuals
when in the ctor
2020-10-03 14:52:44 +01:00
Sergio Martins
f009f57581
Move TitleBarButtonType next to all other enums
2020-10-03 14:29:36 +01:00
Sergio Martins
f86a818e69
TitleBar: Add an enum to describe each button type
2020-10-03 14:24:40 +01:00
Sergio Martins
bb80c2158d
Fix outter_bottom_active.png
...
Was missing an outline for some reason
2020-10-03 13:57:32 +01:00
Sergio Martins
86fa6258f6
Comment++
2020-10-03 13:56:51 +01:00
Sergio Martins
545536fab5
Support high-res icons when on 1.5x scaling and Qt >= 5.15.2
...
Icons look nice now on linux with 1.5x. Windows and macOS don't use
fractional scaling, so not affected
Fixes #11
Will open a separate bug report to get high-res docking indicators.
2020-10-03 13:21:06 +01:00
Sergio Martins
ef23553b66
Fix high-res unauto-hide icon
...
We had it but we were still using the old one in C++
2020-10-03 12:04:39 +01:00
Sergio Martins
fcf56664cc
Add high-res icons for minimize and maximize
2020-10-03 11:50:33 +01:00
Sergio Martins
d932166bcd
Add high-res icons for dock/float
2020-10-03 11:43:15 +01:00
Sergio Martins
0c5783774d
Added high-res close icon
2020-10-03 11:38:26 +01:00
Sergio Martins
aa42ea15f7
Add high-res versions for auto-hide and unauto-hide png
...
1.5x is disabled for now, as Qt < 5.15.2 has a rounding bug
rendering them
2020-10-03 11:28:21 +01:00
Sergio Martins
9dd778d55d
Pass the correct icon size when rendering a button
...
Needed when rendering with different scaling
2020-10-03 10:57:54 +01:00
Sergio Martins
ac35a919f4
Don't show center/tab docking indicator when there's no affinity
...
If the dock widget can't dock there as tabbed, don't show the
indicator
2020-10-02 17:35:15 +01:00
Sergio Martins
a32c5017e6
Minor: Remove unneeded variable
2020-10-02 17:24:50 +01:00
Sergio Martins
7995a6d13b
Windows: Fix dragging sometimes not showing indicators
...
DragController thought there was a resize going on.
The hardcoded margins in FloatingWindow::isInDragArea() arent
needed anymore.
iPlease enter the commit message for your changes. Lines starting
2020-10-02 17:05:16 +01:00
Sergio Martins
d4ec2eec88
Windows: Added support for drop shadow for floating windows
2020-10-01 18:31:46 +01:00
Sergio Martins
12ad3b3484
Fix floating window's border, was appearing black
...
QPen was unused
2020-10-01 18:22:07 +01:00
Sergio Martins
9a53c36c14
Also honour affinities when dropping into a dock widget as tabbed
...
Fixes #89
2020-10-01 17:55:19 +01:00
Sergio Martins
8fb3802343
tests: Add an xfail for an affinities bug
...
This is for #89 . They shouldn't be allowed to tab
together since they have different affinities
Minor refactoring in drop area so we can call DropArea::drop()
directly without having to move the mouse, as that's not relevant
for this test.
2020-10-01 17:45:53 +01:00
Sergio Martins
c035df7e85
Improve the heuristics for auto-hide prefered side bar
...
Now it counts the number of borders it's touching to decide.
Then checks aspect ratio too.
Can still be improved, but it's a start. Will gather feedback
before changing it further.
2020-10-01 17:16:41 +01:00
Sergio Martins
92f81e28ca
Merge branch '1.0' into master
2020-10-01 11:08:39 +01:00
Sergio Martins
7a87db608b
README: Updated build instructions
...
use cmake to call the generator, this way it's generic and
works with any generator
2020-10-01 11:07:11 +01:00
Sergio Martins
d42fb81790
Windows: Fix artifacts when dragging window to another screen
...
Qt does its best to honour our custom WM_NCCALCSIZE processing,
except when the window moves to another screen. So help Qt a bit
and trigger a WM_NCCALCSIZE message, which Qt intercepts and takes
notes of the custom margins.
Fixes #46
2020-09-30 22:12:40 +01:00
Sergio Martins
73934e2f90
Always call FloatingWindow::create() in the CTOR
...
0x051000 was a typo, as it's Qt 5.16, not 5.10.
Since it's been running fine for 5.15 for so long, let's remove
special cases and have the same path for all Qt versions.
2020-09-30 22:07:07 +01:00
Allen Winter
1c8642298b
src/private/multisplitter/Item.cpp - fix compile with msvc2013
...
might be choking on the QStringLiteral being a lambda
used into a [] ??
2020-09-30 12:51:02 -04:00
Allen Winter
bfc45bb0e9
tst_multisplitter.cpp - add braces to make msvc2013 happy
...
Change-Id: I562a8b14c9c6713fc15116397b5c215138a0c9cb
2020-09-30 12:50:03 -04:00
Allen Winter
58af9e2516
tst_multisplitter.cpp - add braces to make msvc2013 happy
...
Change-Id: I562a8b14c9c6713fc15116397b5c215138a0c9cb
2020-09-30 09:25:01 -04:00
Sergio Martins
4228c044ea
Fix false-positive caught by Coverity
...
It's benign
2020-09-30 10:58:36 +01:00
Sergio Martins
ccc0aec968
Remove some dead code which is no longer used
2020-09-30 10:39:04 +01:00
Sergio Martins
3718d3fe79
Silence false-positive pointed out by Coverity
2020-09-30 10:33:58 +01:00
Sergio Martins
26ed9b722b
Don't allow to turn off native dragging on Windows
...
Native dragging is much better as Windows deals with crossing screen
boundaries, there's no reason not to want that.
Client-side moving is buggy within Qt, depending on the HDPI setting.
Fixes #86
Fixes #78
2020-09-30 09:01:09 +01:00
Sergio Martins
6751669249
Fix flaky test on 5.14, it's benign
2020-09-29 23:21:36 +01:00
Sergio Martins
c7955dce1e
Update ChangeLog and README
...
1.1 is due out soon, won't have QtQuick yetx
2020-09-29 21:10:47 +01:00
Sergio Martins
2e432f402f
Also update floating action when removing from a FloatingWindow
...
Fixes #79
2020-09-29 21:05:45 +01:00
Sergio Martins
07791cd901
Fix another case where floating actions weren't updated
...
Relates to issue #79
2020-09-29 20:50:02 +01:00
Sergio Martins
1458da92d9
minimal example: Use fusion too
...
Looks better in general
2020-09-29 18:10:12 +01:00
Sergio Martins
c56f998292
Use Qt::MitterJoin when drawing rectangle
...
As it's not the default. Otherwise there's artifacts with hdpi scaling
2020-09-29 13:38:44 +01:00
Sergio Martins
991075d69e
Windows: Start a native drag as soon as possible
...
Native drag works much better with HDPI crossing screens.
Relates to issue #78
2020-09-29 12:39:10 +01:00
Sergio Martins
234ca75728
tests: minor: Use QCOMPARE instead of QVERIFY
2020-09-28 22:10:00 +01:00
Allen Winter
e34d62d3e5
src/private/multisplitter/Item.cpp - fix compile with msvc2013
...
might be choking on the QStringLiteral being a lambda
used into a [] ??
2020-09-28 16:49:59 -04:00
Allen Winter
423be28afd
various - misspelling--
2020-09-28 16:40:27 -04:00
Sergio Martins
eb7bed9601
Fix build with -Werror
2020-09-28 19:00:40 +01:00
Sergio Martins
fa09521012
Adjust unit-test, according to the latest change
2020-09-28 18:55:55 +01:00
Sergio Martins
bb30f322a3
Fix size when docking a floating window
...
The docked widget would have the size of the window's contents,
we should use the size of the floating window instead.
The difference is just the title bar. When docked, the title bar
belongs do Frame, while when Floating it belongs to FloatingWindow.
When doing the docking calculation the frame's title bar is still hidden
Fixes issue #84
2020-09-28 18:47:46 +01:00
Sergio Martins
0e35c93ae5
Update ChangeLog
2020-09-27 18:02:56 +01:00
Sergio Martins
603224e553
FrameWidget: Fix painting the border on HDPI
...
Work in floating point instead of int.
2020-09-27 18:00:15 +01:00
Sergio Martins
9b82063d52
Fix drawing the FloatingWindowWidget border on HDPI
...
left and top margins were smaller than bottom and right.
2020-09-27 17:49:29 +01:00
Sergio Martins
c210a523e3
Focus the newly dropped dock widget
...
When we drag a dock widget into a another widget, we should focus it
Fixes issue #77
2020-09-26 17:44:30 +01:00
Sergio Martins
e33151d482
Add a failing test for issue #77
2020-09-26 17:15:46 +01:00
Sergio Martins
835f67a106
Mark DropArea::drop() as private
...
It's an implementation detail
2020-09-26 17:08:23 +01:00
Sergio Martins
a50f6ec602
Added DockWidgetBase::isFocused Q_PROPERTY
...
For GammaRay convenience. For QML too.
The getter and signal already existed.
For issue #73
2020-09-25 19:35:28 +01:00
Sergio Martins
4a49dbc6b4
Add a DockWidget::isFloatingChanged() signal
...
For issue #73
2020-09-25 19:25:58 +01:00
Sergio Martins
05c843397b
Add one more test
...
tabbed dock widget aren't floating either
2020-09-25 18:32:06 +01:00
Sergio Martins
e4871eb340
Fix floating action not being triggered in some cases
...
When docking a dock widget into a floating widget, then both
are not "floating" anymore, as there's two of them in the layout
Fixes #79
2020-09-25 18:28:32 +01:00
Sergio Martins
0e696ff2dd
FloatingWindow: Also use margin when using aero-snap
...
It's always good to have contents margin. Initially the idea was
that we were adding margin just to make the client resize handler
work better. But no reason to have different visual aspect depending
on if you have aero-snap or not
Fixes applications needing to look the same on all platforms.
2020-09-25 11:23:03 +01:00
Sergio Martins
9f15773a9b
Fix dragging by tabbar if there's a line edit in the tab bar
...
User was able to drag and line edit wouldn't get focus.
This is a hot fix, not the most elegant way to do it.
2020-09-25 11:02:35 +01:00
Sergio Martins
a00984f95a
Fix potential crash at shutdown
...
QWidget DTOR can trigger a focus change, which triggers
DockRegistry::onFocusObjectChanged(), which would dereference the
dockwidget
2020-09-24 16:05:38 +01:00
Allen Winter
c7e9632f18
src/MainWindow.cpp - minor header order
2020-09-22 11:22:40 -04:00
Sergio Martins
7080712501
Rename the tab's title if its dock widget changes
2020-09-21 16:19:35 +01:00
Sergio Martins
03b574434c
Fix non-developer build
...
Fixes #76
2020-09-21 10:07:04 +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
7e52c510b3
Fix rendering vertical sidebars on scaled monitors
2020-09-21 00:14:09 +01:00
Sergio Martins
9bf060af9a
SideBar: Support sending to West/East too
...
Algorithm can be made smarter, but this is good for now
2020-09-20 23:53:26 +01:00
Sergio Martins
b5973fcf8c
Fix sidebar test
...
We're not hidding them, they just occupy 0 it seems
2020-09-20 23:50:46 +01:00
Sergio Martins
ac7d06d4fe
When closing overlay, remove it from side bar too
...
Added test.
2020-09-20 23:46:37 +01:00
Sergio Martins
75e9137e3a
Increase a bit the side of the overlays
2020-09-20 23:18:46 +01:00
Sergio Martins
5168940422
When enabling auto-hide, don't overlay it immediately
...
Instead, hide it. Will be overlayed when the user toggles it.
2020-09-20 23:16:40 +01:00
Sergio Martins
cfd2dafa53
Remove bogus debug
2020-09-20 23:15:01 +01:00
Sergio Martins
188b0a0edd
Don't style side-bar buttons of overlayed widgets
...
As mouse-over is already using the same color. Would be nice
to have some different style for the currently overlayed window.
2020-09-20 23:09:33 +01:00
Sergio Martins
206c418ebc
Make TitleBarWidget::buttonAreaWidth() generic
...
Nowadays we have much more buttons
2020-09-20 22:59:25 +01:00
Sergio Martins
b0acf8d1ae
Disable floating button when using auto-hide
...
TitleBar is a bit crowded otherwise. User can still pass
& ~Flag_TitleBarNoFloatButton if he really wants both buttons.
2020-09-20 22:54:51 +01:00
Sergio Martins
f279ea41e6
Add tooltips to title bar buttons
2020-09-20 22:43:10 +01:00
Sergio Martins
d2a929f35d
Minor whitespace fix
2020-09-20 22:26:51 +01:00
Sergio Martins
6f5258b5dd
Add auto-hide iconsz
2020-09-20 22:25:56 +01:00
Sergio Martins
4f223a9439
Change color of active/hovered SideBarButton
2020-09-20 20:59:54 +01:00
Sergio Martins
ea98eb3d44
Restyle the StyleBarButtons a bit
2020-09-20 20:30:40 +01:00
Sergio Martins
cdb8f85620
Fix overlay positions when on left/right
...
Was off by a few pixels, looks good now
2020-09-20 19:37:53 +01:00
Sergio Martins
f459dcb8b3
length of overlayed dockwidgets now accounts for open sidebars
...
For example, if we're showing a bottom overlay, but the left
sidebar is visible, then the bottom overlay can't be so wide
2020-09-20 19:20:35 +01:00
Sergio Martins
967a539e71
Simplify SideBarButton::sizeHint()
2020-09-20 19:08:52 +01:00
Sergio Martins
db615da0ee
Override from QToolButton to have our own SideBarButton
...
Has proper size when vertical.
Text isn't vertical yet though.
2020-09-20 19:06:47 +01:00
Sergio Martins
c4b420bd31
Add a fwd-header for SideBarWidget too
2020-09-20 18:09:54 +01:00
Sergio Martins
a6c4730c44
SideBar is now constructed by the framework widget factory
...
Means it can be overridden by the user
2020-09-20 18:08:23 +01:00
Sergio Martins
eb1f4c5a14
Auto-hide overlays when clicking elsewhere
...
That's what auto-hide is all about
2020-09-20 17:25:40 +01:00
Sergio Martins
b303af738c
Improve position for north/south overlays
2020-09-20 16:56:57 +01:00
Sergio Martins
af5e11a265
Update the overlay's geometry when we resize the main window
2020-09-20 16:38:03 +01:00
Sergio Martins
8d7627069c
Factor out some code into updateOverlayGeometry()
...
So it's reusable
2020-09-20 16:30:43 +01:00
Sergio Martins
9e94c0d67d
The auto-hide button now works as expected
...
1st click it show the overlay and adds to sidebar
2nd click it hides the overlay, removes from sidebar and restores the dockwidget
2020-09-20 14:13:39 +01:00
Sergio Martins
55ddacf978
Partially revert previous commit
...
toggling overlay visibility won't remove it from the sidebar afterall.
User will need to explicitly press the auto-hide button
2020-09-20 13:56:52 +01:00
Sergio Martins
005e0552b6
Delete SideBarButton when dock widget is removed from sidebar
2020-09-20 13:53:49 +01:00
Sergio Martins
54b28c42e2
Added DockWidgetBase::isOverlayed()
2020-09-20 13:48:17 +01:00
Sergio Martins
2659ddb76b
refactor: Decouple moveToSideBar from overlaying
...
overlaying just shows/hides the overlay, and not requires
the dock widget was added to the sidebar before
2020-09-20 13:44:04 +01:00
Sergio Martins
c85873c6ce
Added MainWindowBase::sideBarForDockWidget(dw)
...
Just a getter.
2020-09-20 13:24:18 +01:00
Sergio Martins
6e32f3f915
Added SideBar::mainWindow()
...
It's just a getter.
2020-09-20 13:18:34 +01:00
Sergio Martins
b8891a5727
Start implementing overlaying on top of main window
2020-09-20 12:56:31 +01:00
Sergio Martins
fcb6f5a6af
Use the top sidebar too
2020-09-19 12:16:51 +01:00
Sergio Martins
0365f3194d
Added Item::adjacentLayoutBorders()
2020-09-19 11:50:00 +01:00
Sergio Martins
76e2ec6429
Add East, West and North sidebars too
...
Instead of just south.
Only south is used for now though.
2020-09-19 11:00:42 +01:00
Sergio Martins
a5d0a202a5
Add enum with sidebar location
2020-09-19 10:35:36 +01:00
Sergio Martins
def752632f
tests: fix flaky test on macOS
2020-09-19 00:08:47 +01:00
Sergio Martins
f296048063
tests: Stabilize two tests on XCB
...
Spacings/margins are different. Anyway, that QVERIFY isn't
very important, mostly useless.
2020-09-18 23:44:34 +01:00
Sergio Martins
1c1b816292
Fix tst_maximumSizePolicy with qpa xcb
2020-09-18 23:28:14 +01:00
Sergio Martins
fbd463e18b
tests: debug++
2020-09-18 19:42:26 +01:00
Sergio Martins
9e01363648
tests: debug++
2020-09-18 19:40:37 +01:00
Sergio Martins
67bf7e9775
tst_raise: raise the window before starting
...
needed on macOS
2020-09-18 19:34:09 +01:00
Sergio Martins
d8c2100b24
tests: Set object name for debugging
2020-09-18 19:30:28 +01:00
Sergio Martins
d1a3e39f17
tests: Improve debug message
2020-09-18 19:27:17 +01:00
Sergio Martins
3d5c081333
tests: Debugging a macOS failure
2020-09-18 19:24:49 +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
c294c19be7
Fix Frame having a null DropArea
...
Fixes inMainWindow() signal not being emitted sometimes
2020-09-18 18:34:49 +01:00
Sergio Martins
87726fb0a7
Minor style: Reduce nesting level in Frame::setDropArea()
2020-09-18 18:34:28 +01:00
Sergio Martins
d28e61f412
Minor tidying
2020-09-18 17:48:31 +01:00
Sergio Martins
890e750c23
Trying to fix Windows/MinGW build
2020-09-18 17:48:04 +01:00
Sergio Martins
1fe5cfd121
Added Frame::mainWindow()
2020-09-18 17:40:38 +01:00
Sergio Martins
c8eaf88cf1
Added DockWidgetBase::mainWindow()
2020-09-18 17:20:41 +01:00
Sergio Martins
f3f812205d
Pass the new title to DockWidget::titleChanged() signal
2020-09-18 17:12:38 +01:00
Sergio Martins
7b2ec52831
Fix build on 5.9/mingw
2020-09-18 16:59:01 +01:00
Sergio Martins
72785cf869
Updated ChangeLog and README with new features and bugfixes
2020-09-17 21:54:36 +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
deec6ffa31
Windows: Fix windows have 0 min-size
...
Also tested on HDPI configurations and added the device pixel ratio
into account, as Windows works in native pixels
2020-09-17 18:37:13 +01:00
Sergio Martins
47779c8d0a
Fix non-native move screwing up the size when moving across screens
...
The drag to the 2nd monitor was native, as we detected HTCAPTION,
but the drag back to 1st monitor was non-native. Non native is not
recommended, not great with HDPI in Qt.
The bug we were mixing native pos from win32 with Qt's logical
positions.
Fixes #72
2020-09-17 09:43:38 +01:00
Allen Winter
3e9e802b6c
buildsystem - do not build docs by default
2020-09-16 16:04:18 -04:00
Allen Winter
8bd429db4c
buildsystem - do not build docs by default
2020-09-16 16:03:31 -04:00
Sergio Martins
d76b27863f
Don't center floating window if user moved it
...
Fixes #75
2020-09-16 16:51:05 +01:00
Sergio Martins
576627eb17
Always outter indicators if the center is obscured with something else
...
If there's some other floating window over our drop zone, then it's
very difficult to drop if there's no outter indicators.
Now we'll show the outter indicators if we suspect there's some other
window obscuring
2020-09-16 12:54:09 +01:00
Sergio Martins
74adb5f021
Fix floating window's title bar not being correct
...
FloatingWindow::hasSingleFrame() was true, but FloatingWindow::frames()
returned 2 of them, since frames() is based on child count and it hadn't
been reparented yet
Not commiting to 1.0 since it touches the layouting engine.
All tests pass and testing showed no side effects though, so should be fine for
1.0 too
Fixes #74
2020-09-15 19:52:48 +01:00
Allen Winter
dcdcef1fb2
Merge branch '1.0'
2020-09-15 08:45:20 -04:00
Allen Winter
cf7311682e
images - add svg version of logo. update other png's
2020-09-15 08:44:37 -04:00
Sergio Martins
beb2128804
example: Added --no-aero-snap for debugging purposes
2020-09-14 22:28:15 +01:00
Sergio Martins
85cb289bc4
Also focus when clicking on the current tab
...
Fixes issue #71
2020-09-14 21:08:48 +01:00
Sergio Martins
5293943a50
Add TabBar::frame()
...
Returns the Frame this TabBar is in.
2020-09-14 21:07:51 +01:00
Sergio Martins
ee4d720c51
Added test for issue #71
2020-09-14 20:54:35 +01:00
Allen Winter
f8b698e669
Merge branch '1.0'
2020-09-13 09:41:53 -04:00
Allen Winter
0e3fcc7749
update home page URL
2020-09-13 09:29:36 -04:00
Allen Winter
5755e5ff65
Doxygen - add product logo to page header and footer
2020-09-13 09:16:23 -04:00
Allen Winter
d9db3d0b29
images - add logo and banner images
2020-09-13 09:14:04 -04: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
a2054359a2
Minor code move, so next diff is short
2020-09-13 12:48:25 +01:00
Sergio Martins
85b533d4c4
Minor code move
2020-09-13 12:47:04 +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
62271b11a7
Update .gitignore
2020-09-13 12:12:13 +01:00
Sergio Martins
869cacc568
Use mouse events for tst_titleBarFocusedWhenTabsChange
...
So we can test clicking on a current tab too.
Also since changing tabs programatically shouldn't change focus,
which I'll fix soon
2020-09-12 00:39:10 +01:00
Sergio Martins
0155790b02
tests: add Test::clickOn()
2020-09-12 00:33:34 +01:00
Sergio Martins
2cb25fefe4
Minor: Add the tab widget as a member
2020-09-11 23:40:41 +01:00
Sergio Martins
98225ac9a3
Fix DockWidget::isInMainWindow()
...
FloatingWindows are parented to the main window, so we need to stop
the loop once isWindow().
The tests didn't catch this because the floating window in the test
was created before the main window, so it truly didn't have a parent
Fixes #69
2020-09-11 22:33:25 +01:00
Sergio Martins
4bdfc35c8c
Changing tabs should also activate our focus scope
...
Fixes #70
2020-09-09 21:03:00 +01:00
Sergio Martins
f090a51485
example: Make title bar focusable when debugging focus
2020-09-07 20:26:09 +01:00
Sergio Martins
b510c2fd5f
Added DockWidget::isInMainWindow()
...
For task #69 .
A signal would be nice too, though.
2020-09-07 15:27:54 +01:00
Sergio Martins
03e58c7443
update change log regarding issue #68
2020-09-04 17:17:23 +01:00
Sergio Martins
676086ba90
Update .gitignore
2020-09-04 17:17:23 +01:00
Sergio Martins
4f6b9e3dff
update change log regarding issue #68
2020-09-04 17:16:00 +01:00
Allen Winter
c8a5bd3f15
.../quick/qml/ClassicIndicator.qml - license+copyright header
2020-09-04 12:15:31 -04:00
Sergio Martins
5e83ddf7bd
Update .gitignore
2020-09-04 17:13:58 +01:00
Sergio Martins
6b28a804f8
example: Allow to demo the focus scope
...
set KDDW_DEBUG_FOCUS
2020-09-04 17:06:32 +01:00
Allen Winter
7c5e159677
Merge branch '1.0'
2020-09-03 18:55:08 -04:00
Allen Winter
63f8468f48
cmake/Python - don't require pkg-config, only use if available.
...
Issue#68
2020-09-03 18:14:14 -04:00
Allen Winter
933a535494
Merge branch '1.0'
2020-09-03 08:08:55 -04:00
Allen Winter
518a7cb398
Changelog - fix typo
2020-09-03 08:08:14 -04:00
Allen Winter
eac2cff09c
Merge branch '1.0'
2020-09-03 08:07:47 -04:00
Allen Winter
9a601a5172
CMakeLists.txt, Changelog - bump to 1.0.1
2020-09-03 08:06:12 -04:00
Allen Winter
cf8f25988c
Merge branch '1.0'
2020-09-03 07:58:52 -04:00
Allen Winter
a613e401e2
ready for 1.0.0 release
2020-09-02 12:29:58 -04:00
Sergio Martins
23e27ee953
Add 1.0 release date to the ChangeLog
2020-09-02 17:27:51 +01:00
Allen Winter
633dc06e6f
Merge branch '1.0'
2020-09-02 11:54:06 -04:00
Allen Winter
5ddf0ada76
Changelog - reorder versions
2020-09-02 11:50:53 -04:00
Allen Winter
c8664c4d44
cmake/Python/* - sync with the KDAB toolbox
2020-09-02 11:11:29 -04:00
Allen Winter
d6d28b3f7b
src/DockWidgetBase.h - minor spelling fixes
2020-09-02 11:11:06 -04:00
Allen Winter
eddcfef5d8
Merge branch '1.0'
2020-08-31 18:19:44 -04:00
Allen Winter
737d63eede
CMakeLists.txt - document PYTHON_BINDINGS_INSTALL_PREFIX
2020-08-31 18:19:20 -04:00
Allen Winter
ba3890acfa
Merge branch '1.0'
2020-08-31 13:22:24 -04:00
Allen Winter
9e8353f50f
cmake/Python/PySide2ModuleBuild.cmake - another fix for Mac
2020-08-31 12:11:33 -04:00
Renato Araujo Oliveira Filho
2db4398637
Python/PySide2ModuleBuild.cmake - fix for Windows build
2020-08-31 11:19:04 -04:00
Allen Winter
1348434b50
docs/api/Doxyfile.cmake - remove CLANG options
...
to quiet the doxygen warnings:
"belongs to an option that was not enabled at compile time."
2020-08-31 11:15:47 -04:00
Sergio Martins
6cf527403e
Merge branch '1.0' into master
2020-08-30 17:53:04 +01:00
Sergio Martins
92843b4972
Merge branch '1.0' into master
2020-08-30 14:46:28 +01:00
Allen Winter
b2df16dcb0
Merge branch '1.0'
2020-08-27 12:23:38 -04:00
Sergio Martins
8bb15f5447
Updated ChangeLog
2020-08-27 15:30:17 +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
04e2a71b66
Merge branch '1.0' into master
2020-08-25 22:00:25 +01:00
Sergio Martins
a06fec51c8
Merge branch '1.0' into master
2020-08-25 21:54:32 +01:00
Sergio Martins
83eda81263
Minor code simplification
2020-08-24 17:58:42 +01:00
Sergio Martins
1bb476ca95
Merge branch '1.0' into master
2020-08-24 14:38:06 +01:00
Sergio Martins
f0ac455ec1
Allow the window being dragged to be transparent
2020-08-23 17:44:57 +01:00
Sergio Martins
44b2fc6944
indicators: Improve style for segmented indicators
2020-08-23 17:23:37 +01:00
Sergio Martins
113e6453ea
example: Show usage of segmented indicators
2020-08-23 16:57:48 +01:00
Sergio Martins
283d814dc6
indicators: Also install the headers
...
So that the example app can show how to switch style type
2020-08-23 16:43:54 +01:00
Sergio Martins
034dc25483
indicators: Remove type()
...
There's no point in using it
2020-08-23 16:22:21 +01:00
Sergio Martins
b1333b2c4c
ChangeLog: Update the changelog for 1.1
2020-08-23 13:52:16 +01:00
Sergio Martins
ff58ff72f9
Merge branch '1.0' into master
2020-08-23 13:47:52 +01:00
Sergio Martins
00b4dbc821
Add a Segmented Indicator
...
Just a POC of a new indicator style
2020-08-23 13:24:27 +01:00
Sergio Martins
35076bbdb6
indicators: Update the indicator's visibility in the base class
...
So derived classes don't have to.
Doesn't affect ClassicIndicators, since it uses a separate
window for them. But useful for new indicator types.
2020-08-22 19:58:45 +01:00
Sergio Martins
2dc98804f4
qml|indicators: Use frame geometry instead of frame rect
...
The rect is always at 0,0, not very useful.
2020-08-22 19:53:20 +01:00
Sergio Martins
961600fe74
qtquick: fix build
...
MainWindow.h is specific to QtWidgets
2020-08-22 19:19:59 +01:00
Sergio Martins
7fdca76a4c
indicators: Use enum class for the type
2020-08-22 19:16:24 +01:00
Sergio Martins
32592f6ad1
classic indicators: Remove unneeded hidding in ctor
...
Already done in base class
2020-08-22 19:13:26 +01:00
Sergio Martins
1545e98e6d
Merge branch '1.0' into master
2020-08-22 18:58:42 +01:00
Allen Winter
85b3feb10b
Merge branch '1.0'
2020-08-15 10:15:26 -04:00
Sergio Martins
d9fdd20caa
Add DockWidgetBase::isFocusedChanged
...
Fixes : #60
2020-08-15 00:46:41 +01:00
Sergio Martins
9e2d001ac5
Add DockWidget::isFocused() for issue #60
...
Needs a signal now
2020-08-14 23:51:35 +01:00
Sergio Martins
750f9b6142
tests: Add strong-focus to the widget
2020-08-14 23:00:14 +01:00
Sergio Martins
1c3cf8cf2d
Merge branch '1.0' into master
2020-08-14 18:47:42 +01:00
Sergio Martins
db19cb40d7
Merge branch '1.0' into master
2020-08-14 18:30:00 +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
caa2ece751
qml: Move the 1st test from tst_docks to tst_common
2020-08-13 00:46:55 +01:00
Sergio Martins
22f2975f3c
tests: createMainWindow() works for qml now too
2020-08-13 00:46:55 +01:00
Sergio Martins
d3323d824a
tests: Make createMainWindow return MainWindowBase
...
Instead of QMainWindow, so it works with qml too
2020-08-13 00:46:55 +01:00
Allen Winter
41d1ea8f61
various fixes for the OBS config
2020-08-12 18:07:40 -04:00
Sergio Martins
1e85b1e7fb
tests: Share EnsureTopLevelsDeleted with qml too
...
So we can start to copy tests to tst_common without hacking them
2020-08-12 22:45:59 +01:00
Sergio Martins
75464708af
Remove unneeded debug
2020-08-12 22:00:23 +01:00
Sergio Martins
f007451442
Fix case where floatAction() wouldn't trigger
...
Fixes #58
2020-08-12 21:21:04 +01:00
Allen Winter
f591270d46
CMakeLists.txt - increase numbers. this will be v1.1 some day
2020-08-12 13:00:35 -04:00
Allen Winter
390423d0c1
Merge branch '1.0'
2020-08-12 12:59:09 -04:00
Sergio Martins
1aed8c7429
Merge branch '1.0' into master
2020-08-12 11:09:06 +01:00
Sergio Martins
0aee56114b
qml: Dropping a dragged window now works
2020-08-11 23:40:07 +01:00
Sergio Martins
b3ec7423e8
qml: The inner indicators are now centered
2020-08-11 22:19:51 +01:00
Sergio Martins
179cd4cf45
qml: Add properties for outter/inner indicators visibility
2020-08-11 22:19:51 +01:00
Sergio Martins
75d26c3cce
qml: Draw the inner indicators too
2020-08-11 22:19:51 +01:00
Allen Winter
9071664ef2
.../ClassicIndicatorsOverlay.qml - copyright+license header
2020-08-11 08:14:00 -04:00
Sergio Martins
1980f9c42c
qml: Fix namespaced build
2020-08-11 09:59:25 +01:00
Sergio Martins
2c917dcd7c
qml: Show 4 proper indicators when dragging in a floating window
...
They don't do much yet, but at least appear.
2020-08-11 01:35:28 +01:00
Allen Winter
5ccf15b9ed
Merge branch '1.0'
2020-08-10 17:07:05 -04:00
Sergio Martins
7eaac87640
qml: Add a ClassicIndicatorsOverlay.qml file
...
Doesn't do much yet
2020-08-10 19:05:59 +01:00
Sergio Martins
5b9f08c754
Remove mapTo/From global from Layouting::Widget
...
Use the ones from QWidgetAdapter instead
2020-08-10 19:05:02 +01:00
Sergio Martins
02c165163a
DragController: Use the geometry of the QWindow
...
While this works fine for QtWidgets, where the geometry of the
top-level QWidget is the same as the QWindow, it doesn't work
for QtQuick, where the geometry of the root item starts at 0,0
2020-08-10 19:03:15 +01:00
Sergio Martins
4bbc0f1d4f
qml: Create drop indicator overlay too
...
The actual impl isn't done yet though
2020-08-09 22:45:15 +01:00
Sergio Martins
cf692797b6
qml: ClassicIndicators are now abstracted and built
...
The QtQuick counterpart just needs to be implemented
2020-08-09 20:27:05 +01:00
Sergio Martins
0e4ec055b2
Remove unused function
2020-08-09 20:05:38 +01:00
Sergio Martins
cf7c25cd88
Remove old cruft "rubberBandIsTopLevel" which we don't use
2020-08-09 19:23:52 +01:00
Sergio Martins
60b5eb00a3
Move IndicatorWindow to its own file
...
As it's the part that will be different with QtQuick.
ClassicIndicators can be shared.
2020-08-09 19:19:31 +01:00
Sergio Martins
0705b4da72
qml: Make Indicator class a implementation detail of QtWidgets
...
No longer accessed by ClassicIndicators
2020-08-09 18:57:23 +01:00
Sergio Martins
09b3e685a9
IndicatorWindow: Make some members private
2020-08-09 18:53:30 +01:00
Sergio Martins
64791eec82
qml: decouple ClassicIndicator from QRubberBand
...
the rubber band is now returned from the factory, meaning it can
be a QQuickItem when QtQuick is being used
Still need to remove the QtWidget'isms from IndicatorWindow
though
2020-08-09 18:39:56 +01:00
Sergio Martins
dc3aa354ec
Minor code styling: Remove unneeded indentation
2020-08-09 18:13:23 +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
0b4c017f22
qml: Add subs regarding focus
2020-08-08 17:34:06 +01:00
Sergio Martins
6de558773f
Merge branch '1.0' into master
2020-08-08 17:33:53 +01:00
Sergio Martins
94258abf43
Decouple title bar icon from tab bar icon
...
You can now use different icons, or even just set an icon for the
title bar but not tab bar
Fixes #57
2020-08-08 14:05:42 +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