diff --git a/src/UI/DockWidgetTitleBar.cc b/src/UI/DockWidgetTitleBar.cc index 203bc948873a927d7f6ce1a3b0536d6ae6b0aeab..2e1cdaa099d9246e785e46919a317dd51cbb6785 100644 --- a/src/UI/DockWidgetTitleBar.cc +++ b/src/UI/DockWidgetTitleBar.cc @@ -14,51 +14,11 @@ DockWidgetTitleBar::DockWidgetTitleBar(QDockWidget *parent) noexcept qobject_cast<QHBoxLayout *>(layout())->setStretch(0, 1); } -void -DockWidgetTitleBar::handleFeaturesChanged(QDockWidget::DockWidgetFeatures feature) noexcept -{ - clearControls(); - - if (feature & QDockWidget::DockWidgetFloatable) { - QPushButton *const button = new QPushButton("float", this); - button->setEnabled(true); - connect(button, &QPushButton::clicked, attachedDock, - [this](bool) { attachedDock->setFloating(!attachedDock->isFloating()); }); - layout()->addWidget(button); - } - - if (feature & QDockWidget::DockWidgetClosable) { - QPushButton *const button = new QPushButton("close", this); - button->setEnabled(true); - connect(button, &QPushButton::clicked, attachedDock, [this](bool) { - QAction *const act = attachedDock->toggleViewAction(); - Q_ASSERT(act->isCheckable()); - act->trigger(); - }); - layout()->addWidget(button); - } -} - -void -DockWidgetTitleBar::clearControls() noexcept -{ - QHBoxLayout *const box = qobject_cast<QHBoxLayout *>(layout()); - QLayoutItem *item = nullptr; - - for (int i = 1; i < box->count(); ++i) { - item = box->takeAt(i); - delete item->widget(); - delete item; - } -} - void DockWidgetTitleBar::addToDock(QDockWidget *const dock) noexcept { DockWidgetTitleBar *const titleBar = new DockWidgetTitleBar(dock); + qDebug() << "Adding" << dock->windowTitle() << "to dock..."; Utils::setTransparentBackgroundForWidget(titleBar); - connect(dock, &QDockWidget::featuresChanged, titleBar, - &DockWidgetTitleBar::handleFeaturesChanged); dock->setTitleBarWidget(titleBar); - titleBar->handleFeaturesChanged(dock->features()); } diff --git a/src/UI/DockWidgetTitleBar.hh b/src/UI/DockWidgetTitleBar.hh index 97c2ad6d8bffce7889b67c0e6ed068a3df02f03b..7b9402c00ef410d0ff45d45c9e9396b870ad3a5c 100644 --- a/src/UI/DockWidgetTitleBar.hh +++ b/src/UI/DockWidgetTitleBar.hh @@ -12,13 +12,7 @@ class DockWidgetTitleBar final : public QWidget { VIVY_UNMOVABLE_OBJECT(DockWidgetTitleBar) QDockWidget *attachedDock{ nullptr }; - QDockWidget::DockWidgetFeature currentFeatures{ QDockWidget::NoDockWidgetFeatures }; - explicit DockWidgetTitleBar(QDockWidget *parent) noexcept; - void handleFeaturesChanged(QDockWidget::DockWidgetFeatures) noexcept; - void clearControls() noexcept; - void addCloseButton() noexcept; - void addFloatButton() noexcept; public: static void addToDock(QDockWidget *const) noexcept;