| 533 | } |
| 534 | |
| 535 | void MainWindow::setUIDocks() { |
| 536 | |
| 537 | // Create "Docks" menu to make closing and opening docks more intuitive |
| 538 | m_menuDocks = new QMenu(TITLE_DOCKS, this); |
| 539 | ui->menubar->insertMenu(ui->menuExtras->menuAction(), m_menuDocks); |
| 540 | |
| 541 | // Convert any current docks |
| 542 | for (const auto &dock : findChildren<DockWidget*>()) { |
| 543 | dock->setState(m_uiEditMode); |
| 544 | } |
| 545 | |
| 546 | // Add the screen action |
| 547 | QAction *action = ui->screenDock->toggleViewAction(); |
| 548 | action->setIcon(m_iconLcd); |
| 549 | |
| 550 | // Convert the tabs into DockWidgets |
| 551 | while (ui->tabWidget->count()) { |
| 552 | DockWidget *dw = new DockWidget(ui->tabWidget, this); |
| 553 | |
| 554 | // Fill "Docks" menu |
| 555 | QAction *tvAction = dw->toggleViewAction(); |
| 556 | tvAction->setIcon(dw->windowIcon()); |
| 557 | m_menuDocks->addAction(tvAction); |
| 558 | |
| 559 | dw->setState(m_uiEditMode); |
| 560 | addDockWidget(Qt::RightDockWidgetArea, dw); |
| 561 | if (!m_dockPtrs.isEmpty()) { |
| 562 | tabifyDockWidget(m_dockPtrs.back(), dw); |
| 563 | } |
| 564 | |
| 565 | m_dockPtrs.append(dw); |
| 566 | } |
| 567 | |
| 568 | m_menuDocks->addAction(action); |
| 569 | m_menuDocks->addSeparator(); |
| 570 | |
| 571 | m_menuDebug = new QMenu(TITLE_DEBUG, this); |
| 572 | ui->menubar->insertMenu(ui->menuExtras->menuAction(), m_menuDebug); |
| 573 | |
| 574 | // Convert the tabs into QDockWidgets |
| 575 | while (ui->tabDebug->count()) { |
| 576 | DockWidget *dw = new DockWidget(ui->tabDebug, this); |
| 577 | |
| 578 | // Fill "Docks" menu |
| 579 | QAction *tvAction = dw->toggleViewAction(); |
| 580 | tvAction->setIcon(dw->windowIcon()); |
| 581 | m_menuDebug->addAction(tvAction); |
| 582 | |
| 583 | dw->setState(m_uiEditMode); |
| 584 | addDockWidget(Qt::RightDockWidgetArea, dw); |
| 585 | if (isFirstRun() || !opts.useSettings) { |
| 586 | dw->hide(); |
| 587 | dw->close(); |
| 588 | } |
| 589 | } |
| 590 | |
| 591 | // Load removable docks |
| 592 | setMemDocks(); |