mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-07 13:12:39 +02:00
enable dragging the window
This commit is contained in:
parent
9c062e3228
commit
1f4e15314c
2 changed files with 18 additions and 7 deletions
|
@ -2,30 +2,37 @@
|
|||
|
||||
#include <iostream>
|
||||
|
||||
#include <QCursor>
|
||||
|
||||
void LauncherWindow::keyPressEvent(QKeyEvent* event) {
|
||||
QQuickView::keyPressEvent(event);
|
||||
if (!event->isAccepted()) {
|
||||
// std::cout << "Key press event\n";
|
||||
}
|
||||
}
|
||||
|
||||
void LauncherWindow::mousePressEvent(QMouseEvent* event) {
|
||||
QQuickView::mousePressEvent(event);
|
||||
if (!event->isAccepted()) {
|
||||
//std::cout << "mouse press event\n";
|
||||
if (event->button() == Qt::LeftButton) {
|
||||
_drag = true;
|
||||
_previousMousePos = QCursor::pos();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LauncherWindow::mouseReleaseEvent(QMouseEvent* event) {
|
||||
QQuickView::mouseReleaseEvent(event);
|
||||
if (!event->isAccepted()) {
|
||||
//std::cout << "mouse release event\n";
|
||||
}
|
||||
_drag = false;
|
||||
}
|
||||
|
||||
void LauncherWindow::mouseMoveEvent(QMouseEvent* event) {
|
||||
QQuickView::mouseMoveEvent(event);
|
||||
if (!event->isAccepted()) {
|
||||
// std::cout << "mouse move event\n";
|
||||
if (_drag) {
|
||||
QPoint cursorPos = QCursor::pos();
|
||||
QPoint offset = _previousMousePos - cursorPos;
|
||||
_previousMousePos = cursorPos;
|
||||
setPosition(position() - offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include <QQuickView>
|
||||
|
||||
#include <QPoint>
|
||||
|
||||
class LauncherWindow : public QQuickView {
|
||||
public:
|
||||
|
@ -7,4 +7,8 @@ public:
|
|||
void mousePressEvent(QMouseEvent* event) override;
|
||||
void mouseReleaseEvent(QMouseEvent* event) override;
|
||||
void mouseMoveEvent(QMouseEvent* event) override;
|
||||
|
||||
private:
|
||||
bool _drag { false };
|
||||
QPoint _previousMousePos;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue