forked from qt-creator/qt-creator
ADS: Focus content widget when tab is clicked or dockwidget gets focus
Fixes: QDS-10396 Change-Id: Ic7d4a73ff535c0c0cb73e1e5bd636bec00a1336c Reviewed-by: Henning Gründl <henning.gruendl@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
@@ -231,6 +231,9 @@ void DockFocusController::onApplicationFocusChanged(QWidget *focusedOld, QWidget
|
||||
return;
|
||||
|
||||
DockWidget *dockWidget = qobject_cast<DockWidget *>(focusedNow);
|
||||
|
||||
bool focusActual = dockWidget && dockWidget->widget();
|
||||
|
||||
if (!dockWidget)
|
||||
dockWidget = internal::findParent<DockWidget *>(focusedNow);
|
||||
|
||||
@@ -243,6 +246,12 @@ void DockFocusController::onApplicationFocusChanged(QWidget *focusedOld, QWidget
|
||||
#endif
|
||||
|
||||
d->updateDockWidgetFocus(dockWidget);
|
||||
|
||||
if (focusActual) {
|
||||
// QDS: Focus the actual content widget when dockWidget gets focus
|
||||
QMetaObject::invokeMethod(dockWidget->widget(), QOverload<>::of(&QWidget::setFocus),
|
||||
Qt::QueuedConnection);
|
||||
}
|
||||
}
|
||||
|
||||
void DockFocusController::setDockWidgetTabFocused(DockWidgetTab *tab)
|
||||
|
||||
Reference in New Issue
Block a user