+ fixes #0001797: Fix focus problem with Quarter based viewer

This commit is contained in:
wmayer
2014-10-27 11:36:33 +01:00
parent 30d38e6749
commit a239e7b194

View File

@@ -952,7 +952,7 @@ void MainWindow::onWindowActivated(QWidget* w)
if (!w) return;
MDIView* view = dynamic_cast<MDIView*>(w->widget());
#else
MDIView* view = dynamic_cast<MDIView*>(w);
MDIView* view = dynamic_cast<MDIView*>(w);
#endif
// Even if windowActivated() signal is emitted mdi doesn't need to be a top-level window.
@@ -1625,6 +1625,18 @@ void MainWindow::changeEvent(QEvent *e)
Workbench* wb = WorkbenchManager::instance()->active();
if (wb) wb->retranslate();
}
else if (e->type() == QEvent::ActivationChange) {
if (isActiveWindow()) {
QMdiSubWindow* mdi = d->mdiArea->currentSubWindow();
if (mdi) {
MDIView* view =dynamic_cast<MDIView*>(mdi->widget());
if (getMainWindow()->activeWindow() != view) {
d->activeView = view;
Application::Instance->viewActivated(view);
}
}
}
}
else {
QMainWindow::changeEvent(e);
}