diff --git a/src/lib/tabwidget/tabstackedwidget.cpp b/src/lib/tabwidget/tabstackedwidget.cpp index d0c03aed5..e1b3b6607 100644 --- a/src/lib/tabwidget/tabstackedwidget.cpp +++ b/src/lib/tabwidget/tabstackedwidget.cpp @@ -235,11 +235,12 @@ int TabStackedWidget::pinUnPinTab(int index, const QString &title) int newIndex = -1; QWidget* widget = m_stack->widget(index); QWidget* currentWidget = m_stack->currentWidget(); + bool makePinned = false; m_tabBar->m_blockCurrentChangedSignal = true; if (widget) { - bool makePinned = index >= m_tabBar->pinnedTabsCount(); + makePinned = index >= m_tabBar->pinnedTabsCount(); QWidget* button = m_tabBar->tabButton(index, m_tabBar->iconButtonPosition()); m_tabBar->setTabButton(index, m_tabBar->iconButtonPosition(), 0); @@ -255,6 +256,10 @@ int TabStackedWidget::pinUnPinTab(int index, const QString &title) // Restore current index setCurrentWidget(currentWidget); + if (widget) { + emit pinStateChanged(newIndex, makePinned); + } + return newIndex; } diff --git a/src/lib/tabwidget/tabstackedwidget.h b/src/lib/tabwidget/tabstackedwidget.h index 9081a011b..48be6926e 100644 --- a/src/lib/tabwidget/tabstackedwidget.h +++ b/src/lib/tabwidget/tabstackedwidget.h @@ -63,6 +63,7 @@ public: signals: void currentChanged(int index); void tabCloseRequested(int index); + void pinStateChanged(int index, bool pinned); public slots: void setCurrentIndex(int index);