240 lines
13 KiB
Plaintext
240 lines
13 KiB
Plaintext
* v2.2.3
|
|
- Fix potential crash found by ASAN
|
|
|
|
* v2.2.2
|
|
- Fix submodule url. Changed from SSH to HTTPS. This is only important for
|
|
people cloning from a git tag. v2.2.1 tarball is identical otherwise.
|
|
|
|
* v2.2.1
|
|
- Fix linking against static KDDW (#557)
|
|
|
|
* v2.2.0
|
|
- qtquick: Add support for MainWindowOption_HasCentralWidget
|
|
- qtquick: Add QtQuick::FloatingWindow::setQuickWindowCreationCallback
|
|
- Add Config::setDockWidgetTabIndexOverrideFunc() (#165)
|
|
- Allow to redock back to a floating window (#280)
|
|
- Add KDDockWidgets::controllersToViews (#526)
|
|
- Add Config::setTabsAtBottom()
|
|
- Fix case where persistent central widget would detach when dragged
|
|
- Fix windows having transparency when drop indicators inhibited
|
|
- Fix case where persistent central widget would detach when dragged
|
|
- Allow to build against external KDBindings
|
|
- Fix restore layout of nested main windows (#508)
|
|
- Fix restore maximized window corner case (#553)
|
|
|
|
* v2.1.0 (08 May 2024)
|
|
- Added standalone layouting example using Slint
|
|
- Fixed DPI of icons in TitleBar.qml Looks better when using 150% and 200% scalling now.
|
|
- QtQuick: Fixed redock not working when mixing MDI with docking
|
|
- QtQuick: Allow to mix MDI with docking, as already done with QtWidgets
|
|
- QtQuick: Fixed MDI widgets not raising when clicked on
|
|
- QtQuick: Added API to set affinities via QML (#465)
|
|
- MDI: Don't show resize handles if widget is fixed size
|
|
- MDI: Fixed mouse cursor not being restored when dock widgets were overlapping
|
|
- MDI: Added Config::setMDIFlags() and MDIFlag_NoClickToRaise
|
|
- QtWidgets: Introduced MainWindowOption_QDockWidgets and MainWindowOption_ManualInit
|
|
- QtWidgets: Honours overriding DockWidget::closeEvent() to prevent closing
|
|
- QtWidgets: Fixed crash when unpinning a window
|
|
- Fix crash when doing sequential open() and close() calls (#326)
|
|
- Fix double-clicking the guest widget would make window float
|
|
- 3rdparty: Update to nlohmann json v3.11.3, from v3.10.5. Only relevant if you're not using
|
|
system nlohmann.
|
|
- Fixed dock widget float button when using main window nesting
|
|
- Fixed auto-hide overlay not updating its position when main window was resized
|
|
- Fixed double-click on titlebar not floating it if auto-hide flag was enabled
|
|
- Added Config::setLayoutSpacing(int)
|
|
- LayoutSaverOption::Skip now honours docked dock widgets
|
|
- Fixed DockWidget::addDockWidgetToContainingWindow() when using nested main windows (#386)
|
|
|
|
* v2.0.0 (05 December 2023)
|
|
- Architecture rewrite to support more frontends besides QtWidgets and QtQuick.
|
|
2.0 isn't very interesting for users, but will allow developers to make KDDW
|
|
support other GUI frameworks more easily. Also QtQuick is now better integrated,
|
|
without being shoehorned with ifdefs into the QtWidgets implementation.
|
|
- Split into a view/controller architecture
|
|
- Non-gui logic moved to controllers
|
|
- Each controller has a gui counter part, implemented for each supported frontend
|
|
- Uses nlohmann JSON library (MIT) instead of QJsonDocument, for saving/restoring layouts
|
|
- Added Config::setStartDragDistance()
|
|
- Removed Config::setTabbingAllowedFunc() which was already deprecated in favor of Config::setDropIndicatorAllowedFunc()
|
|
- Slint and Flutter WIP. Waiting for these frameworks to support multi-window before finishing.
|
|
- Blacklisted Qt 6.6.1 and 6.5.3 on Windows due to QTBUG-117704
|
|
|
|
* v1.7.1 (unreleased)
|
|
- Fixed pin button appearing by mistake when using Flag_TitleBarNoFloatButton (#359)
|
|
- Added Config::Flag_AutoHideAsTabGroups, which allows all tabs to go to/from sidebar at once.
|
|
- Fixed resize gap of auto-hide overlay resize on its left border
|
|
- Blacklisted Qt 6.6.1 and 6.5.3 on Windows due to QTBUG-117704
|
|
|
|
* v1.7.0 (03 May 2023)
|
|
- Introduce DockWidget::setFloatingWindowFlags(flags). Allows for different
|
|
FloatingWindows to have different window flags. For example, some having
|
|
Qt::Tool while others having Qt::Window (#314).
|
|
- Fixed fixed-sized windows being able to be resized on Windows (#345)
|
|
- Allow restoring layouts without touching floating dock widgets
|
|
- Fix setDropIndicatorsInhibited(false) not showing drop indicators (#334, #337)
|
|
- Fix relayouting when dock widget is deleted directly (#336)
|
|
- Minor performance improvement: Cache TitleBar icons
|
|
- Save side bar overlay geometry when frame is resized
|
|
- Fixed case of corrupt layout when using setDockWidgetFactoryFunc()
|
|
- Fix layout scaling factor when main window is native
|
|
- Fix moving floating windows to negative positions (#321)
|
|
- Fixed using normal geometry of platform window if fractional scaling is enabled
|
|
- Allow to specify Qt::Tool or Qt::Window per floating window
|
|
|
|
* v1.6.0 (14 September 2022)
|
|
- Minimum Qt6 version is now 6.2.0
|
|
- Minimum CMake version is now 3.12.0
|
|
- Fixed restoring of normal geometry when closing a maximized window (#259)
|
|
- Experimental support for docking into dock widgets which are in a MDI area.
|
|
- Fixed potential crash involving infinite loop between QWidget::create() and QWidget::createWinId()
|
|
- Moved DropIndicatorOverlayInterface::DropLocation enum to KDDockWidgets namespace scope
|
|
- Added Config::setDropIndicatorAllowedFunc() and corresponding example
|
|
(kddockwidgets_example --hide-certain-docking-indicators)
|
|
- Fixed case where unfloating wouldn't restore to the main window (#44 and #96)
|
|
- Fixed MainWindow not propagating close events to docked widgets
|
|
- X11: Improved detecting which window is under the cursor, by using native X11 API
|
|
- X11: Fixed dragging a maximized floating window. Its size is now restored to normal size when the drag starts.
|
|
- Added DockWidgetBase::currentTabIndex()
|
|
- Added InitialVisibilityOption::PreserveCurrentTab
|
|
- Added MainWindow::internalLayout() for advanced customization
|
|
|
|
* v1.5.0 (24 November 2021)
|
|
- Install the Python bindings to "site-packages"
|
|
- The Python bindings for Qt6 use the "PyKDDockWidgetsQt6" namespace
|
|
- Co-installable with Qt6
|
|
- Adds support for non-detachable central widget, MainWindowOption_HasCentralWidget. (#225)
|
|
- Fix corrupt layout when restoring old JSON
|
|
- Fix "Unpin" button not showing up in overlayed widgets
|
|
- Minimum Qt version is now 5.15
|
|
|
|
* v1.4.0 (16 July 2021)
|
|
- No longer supports Qt versions less than 5.12
|
|
- Experimental MDI support. By using MainWindowMDI you can now have "docked" dock widgets
|
|
which are free to be arbitrarily positioned and even overlapped inside the main window.
|
|
- TitleBar's height is now controlled by sizeHint() instead of hardcoded.
|
|
If you haven't overridden TitleBar or just inheriting from TitleBarWidget then there's nothing to do,
|
|
as TitleBarWidget already reimplements sizeHint. If you're inheriting directly from TitleBar then make
|
|
sure to provide a sizeHint.
|
|
- Added MainWindow::closeDockWidgets()
|
|
- Fixed crash in MainWindow::layoutEqually()
|
|
- QtQuick: Added more declarative API
|
|
- FloatingWindow now honours the dockwidget's max-size, if there's a single
|
|
dock widget docked. Tabbed cases are more difficult since QStackedLayout doesn't
|
|
propagate size constraints.
|
|
- Added MainWindowBase::groupCountChanged()
|
|
- Introduced Config::setDropIndicatorsInhibited(), which allows you to disable support
|
|
for drop indicators while dragging.
|
|
- Fixed embedding the main window into a non-kddw main window (#204, #168)
|
|
- Fixed crash with an MFC application
|
|
- Allows to disable translucency via the KDDW_NO_TRANSLUCENCY env var, useful
|
|
in case running on weird Window Managers.
|
|
- Added Flag_ShowButtonsOnTabBarIfTitleBarHidden, which can be used when using Flag_HideTitleBarWhenTabsVisible.
|
|
The close and float buttons will be shown directly in the tab-bar.
|
|
- Fixes persistent central frame being invisible after closing all tabs (#220)
|
|
- Added python bindings for the InitialOption struct (#198)
|
|
- Generate and install camelcase forwarding headers (public, exported classes)
|
|
- Build in Release mode by default (in non-developer situations)
|
|
|
|
* v1.3.1 (7 June 2021)
|
|
- Improve restoring layout when RestoreOption_RelativeToMainWindow is used (#171)
|
|
- Improved dragging windows across screens in mixed hdpi setups
|
|
- Fixed Flag_NativeTitleBar not hiding the client title bars when restoring (#170)
|
|
- Double clicking a native title bar of a Qt::Tool window will now redock the window (#173)
|
|
- Size of FloatingWindow now accounts for the fact that it's using Flag_NativeTitleBar and
|
|
resizes its content accordingly (#174)
|
|
- Fixed popups on overlayed dock widgets not working
|
|
- Don't restore maximized state when using RestoreOption_RelativeToMainWindow (#184)
|
|
|
|
* v1.3.0 (8 February 2021)
|
|
- Experimental QtQuick support (#49)
|
|
- Added static DockWidgetBase::byName() (#126)
|
|
- The enum KDDockWidgets::AddingOption has been deprecated, use
|
|
KDDockWidgets::InitialVisibilityOption instead
|
|
- You can now pass a preferred initial size to MainWindow::addDockWidget() (#95)
|
|
- Added DockWidgetBase::Option_DeleteOnClose
|
|
- Added Config::Flag_CloseOnlyCurrentTab
|
|
- PySide6 support
|
|
- Layout restorer now restores maximzied/minimized state too (#81)
|
|
- Fixed dock indicators sometimes not appearing on Windows (#103)
|
|
- Fixed Flag_NativeTitleBar not working
|
|
- Fixed drag offset when dragging too fast with mouse
|
|
- Fixed bug where last tab index position wouldn't be remembered in case user
|
|
had manually reordered tabs (#154)
|
|
- Fixed crash when hosting a QQuickWidget (#150)
|
|
- Fixed CMake Visual Studio generator not working
|
|
- Sidebar overlays now maintain their size when toggled (#155)
|
|
- Added DockWidget::setFloatingGeometry() (#144)
|
|
|
|
* v1.2.1 (6 February 2021)
|
|
- Support for resizing dock widgets when they are in overlay/popup mode (autohide/sidebar feature)
|
|
- Fixed title bar close button enabled state not being restored with Layout saver (#137)
|
|
- Installs a version header (kddockwidgets_version.h) that defines a version string and other useful versioning macros (#138)
|
|
- DockWidgetBase::eventFilter() is protected instead of private (regression vs v1.1) (#148)
|
|
It's recommended that you rebuild your application when updating KDDW, as MSVC encodes private/protected in the name mangling.
|
|
- Fixed WASM build on Windows (#163)
|
|
- Fixed sidebar overlay not getting hidden when clicking on the main window docking area (#157)
|
|
|
|
* v1.2.0 (17 December 2020)
|
|
- Wayland support
|
|
- Added Flag_KeepAboveIfNotUtilityWindow, so you can have keep above even if
|
|
floating window is shown in the task-bar.
|
|
- Added DockWidget::windowActiveAboutToChange() signal
|
|
- Added support for Qt6 (PySide6 support is lacking)
|
|
- Added WASM support
|
|
|
|
* v1.1.1 (11 December 2020)
|
|
- Windows: Fixed a crash when clicking on the close button for floating windows in some situations (#110)
|
|
- Don't show dock/undock icon when dockwidget is not dockable (#99)
|
|
|
|
* v1.1.0 (26 October 2020)
|
|
- New drop indicator style type: Segmented Indicators
|
|
- Windows: Drop Shadow for floating windows
|
|
- Added AutoHide / SideBar support
|
|
- Added FocusScope support
|
|
- Added DockWidget::isFocused() and DockWidgetBase::isFocusedChanged()
|
|
- Added Config::Flag_AlwaysTitleBarWhenFloating, which complements Flag_HideTitleBarWhenTabsVisible
|
|
- Added Config::Flag_DontUseUtilityWindowsForFloating
|
|
- Added Config::Flag_TitleBarHasMinimizeButton
|
|
- Added Config::Flag_TitleBarNoFloatButton
|
|
- Added Config::Flag_AutoHideSupport
|
|
- Added Config::setTabbingAllowedFunc(TabbingAllowedFunc func)
|
|
- HDPI improvements, new high-res icons
|
|
- Bugfixes:
|
|
- Windows: Fixed windows not having proper minimum size.
|
|
- Windows: Fixed moving windows across screens with different DPI (#72)
|
|
- Don't center floating windows if the user set a custom position (#75)
|
|
- Fixed floating window's title not being correct (#74)
|
|
- Fixed focus scope not reacting when clicking on current tab (#71)
|
|
- Fixed floating window borders not being rendered correctly on HDPI due to rounding errors.
|
|
- cmake/Python - don't require pkg-config, only use if available (#68)
|
|
|
|
* v1.0.0 (2 September 2020)
|
|
- PySide2 bindings
|
|
- Rewrote the layouting engine, resulting in a huge stability gain and makes it easy to add new features
|
|
- Honour min/max sizes and some QSizePolicy heuristics
|
|
- Lazy resize (resize only when dropping the separator)
|
|
- Native Windows dragging (supporting Aero-snap)
|
|
- Allow to hide TitleBar and just show tabs. Allow dragging via the tab bar.
|
|
- Reordering tabs with mouse
|
|
- Partial layout save/restore (affecting only a subset)
|
|
- Double-click on title bar to maximize
|
|
- Maximize button on the title bar
|
|
- HDPI: Relative layouting restore
|
|
- Allow to make a dock widget non-closable and non-dockable
|
|
- Show close button on tabs
|
|
- Multiple Main Window support
|
|
- Allowing to dock on different parents
|
|
- Support for affinities, making some dock widgets only dockable on certain main windows
|
|
- 200 unit-tests
|
|
- Fuzzer which found plenty of crashes in the old layouting engine
|
|
- ASAN fixes
|
|
- Double click on separator to distribute equally
|
|
- Hovering over an indicator returns the true size that the dropped widget will get
|
|
- Static build support
|
|
- Namespaced Qt support
|
|
- Dozens of crash fixes, bugs and much more...
|
|
|
|
* v0.1 (4 November 2019)
|
|
- Initial Release and blog
|