@@ -66,7 +66,7 @@ struct DockAreaTitleBarPrivate
66
66
QPointer<tTitleBarButton> TabsMenuButton;
67
67
QPointer<tTitleBarButton> UndockButton;
68
68
QPointer<tTitleBarButton> CloseButton;
69
- QBoxLayout* TopLayout ;
69
+ QBoxLayout* Layout ;
70
70
CDockAreaWidget* DockArea;
71
71
CDockAreaTabBar* TabBar;
72
72
bool MenuOutdated = true ;
@@ -212,7 +212,7 @@ void DockAreaTitleBarPrivate::createButtons()
212
212
TabsMenuButton->setMenu (TabsMenu);
213
213
internal::setToolTip (TabsMenuButton, QObject::tr (" List all tabs" ));
214
214
TabsMenuButton->setSizePolicy (ButtonSizePolicy);
215
- TopLayout ->addWidget (TabsMenuButton, 0 );
215
+ Layout ->addWidget (TabsMenuButton, 0 );
216
216
_this->connect (TabsMenuButton->menu (), SIGNAL (triggered (QAction*)),
217
217
SLOT (onTabsMenuActionTriggered (QAction*)));
218
218
@@ -223,7 +223,7 @@ void DockAreaTitleBarPrivate::createButtons()
223
223
internal::setToolTip (UndockButton, QObject::tr (" Detach Group" ));
224
224
internal::setButtonIcon (UndockButton, QStyle::SP_TitleBarNormalButton, ads::DockAreaUndockIcon);
225
225
UndockButton->setSizePolicy (ButtonSizePolicy);
226
- TopLayout ->addWidget (UndockButton, 0 );
226
+ Layout ->addWidget (UndockButton, 0 );
227
227
_this->connect (UndockButton, SIGNAL (clicked ()), SLOT (onUndockButtonClicked ()));
228
228
229
229
// Close button
@@ -241,7 +241,7 @@ void DockAreaTitleBarPrivate::createButtons()
241
241
}
242
242
CloseButton->setSizePolicy (ButtonSizePolicy);
243
243
CloseButton->setIconSize (QSize (16 , 16 ));
244
- TopLayout ->addWidget (CloseButton, 0 );
244
+ Layout ->addWidget (CloseButton, 0 );
245
245
_this->connect (CloseButton, SIGNAL (clicked ()), SLOT (onCloseButtonClicked ()));
246
246
}
247
247
@@ -250,7 +250,8 @@ void DockAreaTitleBarPrivate::createButtons()
250
250
void DockAreaTitleBarPrivate::createTabBar ()
251
251
{
252
252
TabBar = new CDockAreaTabBar (DockArea);
253
- TopLayout->addWidget (TabBar);
253
+ TabBar->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Preferred);
254
+ Layout->addWidget (TabBar);
254
255
_this->connect (TabBar, SIGNAL (tabClosed (int )), SLOT (markTabsMenuOutdated ()));
255
256
_this->connect (TabBar, SIGNAL (tabOpened (int )), SLOT (markTabsMenuOutdated ()));
256
257
_this->connect (TabBar, SIGNAL (tabInserted (int )), SLOT (markTabsMenuOutdated ()));
@@ -314,18 +315,16 @@ CDockAreaTitleBar::CDockAreaTitleBar(CDockAreaWidget* parent) :
314
315
d->DockArea = parent;
315
316
316
317
setObjectName (" dockAreaTitleBar" );
317
- d->TopLayout = new QBoxLayout (QBoxLayout::LeftToRight);
318
- d->TopLayout ->setContentsMargins (0 , 0 , 0 , 0 );
319
- d->TopLayout ->setSpacing (0 );
320
- setLayout (d->TopLayout );
318
+ d->Layout = new QBoxLayout (QBoxLayout::LeftToRight);
319
+ d->Layout ->setContentsMargins (0 , 0 , 0 , 0 );
320
+ d->Layout ->setSpacing (0 );
321
+ setLayout (d->Layout );
321
322
setSizePolicy (QSizePolicy::Preferred, QSizePolicy::Fixed);
322
323
323
324
d->createTabBar ();
324
- d->TabBar ->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Preferred);
325
325
auto horizontalSpacer = new QSpacerItem (0 , 0 , QSizePolicy::Expanding, QSizePolicy::Minimum);
326
- d->TopLayout ->addSpacerItem (horizontalSpacer);
326
+ d->Layout ->addSpacerItem (horizontalSpacer);
327
327
d->createButtons ();
328
-
329
328
}
330
329
331
330
@@ -449,7 +448,7 @@ void CDockAreaTitleBar::updateDockWidgetActionsButtons()
449
448
{
450
449
for (auto Button : d->DockWidgetActionsButtons )
451
450
{
452
- d->TopLayout ->removeWidget (Button);
451
+ d->Layout ->removeWidget (Button);
453
452
delete Button;
454
453
}
455
454
d->DockWidgetActionsButtons .clear ();
@@ -469,7 +468,7 @@ void CDockAreaTitleBar::updateDockWidgetActionsButtons()
469
468
Button->setAutoRaise (true );
470
469
Button->setPopupMode (QToolButton::InstantPopup);
471
470
Button->setObjectName (Action->objectName ());
472
- d->TopLayout ->insertWidget (InsertIndex++, Button, 0 );
471
+ d->Layout ->insertWidget (InsertIndex++, Button, 0 );
473
472
d->DockWidgetActionsButtons .append (Button);
474
473
}
475
474
}
@@ -634,6 +633,20 @@ void CDockAreaTitleBar::contextMenuEvent(QContextMenuEvent* ev)
634
633
}
635
634
636
635
636
+ // ============================================================================
637
+ void CDockAreaTitleBar::insertWidget (int index, QWidget *widget)
638
+ {
639
+ d->Layout ->insertWidget (index, widget);
640
+ }
641
+
642
+
643
+ // ============================================================================
644
+ int CDockAreaTitleBar::indexOf (QWidget *widget) const
645
+ {
646
+ return d->Layout ->indexOf (widget);
647
+ }
648
+
649
+
637
650
} // namespace ads
638
651
639
652
#include " DockAreaTitleBar.moc"
0 commit comments