ui: Added more movement controls to the graph

* SHIFT + mouse wheel for zooming
* WASD for moving up, right, left, down
* SHIFT + WS for zooming
* zoom anchor is under the mouse

bug id = 54
This commit is contained in:
Eberhard Graether
2016-03-12 00:55:31 +01:00
parent bcb43eccd0
commit 53d5fe6a06
5 changed files with 190 additions and 53 deletions
+40
View File
@@ -0,0 +1,40 @@
#ifndef QT_GRAPHICS_VIEW_H
#define QT_GRAPHICS_VIEW_H
#include <QGraphicsView>
class QtGraphicsView
: public QGraphicsView
{
Q_OBJECT
Q_PROPERTY(qreal zoom READ zoom WRITE setZoom)
public:
QtGraphicsView(QWidget* parent);
float getZoomFactor() const;
void setAppZoomFactor(float appZoomFactor);
qreal zoom() const;
void setZoom(qreal zoom);
protected:
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void keyPressEvent(QKeyEvent* event);
void wheelEvent(QWheelEvent* event);
signals:
void emptySpaceClicked();
private:
void updateTransform();
void updateZoom(bool in);
QPoint m_last;
float m_zoomFactor;
float m_appZoomFactor;
};
#endif // QT_GRAPHICS_VIEW_H