-
Notifications
You must be signed in to change notification settings - Fork 618
Allow to set a custom title for all FloatingContainer #454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow to set a custom title for all FloatingContainer #454
Conversation
ba4309d
to
aa9e437
Compare
Thank you for the pull request. Could you please say something about the intended use case? |
I'm working on this obsproject/rfcs#47 , and I created experimental binaries. In my case, |
* Add bottom side icon config * Add missing update style to dock widget side tab * Fixed some more spacing in DockWidgetSideTab * Fix docking behavior when there is a central widget * Fix central dock widget being pinnable - Add config for dock widget being pinnable * Change splitter proportion from int to double - Allows for fine grain control (can now set 0.75 or 0.6) - Makes more sense * tweak spacing * Fix moving content to parent on toggle view * add comment * Fix crash when restoring state - when restoring state, the old dock widgets would remove themselves from their old dock areas and add themselves to the new dock areas. The old dock areas that are empty would then delete themselves. - That is a problem when the old overlay dock container would still try to access the old dock areas, not knowing their deleted, causing a crash. * Revert "Fix crash when restoring state" This reverts commit ee97b03. * Fix crash when restoring state but better - Rather than having to check for nullptr, just make sure the slot isn't called * Remove event filter from dock area as well * Remove old crash fix * add paintEvent override for styling purposes. * add orientation prop to SideTabBar. * Add insert order for overlayed widget to the side tab bar - Set the default insert order to append * Fix side tab widget ordering Now is fixed based on the side tab widget * double -> float * add rais * Add assert * Add right bottom and left bottom * clear dock widget focus on repin * Fix side tab widget resizing strangely on first add * Fix active X widgets not being rendered correctly * Fix autohide example * Fix side tab widgets being the wrong size when being added to a layout * Bump XML version * Remove testing code * Add missing check for bottom sidebar config * Update css for qt-5 * Add documentation * Fix weird behavior when widget is overlayed * Remove [[fallthrough]] * Ensure that the closed state is consistent * Fix linux styling * add config flag in ads demo * - Fix crash caused by not removing dock area from parent container - Fix strange behavior caused by not calling QSplitter::resizeEvent base implementation * remove unused vars * Dissallow non focusable dock widgets from being pinned * Pulled latest changes from duer autohide branch * Made Auto Hide Feature independent from Focus Feature and renamed OverlayDockContainer to AutoHideDockContainer * Ignore MouseButtonPress events of SideTabWidget in event filter * Fixed some typos * Rename overlayDockContainer -> AutoHideDockContainer * fix side tab not hiding when double clicking dock title bar * Fix bug where left and bottom overlay splitters cannot be clicked * update user guide * fix typo * fix crash when using widgets that delete on close * update size then mask * cleaner dock widget side tab click handling * remove unused css * Add top area * Added activeTab property * Formatting and cleanup - Update user-guide.md - Remove incorrect configuration from dock manager.h - Fix spacing * Update css * Added sideTabBarArea property to CAutoHideDockContainer to improve CSS styling options * Changed moveContentsToParent() logic when disabling auto dock for a certain widget * Changed toggleAutoHideArea)= logic - only the current dock widget is pinned and not all dock widgets of this area * Replaced tab bar areas LeftTop, LeftBottom, RightTop, RightBottom with Left and Right to reduce complexity * Improved logic for finding the auto hide side location * Added alternative auto hide button svg icon and modified stylesheet to show pinned icon for autohide widgets * Move autohide related CSS into a separate block to have all settings in one place * Added new auto hide config flag CDockManager::AutoHideButtonTogglesArea * reduce margin a little bit for the horizontal component * Update css * Remove config flag * Add config to make auto hide button optionally checkable for styling purposes * Renamed SideTabIconLabel - added C prefix CSideTabIconLabel * Fixed namespace comment in ElidingLabel * Added PushButton to test new CDockWidgetSideTab * Reimplemented DockWidgetSideTab based on QPushButton * Removed individual config flags for each sidebar with the global AutoHideFeatureEnabled flag * FIxed CMakeLists * Remove all dock widget focusable constraint on auto hide button * fix icon only config for side tab bars * remove unused and cleanup * fix: DockFocusController doesn't pick up on previous dock deletion outside of view (githubuser0xFFFF#453) Co-authored-by: Pierre Caissial <[email protected]> * Allow to set a custom title for all FloatingContainer (githubuser0xFFFF#454) * Implemented experimental mouse event handling * Improved showcase section in README.md * Added resize support for new QFrame based AutoHideDockContainer * Added new Visual Studio Light theme * Improved visual_studio_light.css * Fixed calculateSideTabBarArea function to work properly with every dock container * Fixed updateResizeHandleSizeLimitMax() function to work properly with all dock containers * Improved visual_studio_light.css theme * Fixed initial size of AutoHideDockContainer * fix missing case statement * iconsize -> iconSize in css * fix bug where "right click -> detach group" would of an overlay dock would not remove the dockwidget side tab * Improved visual_studio_light.css * Added missing exports for ResizeHandle and PushButton * Updated README.md * fixed some documentation typos * Updated stylesheet to default * Restored initial implementation of ElidingLabel because vertical label is not required anymore - SideBarButton implements orientation feature * Reverted stylesheets to initial code to restart with styling * Ensure the SideTab is hidden if empty * Added properties to auto hide widgets to improve CSS styling options * Added auto hide styling to focus_highlighting.css * Removed superfluous code from AutoHideDockContainer.cpp * Implemented save and restore function in AutoHideDockContainer * Implemented non opaque resizing for ResizeHandle * Implemented support for Opaque / Non Opaque auto hide container resizing * Cleanup of focus_highlighting.css * Updated default.css to support the new auto hide functionality * Code cleanup * Moved SideBarLocation enum out of CDockWidgetSideTab into global ads namespace * Prevent deletion of DockWidgetSideTabs if SideTabBar is deleted - the DockWidget is the real owner * Fixed wrong position of AutoHideDockContainer when uncollapsing * Fixed wrong rendering of DockWidgetSideTab if orientation changed when loading perspective * Some small changes * Changed AutoHide save and restore code * Some small renamings * Removed superfluous code and simplified some things * fix crash when adding auto hide dock container without a previous dock area * add set size to allow the user to set a size for the pinned widget manually * fix cmakelists and remove setDefaultDockProportion from dock widget * Use resize margin - disallow users from resizing to the size of the parent container * cleanup - remove unused code, fix comments, add const * Implemented showing and hiding of side bar when it does not contain any visible tab * Removed debug output * Removed debug output * Added some SideBar documentation * Removed DockWidget->sideTabWidget()->setProperty("focused", Focused), DockWidget->sideTabWidget()->updateStyle() because it is not required * Changed root index of file system model to prevent lagging UI if network folders are missing * Some restructuring in default.css and default_linux.css to improve readibility * Changed type of sideTabBarArea properties to int to fix non working Linux stylesheet selectors * Updated Linux css files to properly support new auto hide feature * Removed config flag CDockManager::AutoHideDockAreaHasTitle - this should not be configurable * Moved creation of SideTabWidget into AutoHideDockContainer.cpp * Moved dock area restore code into CDockAreaWidget * Properly implemented restore functionality for auto hide container * Create auto hide sidebars only if config flag is set * Use explicit naming for functions to configure auto hide flags and disable auto hide feature by default * Removed debug code from DockManager saveState function * Renamed SideTabBar and DockWidgetSideTab into AutoHideSideBar and AutoHideTab for consistent naming * Refactoring: renamed CDockWidgetSideTab to CAutoHideTab and CSideTabBar top CAutoHideSideBar * Fixed typo * Some code cleanup * Made naming of auto hide config flags explicit * Properly evaluate pinnable flag * Fixed original repository link in README.md * Some small improvements and execute auto hide code only if config is enabled * Improved auto hide config flags * Fixed typo * Fixed README.md * Removed AutoHideInsertOrder enum - new side tabs are always appended. * Renamed toggleAutoHide to setAutoHide and added toggleAutoHide function * Fixed wrong size calculation in CAutoHideDockContainer updateSize() function * Fixed crash by access to invalid dock parent container in CAutoHideDockContainer::updateSize() function * Changed MainWindow to enable ActiveX only for non opaque configuration and if AutoHide is disabled * Move calculateSideTabBarArea() function from DockContainerWidget into DockAreaWidget because it is only required there and it depends on dock area position * Added setAutoHide() and toggleAutoHide() function to CDockWidget * Added context menu actions for titleBar and dock widget tab auto hide * Improved context menu of DockAreaWidget * Fixed some auto hide specific bugs * Removed superfluous deleteAutoHideWidgets() function from CDockContainerWidget * Improved AutoHideSidebar to provide better resize behavior if parent widget is resized * Improved linux auto hide specific css code * Added option to auto hide a DockWidget or a DockArea to a specific sidebar location * Added support for auto hiding a dock area / widget to a specific border via context menu * Removed debug output * Fixed restoreDockWidgetsOpenState() function to delete legacy auto hide widgets * Added option ShowAutoHideOnMouseOver that enables showing of auto hide widgets by hovering over auto hide tab * Fixed delayed hiding of CAutoHideDockContainer on mouse leave when resizing * Added CSS styling for AutoHideTab that is iconOnly * Removed some whitespace from focus_highlighting.css * Fixed Qt6 build * Update linux stylesheet files to support icon only auto hide sidebars * Some cleanup * Fixed hiding of sidebar if Auto Hide Tab is closed * Added feature to apply a Visual Studio like light theme via ToolBar * Added a small image viewer to the demo application * Improved title bar button tooltips and made naming consistend with context menu * Auto Hide Tab now shows text as tooltip - for icon only buttons to help the user * Added missing render widget to demo application * Fixed emission of missing top level event when redocking a auto hide widget * Added actions to demo applications to create floating, docked and auto hide image viewers * Implemented custom close handling for dynamically created image viewers * Dynamically created image viewer now loads random image in demo * Prevent accidental hiding collapsing of an auto hide widget by a mouse click shortly after a mouse over collapse event * Fixed wrong image filename in demo application * Added documentation for Auto-Hide feature * Fixed emission of top level event in DockContainerWidget * Fixed bug in dropIntoSection() caused by the addition of AutoHideSideBars to dock container * Reverted file version change for saved state data because the file is backward compatible * User rootSplitter() function instead of searching for child widget * Added app icon for demo app * Updated ads_logo.svg to fix size for mobile page * Updated Python binding documentation with new PySide6 bindings * Added dockingpanes docking library to alternative docking systems * Removed developers section in README.md * Moved Alternative Dock System implementation to the end of README.md * Fixed CAutoHideDockContainer::addDockWidget to prevent OldDockArea->removeDockWidget(DockWidget) call when restoring state * Fixed bug in AutoHidedockContainer that causes warnings and resizing issues The bug caused ""setGeometry: Unable to set geometry XxY+Width+Height on QWidgetWindow/'WidgetClassWindow" warnings for OpenGL and QAxWidgets and causes resizing issues for AutoHideDockContainers that contained theses widgets * Fixed restoreSideBar() function to prevent multiple side tabs for the same dock widget * Fixed insertion of resize handle in AutoHideDockContainer.cpp * Added Auto-Hide functionality to README.md * Added AutoHide feature to README.md * Added auto hide contributor name to README.md * Added support for tab index when inserting dockwidgets into area * Removed debug output * Added tab icon * Removed QColorSpace to fix Ubuntu build * Added support for inserting a dock widget with a given tab index and added test case * Removed superfluous includes and fixed use of deprecates globalPositionOf() function * Added FloatingWidgetDragStartEvent to hide AutoHideContainer if user drags floating widget * Fixed FloatingDockContainer.cpp to properly post the dragging start event * Added some comment * Improved CAutoHideDockContainer::eventFilter function to collapse the auto hide widget if someone clicks into another window * Added function to add / remove CAutoHideDockContainer from SideBar * Fixed restoreSideBar function and dropping floating widget with auto hide widgets * Removed QRandomNumberGenerator for Qt versions < 5.10 * Added support for runtime switching of CAutoHideDockContainer sidebar location * Prevent null pointer access * Guard against null pointer access * normalize SIGNAL(),SLOT() signatures * Fix various clazy warnings * Updated README.md * Added release and contributor badges * Updated release badge * Fixed missing source files in demo/CMakeLists.txt * Fixed hiding of AutoHideContainer when clicking outside context menu * Create ActiveX widget only if OpaqueUndocking is not active - it will cause jerking dragging of floating widget * Ensure that auto hide widget will be closed if user starts dragging floating widget or docked widget * Fixed some issues in AutoHideDockContainer eventFilter function * Changed SideTab check in AutoHideDockContainer::eventFilter to improve performance a little bit * Fixed dockContainer() function of AutoHideDockContainer.cpp Returning the dock container of the internal dock area is wrong, if the dock widget is removed from the AutoHideDockContainer, then the DockArea container function already returns the new dock container of the DockArea and not the dock container of the AutoHideDockContainer.cpp * Added dockContainer() function to AutoHideSideBar.cpp * Update linux-builds.yml Removed ubuntu-latest because there seems to be build issues for ubuntu-22.04 * Added some pictures to show AutoHide and ImageViewer functionality * Added some pictures to show AutoHide and ImageViewer functionality Co-authored-by: Syarif Fakhri <[email protected]> Co-authored-by: Nick D'Ademo <[email protected]> Co-authored-by: Syarif Fakhri <[email protected]> Co-authored-by: Uwe Kindler <[email protected]> Co-authored-by: Chnossos <[email protected]> Co-authored-by: Pierre Caissial <[email protected]> Co-authored-by: tytan652 <[email protected]> Co-authored-by: Uwe <Kindler> Co-authored-by: githubuser0xFFFF <[email protected]>
Allow to set a custom title for all FloatingContainer that does not reflect the title of the current dock widget rather than directly falling back to
QGuiApplication::applicationDisplayName()
.