diff --git a/src/DockWidget.cpp b/src/DockWidget.cpp index 559a1d5..9389d3a 100644 --- a/src/DockWidget.cpp +++ b/src/DockWidget.cpp @@ -61,11 +61,11 @@ struct DockWidgetPrivate CDockWidget* _this; QBoxLayout* Layout; QWidget* Widget = nullptr; - CDockWidgetTab* TabWidget; + CDockWidgetTab* TabWidget = nullptr; CDockWidget::DockWidgetFeatures Features = CDockWidget::AllDockWidgetFeatures; CDockManager* DockManager = nullptr; CDockAreaWidget* DockArea = nullptr; - QAction* ToggleViewAction; + QAction* ToggleViewAction = nullptr; bool Closed = false; QScrollArea* ScrollArea = nullptr; QToolBar* ToolBar = nullptr; @@ -507,7 +507,16 @@ bool CDockWidget::event(QEvent *e) { if (e->type() == QEvent::WindowTitleChange) { - emit titleChanged(windowTitle()); + const auto title = windowTitle(); + if (d->TabWidget) + { + d->TabWidget->setText(title); + } + if (d->ToggleViewAction) + { + d->ToggleViewAction->setText(title); + } + emit titleChanged(title); } return QFrame::event(e); } diff --git a/src/DockWidgetTab.cpp b/src/DockWidgetTab.cpp index eda8286..887eb4a 100644 --- a/src/DockWidgetTab.cpp +++ b/src/DockWidgetTab.cpp @@ -482,6 +482,14 @@ void CDockWidgetTab::setVisible(bool visible) } +//============================================================================ +void CDockWidgetTab::setText(const QString& title) +{ + d->TitleLabel->setText(title); +} + + + //============================================================================ bool CDockWidgetTab::isClosable() const { diff --git a/src/DockWidgetTab.h b/src/DockWidgetTab.h index c72f2df..f828190 100644 --- a/src/DockWidgetTab.h +++ b/src/DockWidgetTab.h @@ -125,13 +125,21 @@ public: */ QString text() const; + + /** + * Sets the tab text + */ + void setText(const QString& title); + /** * This function returns true if the assigned dock widget is closeable */ bool isClosable() const; public slots: - virtual void setVisible(bool visible) override; + + virtual void setVisible(bool visible) override; + signals: void activeTabChanged();