1
0
mirror of https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git synced 2025-03-16 02:59:51 +08:00

Fixed regression caused by setDockArea() function removed from DockWidgetTab

This commit is contained in:
Uwe Kindler 2020-02-14 22:56:48 +01:00
parent f236de3277
commit 2c15d5dacd
4 changed files with 29 additions and 1 deletions

View File

@ -235,7 +235,7 @@ void DockAreaTitleBarPrivate::createButtons()
#endif #endif
_this->connect(TabsMenu, SIGNAL(aboutToShow()), SLOT(onTabsMenuAboutToShow())); _this->connect(TabsMenu, SIGNAL(aboutToShow()), SLOT(onTabsMenuAboutToShow()));
TabsMenuButton->setMenu(TabsMenu); TabsMenuButton->setMenu(TabsMenu);
internal::setToolTip(TabsMenuButton, QObject::tr("List all tabs")); internal::setToolTip(TabsMenuButton, QObject::tr("List All Tabs"));
TabsMenuButton->setSizePolicy(ButtonSizePolicy); TabsMenuButton->setSizePolicy(ButtonSizePolicy);
Layout->addWidget(TabsMenuButton, 0); Layout->addWidget(TabsMenuButton, 0);
_this->connect(TabsMenuButton->menu(), SIGNAL(triggered(QAction*)), _this->connect(TabsMenuButton->menu(), SIGNAL(triggered(QAction*)),

View File

@ -398,6 +398,7 @@ void CDockAreaWidget::insertDockWidget(int index, CDockWidget* DockWidget,
bool Activate) bool Activate)
{ {
d->ContentsLayout->insertWidget(index, DockWidget); d->ContentsLayout->insertWidget(index, DockWidget);
DockWidget->tabWidget()->setDockAreaWidget(this);
auto TabWidget = DockWidget->tabWidget(); auto TabWidget = DockWidget->tabWidget();
// Inserting the tab will change the current index which in turn will // Inserting the tab will change the current index which in turn will
// make the tab widget visible in the slot // make the tab widget visible in the slot

View File

@ -464,6 +464,20 @@ CDockWidget* CDockWidgetTab::dockWidget() const
} }
//============================================================================
void CDockWidgetTab::setDockAreaWidget(CDockAreaWidget* DockArea)
{
d->DockArea = DockArea;
}
//============================================================================
CDockAreaWidget* CDockWidgetTab::dockAreaWidget() const
{
return d->DockArea;
}
//============================================================================ //============================================================================
void CDockWidgetTab::setIcon(const QIcon& Icon) void CDockWidgetTab::setIcon(const QIcon& Icon)
{ {

View File

@ -94,6 +94,19 @@ public:
*/ */
void setActiveTab(bool active); void setActiveTab(bool active);
/**
* Sets the dock area widget the dockWidget returned by dockWidget()
* function belongs to.
*/
void setDockAreaWidget(CDockAreaWidget* DockArea);
/**
* Returns the dock area widget this title bar belongs to.
* \return This function returns 0 if the dock widget that owns this title
* bar widget has not been added to any dock area yet.
*/
CDockAreaWidget* dockAreaWidget() const;
/** /**
* Returns the dock widget this title widget belongs to * Returns the dock widget this title widget belongs to
*/ */