mirror of
https://github.com/overte-org/overte.git
synced 2025-04-21 09:24:00 +02:00
snap cursor to center of HMD tools dialog when shown, or app when the dialog is hidden
This commit is contained in:
parent
c580617921
commit
ad6680553c
2 changed files with 20 additions and 2 deletions
|
@ -170,4 +170,19 @@ void HMDToolsDialog::closeEvent(QCloseEvent* event) {
|
|||
emit closed();
|
||||
}
|
||||
|
||||
void HMDToolsDialog::centerCursorOnWidget(QWidget* widget) {
|
||||
QWindow* window = widget->windowHandle();
|
||||
QScreen* screen = window->screen();
|
||||
QPoint windowCenter = window->geometry().center();
|
||||
QCursor::setPos(screen, windowCenter);
|
||||
}
|
||||
|
||||
void HMDToolsDialog::showEvent(QShowEvent* event) {
|
||||
centerCursorOnWidget(this);
|
||||
}
|
||||
|
||||
void HMDToolsDialog::hideEvent(QHideEvent* event) {
|
||||
centerCursorOnWidget(Application::getInstance()->getWindow());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -35,10 +35,13 @@ public slots:
|
|||
void applicationWindowScreenChanged(QScreen* screen);
|
||||
|
||||
protected:
|
||||
// Emits a 'closed' signal when this dialog is closed.
|
||||
void closeEvent(QCloseEvent*);
|
||||
virtual void closeEvent(QCloseEvent*); // Emits a 'closed' signal when this dialog is closed.
|
||||
virtual void showEvent(QShowEvent* event);
|
||||
virtual void hideEvent(QHideEvent* event);
|
||||
|
||||
private:
|
||||
void centerCursorOnWidget(QWidget* widget);
|
||||
|
||||
bool _wasMoved;
|
||||
QRect _previousRect;
|
||||
QScreen* _previousScreen;
|
||||
|
|
Loading…
Reference in a new issue