Set panning cursor for quick panning

This commit is contained in:
manongjohn 2021-02-17 11:12:52 -05:00
parent ac99812cd8
commit c2d2af1a49
5 changed files with 35 additions and 4 deletions

View file

@ -19,7 +19,9 @@
#include "orientation.h"
// TnzTools includes
#include "tools/toolcommandids.h"
#include "tools/cursormanager.h"
#include "tools/cursors.h"
#include "tools/toolhandle.h"
// TnzQt includes
@ -2867,7 +2869,10 @@ void CellArea::mouseMoveEvent(QMouseEvent *event) {
int frameAdj = m_viewer->getFrameZoomAdjustment();
m_viewer->setQtModifiers(event->modifiers());
setCursor(Qt::ArrowCursor);
if (m_viewer->m_panningArmed)
setToolCursor(this, ToolCursor::PanCursor);
else
setCursor(Qt::ArrowCursor);
QPoint pos = event->pos();
QRect visibleRect = visibleRegion().boundingRect();
if (m_isPanning) {

View file

@ -38,6 +38,8 @@
#include "tenv.h"
#include "tools/toolcommandids.h"
#include "tools/cursormanager.h"
#include "tools/cursors.h"
#include <QPainter>
#include <QScrollBar>
@ -1854,8 +1856,7 @@ bool XsheetViewer::event(QEvent *e) {
e->accept();
return true;
} else if (e->type() == QEvent::KeyRelease) {
if (!keyEvent->isAutoRepeat())
m_panningArmed = false;
if (!keyEvent->isAutoRepeat()) m_panningArmed = false;
e->accept();
return true;
}

View file

@ -23,6 +23,8 @@
#include "tcommon.h"
#include "tools/toolcommandids.h"
#include "tools/cursormanager.h"
#include "tools/cursors.h"
// Qt includes
#include <QPainter>
@ -1443,6 +1445,7 @@ void FunctionPanel::enterEvent(QEvent *) {
void FunctionPanel::leaveEvent(QEvent *) {
m_cursor.visible = false;
m_panningArmed = false;
setCursor(Qt::ArrowCursor);
update();
}
@ -1810,10 +1813,12 @@ bool FunctionPanel::event(QEvent *e) {
if (e->type() == QEvent::KeyPress || e->type() == QEvent::ShortcutOverride) {
m_panningArmed = true;
setToolCursor(this, ToolCursor::PanCursor);
e->accept();
return true;
} else if (e->type() == QEvent::KeyRelease) {
if (!keyEvent->isAutoRepeat()) m_panningArmed = false;
setCursor(Qt::ArrowCursor);
e->accept();
return true;
}

View file

@ -730,10 +730,22 @@ bool SchematicSceneViewer::event(QEvent *e) {
if (e->type() == QEvent::KeyPress || e->type() == QEvent::ShortcutOverride) {
m_panningArmed = true;
setToolCursor(this, ToolCursor::PanCursor);
e->accept();
return true;
} else if (e->type() == QEvent::KeyRelease) {
if (!keyEvent->isAutoRepeat()) m_panningArmed = false;
switch (m_cursorMode) {
case CursorMode::Hand:
setToolCursor(this, ToolCursor::PanCursor);
break;
case CursorMode::Zoom:
setToolCursor(this, ToolCursor::ZoomCursor);
break;
default:
setToolCursor(this, ToolCursor::StrokeSelectCursor);
break;
}
e->accept();
return true;
}

View file

@ -8,7 +8,10 @@
#include "orientation.h"
#include "toonzqt/menubarcommand.h"
#include "tools/toolcommandids.h"
#include "tools/cursormanager.h"
#include "tools/cursors.h"
#include <QKeyEvent>
#include <QWheelEvent>
@ -891,7 +894,10 @@ void SpreadsheetViewer::enterEvent(QEvent *) { m_panningArmed = false; }
//-----------------------------------------------------------------------------
void SpreadsheetViewer::leaveEvent(QEvent *) { m_panningArmed = false; }
void SpreadsheetViewer::leaveEvent(QEvent *) {
m_panningArmed = false;
setCursor(Qt::ArrowCursor);
}
//-----------------------------------------------------------------------------
@ -965,10 +971,12 @@ bool SpreadsheetViewer::event(QEvent *e) {
if (e->type() == QEvent::KeyPress || e->type() == QEvent::ShortcutOverride) {
m_panningArmed = true;
setToolCursor(this, ToolCursor::PanCursor);
e->accept();
return true;
} else if (e->type() == QEvent::KeyRelease) {
if (!keyEvent->isAutoRepeat()) m_panningArmed = false;
setCursor(Qt::ArrowCursor);
e->accept();
return true;
}