diff options
-rw-r--r-- | src/linguist/linguist/formpreviewview.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/linguist/linguist/formpreviewview.cpp b/src/linguist/linguist/formpreviewview.cpp index 0c923c05f..31a736178 100644 --- a/src/linguist/linguist/formpreviewview.cpp +++ b/src/linguist/linguist/formpreviewview.cpp @@ -400,12 +400,16 @@ static void bringToFront(const TranslatableEntry &target) for (QObject *obj = target.target.object; obj != 0; obj = obj->parent()) { if (QWidget *w = qobject_cast<QWidget *>(obj)) { #ifndef QT_NO_STACKEDWIDGET - if (QStackedWidget *stack = qobject_cast<QStackedWidget *>(obj->parent())) - stack->setCurrentWidget(w); -#endif + if (QStackedWidget *stack = qobject_cast<QStackedWidget *>(obj->parent())) { #ifndef QT_NO_TABWIDGET - if (QTabWidget *tab = qobject_cast<QTabWidget *>(obj->parent())) - tab->setCurrentWidget(w); + // Updating QTabWidget's embedded QStackedWidget does not update its + // QTabBar, so handle tab widgets explicitly. + if (QTabWidget *tab = qobject_cast<QTabWidget *>(stack->parent())) + tab->setCurrentWidget(w); + else +#endif + stack->setCurrentWidget(w); + } #endif #ifndef QT_NO_TOOLBOX if (QScrollArea *sv = qobject_cast<QScrollArea *>(obj->parent())) |