X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_MainWindow.cpp;h=1400fc0ccc7f4c502b092cbdae6bc5b93cd4532b;hb=329d73a7dbce38e38063ff41186be492e3529ab5;hp=a0cefc1d3e881a4ac865ae3de153f12786b4c4b6;hpb=f9ea06a9d7bb695b60b3338d6946092d05e436b2;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_MainWindow.cpp b/src/XGUI/XGUI_MainWindow.cpp index a0cefc1d3..1400fc0cc 100644 --- a/src/XGUI/XGUI_MainWindow.cpp +++ b/src/XGUI/XGUI_MainWindow.cpp @@ -13,6 +13,8 @@ #include #include #include +#include +#include XGUI_MainWindow::XGUI_MainWindow(QWidget* parent) : QMainWindow(parent), @@ -171,15 +173,18 @@ void XGUI_MainWindow::activateView() QMdiArea* aMdiArea = static_cast(centralWidget()); QList aWndList = aMdiArea->subWindowList(); + QMdiSubWindow* aTargetView = 0; foreach(QMdiSubWindow* aWnd, aWndList) { if (aWnd->windowTitle() == aWndTitle) { aWnd->raise(); aWnd->activateWindow(); - aWnd->setFocus(); + aTargetView = aWnd; break; } } QApplication::processEvents(); + if (aTargetView) + QTimer::singleShot(20, aTargetView, SLOT(setFocus())); } void XGUI_MainWindow::onViewActivated(QMdiSubWindow* theSubWnd) @@ -193,4 +198,10 @@ void XGUI_MainWindow::onViewActivated(QMdiSubWindow* theSubWnd) if (aAct->isCheckable()) aAct->setChecked(aAct->text() == aWndTitle); } -} \ No newline at end of file +} + +void XGUI_MainWindow::closeEvent(QCloseEvent * event) +{ + emit exitKeySequence(); + event->ignore(); +}