| 1368 | } |
| 1369 | |
| 1370 | void MainWin::initDocks() { |
| 1371 | auto* toolbar = toolBar(); |
| 1372 | if (toolbar) |
| 1373 | toolbar->setVisible(true); |
| 1374 | |
| 1375 | // As per documentation the configuration Flags must be set prior a DockManager will be created! |
| 1376 | // https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/blob/master/doc/user-guide.md#configuration-flags |
| 1377 | ads::CDockManager::setConfigFlag(ads::CDockManager::XmlCompressionEnabled, false); |
| 1378 | ads::CDockManager::setConfigFlag(ads::CDockManager::FocusHighlighting, true); |
| 1379 | ads::CDockManager::setConfigFlag(ads::CDockManager::MiddleMouseButtonClosesTab, true); |
| 1380 | ads::CDockManager::setConfigFlag(ads::CDockManager::AllTabsHaveCloseButton, true); |
| 1381 | ads::CDockManager::setConfigFlag(ads::CDockManager::RetainTabSizeWhenCloseButtonHidden, true); |
| 1382 | // must be after the config flags! |
| 1383 | ads::CDockManager::setAutoHideConfigFlags(ads::CDockManager::DefaultAutoHideConfig); |
| 1384 | ads::CDockManager::setAutoHideConfigFlag(ads::CDockManager::AutoHideShowOnMouseOver, true); |
| 1385 | |
| 1386 | // main dock manager for the default docks of the application (project explorer, etc) |
| 1387 | m_dockManagerMain = new ads::CDockManager(this); |
| 1388 | |
| 1389 | // project explorer |
| 1390 | m_projectExplorerDock = new ads::CDockWidget(i18nc("@title:window", "Project Explorer")); |
| 1391 | m_projectExplorerDock->setObjectName(QLatin1String("project-explorer")); |
| 1392 | m_projectExplorerDock->setWindowTitle(m_projectExplorerDock->windowTitle().replace(QLatin1String("&"), QString())); |
| 1393 | m_projectExplorerDock->toggleViewAction()->setText(QLatin1String("")); |
| 1394 | |
| 1395 | m_projectExplorer = new ProjectExplorer(m_projectExplorerDock); |
| 1396 | m_projectExplorerDock->setWidget(m_projectExplorer); |
| 1397 | |
| 1398 | connect(m_projectExplorer, &ProjectExplorer::currentAspectChanged, this, &MainWin::handleCurrentAspectChanged); |
| 1399 | connect(m_projectExplorer, &ProjectExplorer::activateView, this, &MainWin::activateSubWindowForAspect); |
| 1400 | connect(m_projectExplorerDock, &ads::CDockWidget::viewToggled, this, &MainWin::projectExplorerDockVisibilityChanged); |
| 1401 | |
| 1402 | // properties explorer |
| 1403 | m_propertiesDock = new ads::CDockWidget(i18nc("@title:window", "Properties")); |
| 1404 | m_propertiesDock->setObjectName(QLatin1String("properties-explorer")); |
| 1405 | m_propertiesDock->setWindowTitle(m_propertiesDock->windowTitle().replace(QLatin1String("&"), QString())); |
| 1406 | |
| 1407 | auto* scrollArea = new QScrollArea(m_propertiesDock); |
| 1408 | scrollArea->setWidgetResizable(true); |
| 1409 | stackedWidget = new QStackedWidget(scrollArea); |
| 1410 | scrollArea->setWidget(stackedWidget); // stacked widget inside scroll area |
| 1411 | m_propertiesDock->setWidget(scrollArea); // scroll area inside dock |
| 1412 | connect(m_propertiesDock, &ads::CDockWidget::viewToggled, this, &MainWin::propertiesDockVisibilityChanged); |
| 1413 | |
| 1414 | // worksheet preview |
| 1415 | m_worksheetPreviewDock = new ads::CDockWidget(i18nc("@title:window", "Worksheet Preview")); |
| 1416 | m_worksheetPreviewDock->setObjectName(QLatin1String("worksheet-preview")); |
| 1417 | m_worksheetPreviewDock->setWindowTitle(m_worksheetPreviewDock->windowTitle().replace(QLatin1String("&"), QString())); |
| 1418 | m_worksheetPreviewDock->toggleViewAction()->setText(QLatin1String("")); |
| 1419 | |
| 1420 | m_worksheetPreviewWidget = new WorksheetPreviewWidget(m_worksheetPreviewDock); |
| 1421 | m_worksheetPreviewDock->setWidget(m_worksheetPreviewWidget); |
| 1422 | connect(m_worksheetPreviewDock, &ads::CDockWidget::viewToggled, this, &MainWin::worksheetPreviewDockVisibilityChanged); |
| 1423 | |
| 1424 | auto contentDock = new ads::CDockWidget(i18nc("@title:window", "Content")); |
| 1425 | contentDock->setObjectName(QLatin1String("content-dock")); |
| 1426 | m_dockManagerContent = new ads::CDockManager(contentDock); |
| 1427 | contentDock->setWidget(m_dockManagerContent); |
nothing calls this directly
no test coverage detected