Skip to content

Commit a674eea

Browse files
author
Uwe Kindler
committed
2 parents a2854a7 + cd98488 commit a674eea

18 files changed

+187
-101
lines changed

doc/cfg_flag_TabsAtBottom.png

24.7 KB
Loading

doc/user-guide.md

Lines changed: 82 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,81 @@
11
# User Guide
22

3-
- [Configuration Flags](#configuration-flags)
4-
- [Setting Configuration Flags](#setting-configuration-flags)
5-
- [`ActiveTabHasCloseButton`](#activetabhasclosebutton)
6-
- [`DockAreaHasCloseButton`](#dockareahasclosebutton)
7-
- [`DockAreaCloseButtonClosesTab`](#dockareaclosebuttonclosestab)
8-
- [`OpaqueSplitterResize`](#opaquesplitterresize)
9-
- [`XmlAutoFormattingEnabled`](#xmlautoformattingenabled)
10-
- [`XmlCompressionEnabled`](#xmlcompressionenabled)
11-
- [`TabCloseButtonIsToolButton`](#tabclosebuttonistoolbutton)
12-
- [`AllTabsHaveCloseButton`](#alltabshaveclosebutton)
13-
- [`RetainTabSizeWhenCloseButtonHidden`](#retaintabsizewhenclosebuttonhidden)
14-
- [`DragPreviewIsDynamic`](#dragpreviewisdynamic)
15-
- [`DragPreviewShowsContentPixmap`](#dragpreviewshowscontentpixmap)
16-
- [`DragPreviewHasWindowFrame`](#dragpreviewhaswindowframe)
17-
- [`AlwaysShowTabs`](#alwaysshowtabs)
18-
- [`DockAreaHasUndockButton`](#dockareahasundockbutton)
19-
- [`DockAreaHasTabsMenuButton`](#dockareahastabsmenubutton)
20-
- [`DockAreaHideDisabledButtons`](#dockareahidedisabledbuttons)
21-
- [`DockAreaDynamicTabsMenuButtonVisibility`](#dockareadynamictabsmenubuttonvisibility)
22-
- [`FloatingContainerHasWidgetTitle`](#floatingcontainerhaswidgettitle)
23-
- [`FloatingContainerHasWidgetIcon`](#floatingcontainerhaswidgeticon)
24-
- [`HideSingleCentralWidgetTitleBar`](#hidesinglecentralwidgettitlebar)
25-
- [`FocusHighlighting`](#focushighlighting)
26-
- [`EqualSplitOnInsertion`](#equalsplitoninsertion)
27-
- [`FloatingContainerForceNativeTitleBar` (Linux only)](#floatingcontainerforcenativetitlebar-linux-only)
28-
- [`FloatingContainerForceQWidgetTitleBar` (Linux only)](#floatingcontainerforceqwidgettitlebar-linux-only)
29-
- [`MiddleMouseButtonClosesTab`](#middlemousebuttonclosestab)
30-
- [`DisableTabTextEliding`](#disabletabtexteliding)
31-
- [`ShowTabTextOnlyForActiveTab`](#showtabtextonlyforactivetab)
32-
- [`DoubleClickUndocksWidget`](#doubleclickundockswidget)
33-
- [Auto Hide Dock Widgets](#auto-hide-dock-widgets)
34-
- [Pinning Auto-Hide Widgets to a certain border](#pinning-auto-hide-widgets-to-a-certain-border)
35-
- [Show / Hide Auto-Hide Widgets via Mouse Over](#show--hide-auto-hide-widgets-via-mouse-over)
36-
- [Drag \& Drop to Auto-Hide](#drag--drop-to-auto-hide)
37-
- [Auto-Hide Tab Insertion Order](#auto-hide-tab-insertion-order)
38-
- [Auto-Hide Tab Sorting](#auto-hide-tab-sorting)
39-
- [Auto-Hide Drag to Float / Dock](#auto-hide-drag-to-float--dock)
40-
- [Auto-Hide Context Menu](#auto-hide-context-menu)
41-
- [Adding Auto Hide Widgets](#adding-auto-hide-widgets)
42-
- [Auto-Hide Configuration Flags](#auto-hide-configuration-flags)
43-
- [Setting Auto-Hide Flags](#setting-auto-hide-flags)
44-
- [`AutoHideFeatureEnabled`](#autohidefeatureenabled)
45-
- [`DockAreaHasAutoHideButton`](#dockareahasautohidebutton)
46-
- [`AutoHideButtonTogglesArea`](#autohidebuttontogglesarea)
47-
- [`AutoHideButtonCheckable`](#autohidebuttoncheckable)
48-
- [`AutoHideSideBarsIconOnly`](#autohidesidebarsicononly)
49-
- [`AutoHideShowOnMouseOver`](#autohideshowonmouseover)
50-
- [`AutoHideCloseButtonCollapsesDock`](#autohideclosebuttoncollapsesdock)
51-
- [`AutoHideHasCloseButton`](#autohidehasclosebutton)
52-
- [`AutoHideHasMinimizeButton`](#autohidehasminimizebutton)
53-
- [`AutoHideOpenOnDragHover`](#autohideopenondraghover)
54-
- [`AutoHideCloseOnOutsideMouseClick`](#autohidecloseonoutsidemouseclick)
55-
- [DockWidget Feature Flags](#dockwidget-feature-flags)
56-
- [`DockWidgetClosable`](#dockwidgetclosable)
57-
- [`DockWidgetMovable`](#dockwidgetmovable)
58-
- [`DockWidgetFloatable`](#dockwidgetfloatable)
59-
- [`DockWidgetDeleteOnClose`](#dockwidgetdeleteonclose)
60-
- [`CustomCloseHandling`](#customclosehandling)
61-
- [`DockWidgetFocusable`](#dockwidgetfocusable)
62-
- [`DockWidgetForceCloseWithArea`](#dockwidgetforceclosewitharea)
63-
- [`NoTab`](#notab)
64-
- [`DeleteContentOnClose`](#deletecontentonclose)
65-
- [Central Widget](#central-widget)
66-
- [Empty Dock Area](#empty-dock-area)
67-
- [Custom Close Handling](#custom-close-handling)
68-
- [Globally Lock Docking Features](#globally-lock-docking-features)
69-
- [Dock Widget Size / Minimum Size Handling](#dock-widget-size--minimum-size-handling)
70-
- [Styling](#styling)
71-
- [Disabling the Internal Style Sheet](#disabling-the-internal-style-sheet)
72-
- [Using ADS on Linux](#using-ads-on-linux)
73-
- [Supported Distributions](#supported-distributions)
74-
- [Requirements](#requirements)
75-
- [Manjaro xfce 25.0.1 and Xubuntu 24.04.2 issues](#manjaro-xfce-2501-and-xubuntu-24042-issues)
76-
- [OpenGl + ADS](#opengl--ads)
3+
- [User Guide](#user-guide)
4+
- [Configuration Flags](#configuration-flags)
5+
- [Setting Configuration Flags](#setting-configuration-flags)
6+
- [`ActiveTabHasCloseButton`](#activetabhasclosebutton)
7+
- [`DockAreaHasCloseButton`](#dockareahasclosebutton)
8+
- [`DockAreaCloseButtonClosesTab`](#dockareaclosebuttonclosestab)
9+
- [`OpaqueSplitterResize`](#opaquesplitterresize)
10+
- [`XmlAutoFormattingEnabled`](#xmlautoformattingenabled)
11+
- [`XmlCompressionEnabled`](#xmlcompressionenabled)
12+
- [`TabCloseButtonIsToolButton`](#tabclosebuttonistoolbutton)
13+
- [`AllTabsHaveCloseButton`](#alltabshaveclosebutton)
14+
- [`RetainTabSizeWhenCloseButtonHidden`](#retaintabsizewhenclosebuttonhidden)
15+
- [`DragPreviewIsDynamic`](#dragpreviewisdynamic)
16+
- [`DragPreviewShowsContentPixmap`](#dragpreviewshowscontentpixmap)
17+
- [`DragPreviewHasWindowFrame`](#dragpreviewhaswindowframe)
18+
- [`AlwaysShowTabs`](#alwaysshowtabs)
19+
- [`DockAreaHasUndockButton`](#dockareahasundockbutton)
20+
- [`DockAreaHasTabsMenuButton`](#dockareahastabsmenubutton)
21+
- [`DockAreaHideDisabledButtons`](#dockareahidedisabledbuttons)
22+
- [`DockAreaDynamicTabsMenuButtonVisibility`](#dockareadynamictabsmenubuttonvisibility)
23+
- [`FloatingContainerHasWidgetTitle`](#floatingcontainerhaswidgettitle)
24+
- [`FloatingContainerHasWidgetIcon`](#floatingcontainerhaswidgeticon)
25+
- [`HideSingleCentralWidgetTitleBar`](#hidesinglecentralwidgettitlebar)
26+
- [`FocusHighlighting`](#focushighlighting)
27+
- [`EqualSplitOnInsertion`](#equalsplitoninsertion)
28+
- [`FloatingContainerForceNativeTitleBar` (Linux only)](#floatingcontainerforcenativetitlebar-linux-only)
29+
- [`FloatingContainerForceQWidgetTitleBar` (Linux only)](#floatingcontainerforceqwidgettitlebar-linux-only)
30+
- [`MiddleMouseButtonClosesTab`](#middlemousebuttonclosestab)
31+
- [`DisableTabTextEliding`](#disabletabtexteliding)
32+
- [`ShowTabTextOnlyForActiveTab`](#showtabtextonlyforactivetab)
33+
- [`DoubleClickUndocksWidget`](#doubleclickundockswidget)
34+
- [`TabsAtBottom`](#tabsatbottom)
35+
- [Auto Hide Dock Widgets](#auto-hide-dock-widgets)
36+
- [Pinning Auto-Hide Widgets to a certain border](#pinning-auto-hide-widgets-to-a-certain-border)
37+
- [Show / Hide Auto-Hide Widgets via Mouse Over](#show--hide-auto-hide-widgets-via-mouse-over)
38+
- [Drag \& Drop to Auto-Hide](#drag--drop-to-auto-hide)
39+
- [Auto-Hide Tab Insertion Order](#auto-hide-tab-insertion-order)
40+
- [Auto-Hide Tab Sorting](#auto-hide-tab-sorting)
41+
- [Auto-Hide Drag to Float / Dock](#auto-hide-drag-to-float--dock)
42+
- [Auto-Hide Context Menu](#auto-hide-context-menu)
43+
- [Adding Auto Hide Widgets](#adding-auto-hide-widgets)
44+
- [Auto-Hide Configuration Flags](#auto-hide-configuration-flags)
45+
- [Setting Auto-Hide Flags](#setting-auto-hide-flags)
46+
- [`AutoHideFeatureEnabled`](#autohidefeatureenabled)
47+
- [`DockAreaHasAutoHideButton`](#dockareahasautohidebutton)
48+
- [`AutoHideButtonTogglesArea`](#autohidebuttontogglesarea)
49+
- [`AutoHideButtonCheckable`](#autohidebuttoncheckable)
50+
- [`AutoHideSideBarsIconOnly`](#autohidesidebarsicononly)
51+
- [`AutoHideShowOnMouseOver`](#autohideshowonmouseover)
52+
- [`AutoHideCloseButtonCollapsesDock`](#autohideclosebuttoncollapsesdock)
53+
- [`AutoHideHasCloseButton`](#autohidehasclosebutton)
54+
- [`AutoHideHasMinimizeButton`](#autohidehasminimizebutton)
55+
- [`AutoHideOpenOnDragHover`](#autohideopenondraghover)
56+
- [`AutoHideCloseOnOutsideMouseClick`](#autohidecloseonoutsidemouseclick)
57+
- [DockWidget Feature Flags](#dockwidget-feature-flags)
58+
- [`DockWidgetClosable`](#dockwidgetclosable)
59+
- [`DockWidgetMovable`](#dockwidgetmovable)
60+
- [`DockWidgetFloatable`](#dockwidgetfloatable)
61+
- [`DockWidgetDeleteOnClose`](#dockwidgetdeleteonclose)
62+
- [`CustomCloseHandling`](#customclosehandling)
63+
- [`DockWidgetFocusable`](#dockwidgetfocusable)
64+
- [`DockWidgetForceCloseWithArea`](#dockwidgetforceclosewitharea)
65+
- [`NoTab`](#notab)
66+
- [`DeleteContentOnClose`](#deletecontentonclose)
67+
- [Central Widget](#central-widget)
68+
- [Empty Dock Area](#empty-dock-area)
69+
- [Custom Close Handling](#custom-close-handling)
70+
- [Globally Lock Docking Features](#globally-lock-docking-features)
71+
- [Dock Widget Size / Minimum Size Handling](#dock-widget-size--minimum-size-handling)
72+
- [Styling](#styling)
73+
- [Disabling the Internal Style Sheet](#disabling-the-internal-style-sheet)
74+
- [Using ADS on Linux](#using-ads-on-linux)
75+
- [Supported Distributions](#supported-distributions)
76+
- [Requirements](#requirements)
77+
- [Manjaro xfce 25.0.1 and Xubuntu 24.04.2 issues](#manjaro-xfce-2501-and-xubuntu-24042-issues)
78+
- [OpenGl + ADS](#opengl--ads)
7779

7880
## Configuration Flags
7981

@@ -510,6 +512,12 @@ for active tabs. Inactive tabs only show their icon:
510512
If the flag is set (default), a double click on a tab undocks the dock widget.
511513
If you would like to disable undocking, just clear this flag.
512514
515+
### `TabsAtBottom`
516+
517+
If the flag is set, tabs will be shown at the bottom instead of in the title bar.
518+
519+
![TabsAtBottom true](cfg_flag_TabsAtBottom.png)
520+
513521
## Auto Hide Dock Widgets
514522
515523
The Advanced Docking System supports "Auto-Hide" functionality for **all**

examples/autohidedragndrop/mainwindow.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ CMainWindow::CMainWindow(QWidget *parent)
2727
CDockManager::setConfigFlag(CDockManager::OpaqueSplitterResize, true);
2828
CDockManager::setConfigFlag(CDockManager::XmlCompressionEnabled, false);
2929
CDockManager::setConfigFlag(CDockManager::FocusHighlighting, true);
30+
CDockManager::setConfigFlag(CDockManager::TabsAtBottom, true);
3031
CDockManager::setAutoHideConfigFlags(CDockManager::DefaultAutoHideConfig);
3132
CDockManager::setAutoHideConfigFlag(CDockManager::AutoHideOpenOnDragHover, true);
3233
CDockManager::setConfigParam(CDockManager::AutoHideOpenOnDragHoverDelay_ms, 500);

src/AutoHideTab.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private Q_SLOTS:
9393
/**
9494
* Virtual Destructor
9595
*/
96-
virtual ~CAutoHideTab();
96+
~CAutoHideTab() override;
9797

9898
/**
9999
* Update stylesheet style if a property changes

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ target_link_libraries(${library_name} PUBLIC Qt${QT_VERSION_MAJOR}::Core
9494
Qt${QT_VERSION_MAJOR}::Gui
9595
Qt${QT_VERSION_MAJOR}::Widgets)
9696

97-
if(QT_VERSION_MAJOR STREQUAL "6")
97+
if(UNIX AND NOT APPLE AND QT_VERSION_MAJOR STREQUAL "6")
9898
target_link_libraries(${library_name} PRIVATE Qt6::GuiPrivate) #needed for <qpa/qplatformnativeinterface.h>
9999
endif()
100100

src/DockAreaTitleBar.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,10 @@ void DockAreaTitleBarPrivate::createAutoHideTitleLabel()
260260
{
261261
AutoHideTitleLabel = new CElidingLabel("");
262262
AutoHideTitleLabel->setObjectName("autoHideTitleLabel");
263-
// At position 0 is the tab bar - insert behind tab bar
264-
Layout->insertWidget(1, AutoHideTitleLabel);
265-
AutoHideTitleLabel->setVisible(false); // Default hidden
266-
Layout->insertWidget(2 ,new CSpacerWidget(_this));
263+
// When the tabs are at the top, they will be at position 0, insert the label behind them, and hide it.
264+
Layout->addWidget(AutoHideTitleLabel);
265+
AutoHideTitleLabel->setVisible(CDockManager::testConfigFlag(CDockManager::TabsAtBottom));
266+
Layout->addWidget(new CSpacerWidget(_this));
267267
}
268268

269269

@@ -272,7 +272,9 @@ void DockAreaTitleBarPrivate::createTabBar()
272272
{
273273
TabBar = componentsFactory()->createDockAreaTabBar(DockArea);
274274
TabBar->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
275-
Layout->addWidget(TabBar);
275+
if (!CDockManager::testConfigFlag(CDockManager::TabsAtBottom))
276+
Layout->addWidget(TabBar);
277+
276278
_this->connect(TabBar, SIGNAL(tabClosed(int)), SLOT(markTabsMenuOutdated()));
277279
_this->connect(TabBar, SIGNAL(tabOpened(int)), SLOT(markTabsMenuOutdated()));
278280
_this->connect(TabBar, SIGNAL(tabInserted(int)), SLOT(markTabsMenuOutdated()));
@@ -351,8 +353,8 @@ CDockAreaTitleBar::CDockAreaTitleBar(CDockAreaWidget* parent) :
351353
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
352354

353355
d->createTabBar();
354-
d->createButtons();
355356
d->createAutoHideTitleLabel();
357+
d->createButtons();
356358

357359
setFocusPolicy(Qt::NoFocus);
358360
}
@@ -900,9 +902,12 @@ QString CDockAreaTitleBar::titleBarButtonToolTip(TitleBarButton Button) const
900902
//============================================================================
901903
void CDockAreaTitleBar::showAutoHideControls(bool Show)
902904
{
903-
d->TabBar->setVisible(!Show); // Auto hide toolbar never has tabs
905+
if (Show)
906+
d->TabBar->setVisible(false); // Auto hide toolbar never has tabs
907+
904908
d->MinimizeButton->setVisible(Show);
905-
d->AutoHideTitleLabel->setVisible(Show);
909+
if (!CDockManager::testConfigFlag(CDockManager::TabsAtBottom))
910+
d->AutoHideTitleLabel->setVisible(Show);
906911
}
907912

908913

src/DockAreaWidget.cpp

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -179,14 +179,17 @@ class CDockAreaLayout
179179
parent->setUpdatesEnabled(false);
180180
}
181181

182-
auto LayoutItem = m_ParentLayout->takeAt(1);
183-
if (LayoutItem)
182+
if (m_CurrentWidget)
184183
{
185-
LayoutItem->widget()->setParent(nullptr);
184+
auto LayoutItem = m_ParentLayout->takeAt(1);
185+
if (LayoutItem)
186+
{
187+
LayoutItem->widget()->setParent(nullptr);
188+
}
189+
delete LayoutItem;
186190
}
187-
delete LayoutItem;
188191

189-
m_ParentLayout->addWidget(next);
192+
m_ParentLayout->insertWidget(1, next);
190193
if (prev)
191194
{
192195
prev->hide();
@@ -362,6 +365,14 @@ void DockAreaWidgetPrivate::createTitleBar()
362365
{
363366
TitleBar = componentsFactory()->createDockAreaTitleBar(_this);
364367
Layout->addWidget(TitleBar);
368+
if (CDockManager::testConfigFlag(CDockManager::TabsAtBottom))
369+
{
370+
// Title bar will be index 0, container widgets will be index 1,
371+
// so tabs will always be at the end of the layout.
372+
Layout->addWidget(tabBar());
373+
tabBar()->setVisible(CDockManager::testConfigFlag(CDockManager::AlwaysShowTabs));
374+
}
375+
365376
QObject::connect(tabBar(), &CDockAreaTabBar::tabCloseRequested, _this, &CDockAreaWidget::onTabCloseRequested);
366377
QObject::connect(TitleBar, &CDockAreaTitleBar::tabBarClicked, _this, &CDockAreaWidget::setCurrentIndex);
367378
QObject::connect(tabBar(), &CDockAreaTabBar::tabMoved, _this, &CDockAreaWidget::reorderDockWidget);
@@ -726,6 +737,7 @@ void CDockAreaWidget::setCurrentIndex(int index)
726737
TabBar->setCurrentIndex(index);
727738
d->ContentsLayout->setCurrentIndex(index);
728739
d->ContentsLayout->currentWidget()->show();
740+
d->TitleBar->autoHideTitleLabel()->setText(d->ContentsLayout->currentWidget()->windowTitle());
729741
Q_EMIT currentChanged(index);
730742
}
731743

@@ -879,7 +891,22 @@ void CDockAreaWidget::updateTitleBarVisibility()
879891
{
880892
// Always show title bar if it contains title bar actions
881893
if (CDockWidget* TopLevelWidget = Container->topLevelDockWidget())
894+
{
882895
Hidden |= TopLevelWidget->titleBarActions().empty();
896+
}
897+
else if (CDockManager::testConfigFlag(CDockManager::TabsAtBottom))
898+
{
899+
Hidden = true;
900+
901+
for (CDockWidget* DockWidget : Container->openedDockWidgets())
902+
{
903+
if (!DockWidget->titleBarActions().empty())
904+
{
905+
Hidden = false;
906+
break;
907+
}
908+
}
909+
}
883910
}
884911
if (!Hidden && d->Flags.testFlag(HideSingleWidgetTitleBar))
885912
{
@@ -889,6 +916,8 @@ void CDockAreaWidget::updateTitleBarVisibility()
889916
}
890917
}
891918
d->TitleBar->setVisible(!Hidden);
919+
if (CDockManager::testConfigFlag(CDockManager::TabsAtBottom))
920+
d->TitleBar->tabBar()->setVisible(openDockWidgetsCount() > 1);
892921
}
893922

894923
if (isAutoHideFeatureEnabled())

src/DockAreaWidget.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ protected Q_SLOTS:
199199
/**
200200
* Virtual Destructor
201201
*/
202-
virtual ~CDockAreaWidget();
202+
~CDockAreaWidget() override;
203203

204204
/**
205205
* Returns the dock manager object this dock area belongs to

src/DockContainerWidget.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ class ADS_EXPORT CDockContainerWidget : public QFrame
219219
/**
220220
* Virtual Destructor
221221
*/
222-
virtual ~CDockContainerWidget();
222+
~CDockContainerWidget() override;
223223

224224
/**
225225
* Adds dockwidget into the given area.

src/DockManager.cpp

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
#include <QVariant>
4242
#include <QDebug>
4343
#include <QFile>
44+
#include <QDialog>
4445
#include <QAction>
4546
#include <QXmlStreamWriter>
4647
#include <QSettings>
@@ -530,15 +531,30 @@ CDockManager::CDockManager(QWidget *parent) :
530531
window()->installEventFilter(this);
531532

532533
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
533-
connect(qApp, &QApplication::focusWindowChanged, [this](QWindow* focusWindow)
534+
connect(qApp, &QApplication::focusWindowChanged, this, [this](QWindow* focusWindow)
534535
{
535536
if (!focusWindow)
536537
{
537538
return;
538539
}
539540

540-
// bring the main application window that hosts the dock manager and all floating
541-
// widgets in front of any other application
541+
auto widget = QWidget::find(focusWindow->winId());
542+
if (!widget)
543+
{
544+
return;
545+
}
546+
547+
// If the user clicks the main window or drags a floating widget or works with a
548+
// dialog, then raise the main window, all floating widgets and the focus window
549+
// itself to bring it into foregreound of any other application
550+
bool raise = qobject_cast<QMainWindow*>(widget)
551+
|| qobject_cast<QDialog*>(widget)
552+
|| qobject_cast<ads::CFloatingDockContainer*>(widget);
553+
if (!raise)
554+
{
555+
return;
556+
}
557+
542558
this->raise();
543559
for (auto FloatingWidget : d->FloatingWidgets)
544560
{

0 commit comments

Comments
 (0)