mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 08:36:26 +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();
|
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);
|
void applicationWindowScreenChanged(QScreen* screen);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Emits a 'closed' signal when this dialog is closed.
|
virtual void closeEvent(QCloseEvent*); // Emits a 'closed' signal when this dialog is closed.
|
||||||
void closeEvent(QCloseEvent*);
|
virtual void showEvent(QShowEvent* event);
|
||||||
|
virtual void hideEvent(QHideEvent* event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void centerCursorOnWidget(QWidget* widget);
|
||||||
|
|
||||||
bool _wasMoved;
|
bool _wasMoved;
|
||||||
QRect _previousRect;
|
QRect _previousRect;
|
||||||
QScreen* _previousScreen;
|
QScreen* _previousScreen;
|
||||||
|
|
Loading…
Reference in a new issue