MCPcopy Create free account
hub / github.com/KDE/labplot / toggleViewInternal

Method toggleViewInternal

src/3rdparty/Qt-Advanced-Docking-System/src/DockWidget.cpp:765–818  ·  view source on GitHub ↗

============================================================================

Source from the content-addressed store, hash-verified

763
764//============================================================================
765void CDockWidget::toggleViewInternal(bool Open)
766{
767 CDockContainerWidget* DockContainer = dockContainer();
768 CDockWidget* TopLevelDockWidgetBefore = DockContainer
769 ? DockContainer->topLevelDockWidget() : nullptr;
770
771 d->Closed = !Open;
772
773 if (Open)
774 {
775 d->showDockWidget();
776 }
777 else
778 {
779 d->hideDockWidget();
780 }
781
782 d->ToggleViewAction->blockSignals(true);
783 d->ToggleViewAction->setChecked(Open);
784 d->ToggleViewAction->blockSignals(false);
785 if (d->DockArea)
786 {
787 d->DockArea->toggleDockWidgetView(this, Open);
788 if (d->DockArea->isAutoHide())
789 {
790 d->DockArea->autoHideDockContainer()->toggleView(Open);
791 }
792 }
793
794 if (Open && TopLevelDockWidgetBefore)
795 {
796 CDockWidget::emitTopLevelEventForWidget(TopLevelDockWidgetBefore, false);
797 }
798
799 // Here we need to call the dockContainer() function again, because if
800 // this dock widget was unassigned before the call to showDockWidget() then
801 // it has a dock container now
802 DockContainer = dockContainer();
803 CDockWidget* TopLevelDockWidgetAfter = DockContainer
804 ? DockContainer->topLevelDockWidget() : nullptr;
805 CDockWidget::emitTopLevelEventForWidget(TopLevelDockWidgetAfter, true);
806 CFloatingDockContainer* FloatingContainer = DockContainer
807 ? DockContainer->floatingWidget() : nullptr;
808 if (FloatingContainer)
809 {
810 FloatingContainer->updateWindowTitle();
811 }
812
813 if (!Open)
814 {
815 Q_EMIT closed();
816 }
817 Q_EMIT viewToggled(Open);
818}
819
820
821//============================================================================

Callers 2

insertDockWidgetMethod · 0.80

Calls 9

showDockWidgetMethod · 0.80
hideDockWidgetMethod · 0.80
toggleDockWidgetViewMethod · 0.80
floatingWidgetMethod · 0.80
updateWindowTitleMethod · 0.80
topLevelDockWidgetMethod · 0.45
isAutoHideMethod · 0.45
toggleViewMethod · 0.45
autoHideDockContainerMethod · 0.45

Tested by

no test coverage detected