This commit is contained in:
Jeremy Bullock 2020-04-08 21:45:17 -06:00
parent 63e824b224
commit 118ba5bcc9
9 changed files with 873 additions and 897 deletions

File diff suppressed because it is too large Load diff

View file

@ -167,12 +167,12 @@ public:
TPoint m_liveViewZoomOffset = TPoint(0, 0);
EdsUInt32 m_liveViewZoom = 1;
bool m_pickLiveViewZoom = false;
bool m_liveViewZoomReadyToPick = true;
bool m_liveViewZoomReadyToPick = true;
TPointD m_liveViewZoomPickPoint = TPointD(0.0, 0.0);
TPoint m_zoomRectDimensions = TPoint(0, 0);
TPoint m_zoomRectDimensions = TPoint(0, 0);
TPoint m_calculatedZoomPoint = TPoint(0, 0);
TPoint m_finalZoomPoint = TPoint(0, 0);
TRect m_zoomRect = TRect(0, 0, 0, 0);
TRect m_zoomRect = TRect(0, 0, 0, 0);
// Webcam Public Properties
QString m_webcamDeviceName;

View file

@ -195,7 +195,7 @@ StopMotionController::StopMotionController(QWidget *parent) : QWidget(parent) {
m_resolutionCombo = new QComboBox(this);
m_resolutionCombo->setFixedWidth(fontMetrics().width("0000 x 0000") + 25);
m_resolutionLabel = new QLabel(tr("Resolution: "), this);
m_cameraStatusLabel = new QLabel(tr("Camera Status"), this);
m_cameraStatusLabel = new QLabel(tr("Camera Status"), this);
QPushButton *refreshCamListButton = new QPushButton(tr("Refresh"), this);
refreshCamListButton->setFixedHeight(28);
refreshCamListButton->setStyleSheet("padding: 0 2;");
@ -1152,7 +1152,7 @@ void StopMotionController::refreshMode() {
m_cameraStatusLabel->hide();
return;
}
QString mode = m_stopMotion->getMode();
QString mode = m_stopMotion->getMode();
QString battery = m_stopMotion->getCurrentBatteryLevel();
m_cameraModeLabel->setText(tr("Mode: ") + mode);
m_cameraStatusLabel->setText("Mode: " + mode + " - Battery: " + battery);
@ -1630,57 +1630,55 @@ void StopMotionController::hideEvent(QHideEvent *event) {
//-----------------------------------------------------------------------------
void StopMotionController::keyPressEvent(QKeyEvent *event) {
int key = event->key();
TFrameHandle* fh = TApp::instance()->getCurrentFrame();
int origFrame = fh->getFrame();
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) && (key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up || key == Qt::Key_Down
|| key == Qt::Key_2 || key == Qt::Key_4 || key == Qt::Key_6 || key == Qt::Key_8)) {
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
if (key == Qt::Key_Left || key == Qt::Key_4) {
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
}
if (key == Qt::Key_Right || key == Qt::Key_6) {
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
}
if (key == Qt::Key_Up || key == Qt::Key_8) {
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
}
if (key == Qt::Key_Down || key == Qt::Key_2) {
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
}
if (m_stopMotion->m_zooming) {
m_stopMotion->setZoomPoint();
}
}
m_stopMotion->calculateZoomPoint();
event->accept();
}
else if (key == Qt::Key_Up || key == Qt::Key_Left) {
fh->prevFrame();
event->accept();
}
else if (key == Qt::Key_Down || key == Qt::Key_Right) {
fh->nextFrame();
event->accept();
}
else if (key == Qt::Key_Home) {
fh->firstFrame();
event->accept();
}
else if (key == Qt::Key_End) {
fh->lastFrame();
event->accept();
}
else if (!m_stopMotion->m_pickLiveViewZoom && (key == Qt::Key_Return || key == Qt::Key_Enter)) {
void StopMotionController::keyPressEvent(QKeyEvent *event) {
int key = event->key();
TFrameHandle *fh = TApp::instance()->getCurrentFrame();
int origFrame = fh->getFrame();
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) &&
(key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up ||
key == Qt::Key_Down || key == Qt::Key_2 || key == Qt::Key_4 ||
key == Qt::Key_6 || key == Qt::Key_8)) {
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
if (key == Qt::Key_Left || key == Qt::Key_4) {
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
}
if (key == Qt::Key_Right || key == Qt::Key_6) {
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
}
if (key == Qt::Key_Up || key == Qt::Key_8) {
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
}
if (key == Qt::Key_Down || key == Qt::Key_2) {
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
}
if (m_stopMotion->m_zooming) {
m_stopMotion->setZoomPoint();
}
}
m_stopMotion->calculateZoomPoint();
event->accept();
} else if (key == Qt::Key_Up || key == Qt::Key_Left) {
fh->prevFrame();
event->accept();
} else if (key == Qt::Key_Down || key == Qt::Key_Right) {
fh->nextFrame();
event->accept();
} else if (key == Qt::Key_Home) {
fh->firstFrame();
event->accept();
} else if (key == Qt::Key_End) {
fh->lastFrame();
event->accept();
} else if (!m_stopMotion->m_pickLiveViewZoom &&
(key == Qt::Key_Return || key == Qt::Key_Enter)) {
m_captureButton->animateClick();
event->accept();
}
else if (m_stopMotion->m_pickLiveViewZoom && (key == Qt::Key_Escape || key == Qt::Key_Enter || key == Qt::Key_Return )) {
m_stopMotion->toggleZoomPicking();
}
} else if (m_stopMotion->m_pickLiveViewZoom &&
(key == Qt::Key_Escape || key == Qt::Key_Enter ||
key == Qt::Key_Return)) {
m_stopMotion->toggleZoomPicking();
}
else
event->ignore();
}

View file

@ -74,7 +74,8 @@ class StopMotionController final : public QWidget {
*m_focusFar3Button, *m_captureFilterSettingsBtn;
QHBoxLayout *m_focusAndZoomLayout;
QLabel *m_frameInfoLabel, *m_cameraSettingsLabel, *m_cameraModeLabel,
*m_kelvinLabel, *m_resolutionLabel, *m_directShowLabel, *m_cameraStatusLabel;
*m_kelvinLabel, *m_resolutionLabel, *m_directShowLabel,
*m_cameraStatusLabel;
QToolButton *m_previousLevelButton, *m_previousFrameButton,
*m_previousXSheetFrameButton;
@ -103,7 +104,7 @@ protected:
void hideEvent(QHideEvent *event);
// void mousePressEvent(QMouseEvent *event) override;
// void keyPressEvent(QKeyEvent *event);
void keyPressEvent(QKeyEvent* event) override;
void keyPressEvent(QKeyEvent *event) override;
protected slots:
void refreshCameraList();

View file

@ -467,7 +467,8 @@ bool GenericSaveFilePopup::execute() {
// (yep, even if a DIFFERENT type was specified - next time do it right :P)
const QStringList &extList = m_browser->getFilterTypes();
if (!m_isDirectoryOnly && !extList.contains(QString::fromStdString(path.getType()))) {
if (!m_isDirectoryOnly &&
!extList.contains(QString::fromStdString(path.getType()))) {
path =
TFilePath(path.getWideString() + L"." + extList.first().toStdWString());
}
@ -1220,10 +1221,10 @@ bool LoadLevelPopup::execute() {
args.frameIdsSet.push_back(tmp_fids);
}
int xFrom = m_xFrom->text().toInt();
int xFrom = m_xFrom->text().toInt();
if (xFrom) args.xFrom = xFrom;
int xTo = m_xTo->text().toInt();
if (xTo) args.xTo = xTo;
int xTo = m_xTo->text().toInt();
if (xTo) args.xTo = xTo;
args.levelName = m_levelName->text().toStdWString();
args.step = m_stepCombo->currentIndex();
@ -1574,7 +1575,7 @@ bool SaveLevelAsPopup::execute() {
TXshSimpleLevel *sl = dynamic_cast<TXshSimpleLevel *>(
TApp::instance()->getCurrentLevel()->getLevel());
if (!sl) return false;
std::string ext = sl->getPath().getType();
std::string ext = sl->getPath().getType();
if (fp.getType() == "") fp = fp.withType(ext);
IoCmd::LoadResourceArguments args(fp);
@ -2231,7 +2232,7 @@ void BrowserPopup::initFolder(TFilePath path) {
}
if (!TFileStatus(path).doesExist()) {
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
if (scene) path = scene->decodeFilePath(path);
if (scene) path = scene->decodeFilePath(path);
}
if (!path.getType().empty()) path = path.getParentDir();
@ -2300,8 +2301,8 @@ void BrowserPopupController::openPopup(QStringList filters,
QString BrowserPopupController::getPath(bool codePath) {
m_isExecute = false;
if (!m_browserPopup) return QString();
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
TFilePath fp = m_browserPopup->getPath();
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
TFilePath fp = m_browserPopup->getPath();
if (scene && codePath) fp = scene->codeFilePath(fp);
std::cout << ::to_string(fp) << std::endl;
return toQString(fp);

View file

@ -1197,7 +1197,7 @@ void MainWindow::onMenuCheckboxChanged() {
#endif
else if (cm->getAction(MI_RasterizePli) == action) {
if (!QGLPixelBuffer::hasOpenGLPbuffers()) isChecked = 0;
RasterizePliToggleAction = isChecked;
RasterizePliToggleAction = isChecked;
} else if (cm->getAction(MI_SafeArea) == action)
SafeAreaToggleAction = isChecked;
else if (cm->getAction(MI_ViewColorcard) == action)
@ -1621,7 +1621,8 @@ void MainWindow::defineActions() {
createMenuRenderAction(MI_Preview, tr("&Preview"), "Ctrl+R");
createMenuFileAction(MI_SoundTrack, tr("&Export Soundtrack"), "");
#ifdef WITH_STOPMOTION
createMenuFileAction(MI_StopMotionExportImageSequence, tr("&Export Stop Motion Image Sequence"), "");
createMenuFileAction(MI_StopMotionExportImageSequence,
tr("&Export Stop Motion Image Sequence"), "");
#endif
createMenuRenderAction(MI_SavePreviewedFrames, tr("&Save Previewed Frames"),
"");
@ -2372,7 +2373,8 @@ void MainWindow::defineActions() {
createAction(MI_StopMotionToggleLiveView, tr("Toggle Stop Motion Live View"),
"");
createAction(MI_StopMotionToggleZoom, tr("Toggle Stop Motion Zoom"), "");
createAction(MI_StopMotionPickFocusCheck, tr("Pick Focus Check Location"), "");
createAction(MI_StopMotionPickFocusCheck, tr("Pick Focus Check Location"),
"");
createAction(MI_StopMotionLowerSubsampling,
tr("Lower Stop Motion Level Subsampling"), "");
createAction(MI_StopMotionRaiseSubsampling,
@ -2467,7 +2469,7 @@ void MainWindow::clearCacheFolder() {
// 1. $CACHE/[Current ProcessID]
// 2. $CACHE/temp/[Current scene folder] if the current scene is untitled
TFilePath cacheRoot = ToonzFolder::getCacheRootFolder();
TFilePath cacheRoot = ToonzFolder::getCacheRootFolder();
if (cacheRoot.isEmpty()) cacheRoot = TEnv::getStuffDir() + "cache";
TFilePathSet filesToBeRemoved;
@ -2581,9 +2583,9 @@ RecentFiles::~RecentFiles() {}
void RecentFiles::addFilePath(QString path, FileType fileType,
QString projectName) {
QList<QString> files =
(fileType == Scene)
? m_recentScenes
: (fileType == Level) ? m_recentLevels : m_recentFlipbookImages;
(fileType == Scene) ? m_recentScenes : (fileType == Level)
? m_recentLevels
: m_recentFlipbookImages;
int i;
for (i = 0; i < files.size(); i++)
if (files.at(i) == path) {
@ -2750,9 +2752,9 @@ void RecentFiles::saveRecentFiles() {
QList<QString> RecentFiles::getFilesNameList(FileType fileType) {
QList<QString> files =
(fileType == Scene)
? m_recentScenes
: (fileType == Level) ? m_recentLevels : m_recentFlipbookImages;
(fileType == Scene) ? m_recentScenes : (fileType == Level)
? m_recentLevels
: m_recentFlipbookImages;
QList<QString> names;
int i;
for (i = 0; i < files.size(); i++) {
@ -2779,9 +2781,9 @@ void RecentFiles::refreshRecentFilesMenu(FileType fileType) {
menu->setEnabled(false);
else {
CommandId clearActionId =
(fileType == Scene)
? MI_ClearRecentScene
: (fileType == Level) ? MI_ClearRecentLevel : MI_ClearRecentImage;
(fileType == Scene) ? MI_ClearRecentScene : (fileType == Level)
? MI_ClearRecentLevel
: MI_ClearRecentImage;
menu->setActions(names);
menu->addSeparator();
QAction *clearAction = CommandManager::instance()->getAction(clearActionId);

View file

@ -297,7 +297,7 @@ void invalidateIcons() {
s.m_paintIndex = mask & ToonzCheck::ePaint ? tc->getColorIndex() : -1;
IconGenerator::instance()->setSettings(s);
// Force icons to refresh
// Force icons to refresh
TXshLevel *sl = TApp::instance()->getCurrentLevel()->getLevel();
if (sl) {
std::vector<TFrameId> fids;
@ -1585,24 +1585,25 @@ void SceneViewer::drawOverlay() {
#ifdef WITH_STOPMOTION
// draw Stop Motion Zoom Box
if (m_stopMotion->m_liveViewStatus == 2 && m_stopMotion->m_pickLiveViewZoom) {
glPushMatrix();
tglMultMatrix(m_drawCameraAff);
m_pixelSize = sqrt(tglGetPixelSize2()) * getDevPixRatio();
TRect rect = m_stopMotion->m_zoomRect;
if (m_stopMotion->m_liveViewStatus == 2 &&
m_stopMotion->m_pickLiveViewZoom) {
glPushMatrix();
tglMultMatrix(m_drawCameraAff);
m_pixelSize = sqrt(tglGetPixelSize2()) * getDevPixRatio();
TRect rect = m_stopMotion->m_zoomRect;
glColor3d(1.0, 0.0, 0.0);
// border
glBegin(GL_LINE_STRIP);
glVertex2d(rect.x0, rect.y0);
glVertex2d(rect.x0, rect.y1 - m_pixelSize);
glVertex2d(rect.x1 - m_pixelSize, rect.y1 - m_pixelSize);
glVertex2d(rect.x1 - m_pixelSize, rect.y0);
glVertex2d(rect.x0, rect.y0);
glEnd();
glColor3d(1.0, 0.0, 0.0);
glPopMatrix();
// border
glBegin(GL_LINE_STRIP);
glVertex2d(rect.x0, rect.y0);
glVertex2d(rect.x0, rect.y1 - m_pixelSize);
glVertex2d(rect.x1 - m_pixelSize, rect.y1 - m_pixelSize);
glVertex2d(rect.x1 - m_pixelSize, rect.y0);
glVertex2d(rect.x0, rect.y0);
glEnd();
glPopMatrix();
}
#endif
@ -1985,9 +1986,9 @@ void SceneViewer::drawScene() {
}
#ifdef WITH_STOPMOTION
if (m_stopMotion->m_liveViewStatus == 2 &&
(!frameHandle->isPlaying() ||
frame == m_stopMotion->getXSheetFrameNumber())) {
if (m_stopMotion->m_liveViewStatus == 2 &&
(!frameHandle->isPlaying() ||
frame == m_stopMotion->getXSheetFrameNumber())) {
if (m_hasStopMotionLineUpImage && m_stopMotion->m_showLineUpImage) {
Stage::Player smPlayer;
double dpiX, dpiY;
@ -2046,7 +2047,7 @@ double SceneViewer::projectToZ(const TPointD &delta) {
GLint viewport[4];
double modelview[16], projection[16];
glGetIntegerv(GL_VIEWPORT, viewport);
for (int i = 0; i < 16; i++)
for (int i = 0; i < 16; i++)
projection[i] = (double)m_projectionMatrix.constData()[i];
glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
@ -2208,9 +2209,8 @@ void SceneViewer::zoomQt(bool forward, bool reset) {
if (reset || ((m_zoomScale3D < 500 || !forward) &&
(m_zoomScale3D > 0.01 || forward))) {
double oldZoomScale = m_zoomScale3D;
m_zoomScale3D =
reset ? 1
: ImageUtils::getQuantizedZoomFactor(m_zoomScale3D, forward);
m_zoomScale3D = reset ? 1 : ImageUtils::getQuantizedZoomFactor(
m_zoomScale3D, forward);
m_pan3D = -(m_zoomScale3D / oldZoomScale) * -m_pan3D;
}
@ -2231,18 +2231,17 @@ void SceneViewer::zoomQt(bool forward, bool reset) {
int i;
for (i = 0; i < 2; i++) {
TAffine &viewAff = m_viewAff[i];
TAffine &viewAff = m_viewAff[i];
if (m_isFlippedX) viewAff = viewAff * TScale(-1, 1);
if (m_isFlippedX) viewAff = viewAff * TScale(1, -1);
double scale2 = std::abs(viewAff.det());
double scale2 = std::abs(viewAff.det());
if (m_isFlippedX) viewAff = viewAff * TScale(-1, 1);
if (m_isFlippedX) viewAff = viewAff * TScale(1, -1);
if (reset || ((scale2 < 100000 || !forward) &&
(scale2 > 0.001 * 0.05 || forward))) {
double oldZoomScale = sqrt(scale2) * dpiFactor;
double zoomScale =
reset ? 1
: ImageUtils::getQuantizedZoomFactor(oldZoomScale, forward);
double zoomScale = reset ? 1 : ImageUtils::getQuantizedZoomFactor(
oldZoomScale, forward);
// threshold value -0.001 is intended to absorb the error of calculation
if ((oldZoomScale - zoomScaleFittingWithScreen) *
@ -2543,9 +2542,9 @@ void SceneViewer::fitToCamera() {
TPointD P11 = cameraAff * cameraRect.getP11();
TPointD p0 = TPointD(std::min({P00.x, P01.x, P10.x, P11.x}),
std::min({P00.y, P01.y, P10.y, P11.y}));
TPointD p1 = TPointD(std::max({P00.x, P01.x, P10.x, P11.x}),
TPointD p1 = TPointD(std::max({P00.x, P01.x, P10.x, P11.x}),
std::max({P00.y, P01.y, P10.y, P11.y}));
cameraRect = TRectD(p0.x, p0.y, p1.x, p1.y);
cameraRect = TRectD(p0.x, p0.y, p1.x, p1.y);
// Pan
if (!is3DView()) {
@ -2598,8 +2597,8 @@ void SceneViewer::resetZoom() {
TPointD realCenter(m_viewAff[m_viewMode].a13, m_viewAff[m_viewMode].a23);
TAffine aff =
getNormalZoomScale() * TRotation(realCenter, m_rotationAngle[m_viewMode]);
aff.a13 = realCenter.x;
aff.a23 = realCenter.y;
aff.a13 = realCenter.x;
aff.a23 = realCenter.y;
if (m_isFlippedX) aff = aff * TScale(-1, 1);
if (m_isFlippedY) aff = aff * TScale(1, -1);
setViewMatrix(aff, m_viewMode);
@ -2656,17 +2655,16 @@ void SceneViewer::setActualPixelSize() {
} else
dpi = sl->getDpi(fid);
const double inch = Stage::inch;
TAffine tempAff = getNormalZoomScale();
if (m_isFlippedX) tempAff = tempAff * TScale(-1, 1);
if (m_isFlippedY) tempAff = tempAff * TScale(1, -1);
TPointD tempScale = dpi;
const double inch = Stage::inch;
TAffine tempAff = getNormalZoomScale();
if (m_isFlippedX) tempAff = tempAff * TScale(-1, 1);
if (m_isFlippedY) tempAff = tempAff * TScale(1, -1);
TPointD tempScale = dpi;
if (m_isFlippedX) tempScale.x = -tempScale.x;
if (m_isFlippedY) tempScale.y = -tempScale.y;
for (int i = 0; i < m_viewAff.size(); ++i)
setViewMatrix(dpi == TPointD(0, 0)
? tempAff
: TScale(tempScale.x / inch, tempScale.y / inch),
setViewMatrix(dpi == TPointD(0, 0) ? tempAff : TScale(tempScale.x / inch,
tempScale.y / inch),
i);
m_pos = QPoint(0, 0);
@ -2949,7 +2947,7 @@ void drawSpline(const TAffine &viewMatrix, const TRect &clipRect, bool camera3d,
TStageObject *pegbar =
objId != TStageObjectId::NoneId ? xsh->getStageObject(objId) : 0;
const TStroke *stroke = 0;
const TStroke *stroke = 0;
if (pegbar && pegbar->getSpline()) stroke = pegbar->getSpline()->getStroke();
if (!stroke) return;

View file

@ -75,7 +75,7 @@ namespace {
void initToonzEvent(TMouseEvent &toonzEvent, QMouseEvent *event,
int widgetHeight, double pressure, int devPixRatio) {
toonzEvent.m_pos = TPointD(event->pos().x() * devPixRatio,
toonzEvent.m_pos = TPointD(event->pos().x() * devPixRatio,
widgetHeight - 1 - event->pos().y() * devPixRatio);
toonzEvent.m_mousePos = event->pos();
toonzEvent.m_pressure = 1.0;
@ -908,12 +908,12 @@ void SceneViewer::wheelEvent(QWheelEvent *event) {
default: // Qt::MouseEventSynthesizedByQt,
// Qt::MouseEventSynthesizedByApplication
{
std::cout << "not supported event: Qt::MouseEventSynthesizedByQt, "
"Qt::MouseEventSynthesizedByApplication"
<< std::endl;
break;
}
{
std::cout << "not supported event: Qt::MouseEventSynthesizedByQt, "
"Qt::MouseEventSynthesizedByApplication"
<< std::endl;
break;
}
} // end switch
@ -1009,8 +1009,8 @@ void SceneViewer::gestureEvent(QGestureEvent *e) {
qreal rotationDelta =
gesture->rotationAngle() - gesture->lastRotationAngle();
if (m_isFlippedX != m_isFlippedY) rotationDelta = -rotationDelta;
TAffine aff = getViewMatrix().inv();
TPointD center = aff * TPointD(0, 0);
TAffine aff = getViewMatrix().inv();
TPointD center = aff * TPointD(0, 0);
if (!m_rotating && !m_zooming) {
m_rotationDelta += rotationDelta;
double absDelta = abs(m_rotationDelta);
@ -1089,115 +1089,118 @@ void SceneViewer::touchEvent(QTouchEvent *e, int type) {
//-----------------------------------------------------------------------------
bool SceneViewer::event(QEvent *e) {
/*
switch (e->type()) {
// case QEvent::Enter:
// qDebug() << "[enter] ************************** Enter";
// break;
// case QEvent::Leave:
// qDebug() << "[enter] ************************** Leave";
// break;
/*
switch (e->type()) {
// case QEvent::Enter:
// qDebug() << "[enter] ************************** Enter";
// break;
// case QEvent::Leave:
// qDebug() << "[enter] ************************** Leave";
// break;
case QEvent::TabletPress: {
QTabletEvent *te = static_cast<QTabletEvent *>(e);
qDebug() << "[enter] ************************** TabletPress mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState
<< ") pressure(" << m_pressure << ") pointerType("
<< te->pointerType() << ") device(" << te->device() << ")";
} break;
// case QEvent::TabletMove:
// qDebug() << "[enter] ************************** TabletMove
//mouseState("<<m_mouseState<<") tabletState("<<m_tabletState<<") pressure("
//<< m_pressure << ")";
// break;
case QEvent::TabletRelease:
qDebug() << "[enter] ************************** TabletRelease mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
break;
case QEvent::TabletPress: {
QTabletEvent *te = static_cast<QTabletEvent *>(e);
qDebug() << "[enter] ************************** TabletPress mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState
<< ") pressure(" << m_pressure << ") pointerType("
<< te->pointerType() << ") device(" << te->device() << ")";
} break;
// case QEvent::TabletMove:
// qDebug() << "[enter] ************************** TabletMove
//mouseState("<<m_mouseState<<") tabletState("<<m_tabletState<<") pressure("
//<< m_pressure << ")";
// break;
case QEvent::TabletRelease:
qDebug() << "[enter] ************************** TabletRelease mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
break;
case QEvent::TouchBegin:
qDebug() << "[enter] ************************** TouchBegin";
break;
case QEvent::TouchEnd:
qDebug() << "[enter] ************************** TouchEnd";
break;
case QEvent::TouchCancel:
qDebug() << "[enter] ************************** TouchCancel";
break;
case QEvent::TouchBegin:
qDebug() << "[enter] ************************** TouchBegin";
break;
case QEvent::TouchEnd:
qDebug() << "[enter] ************************** TouchEnd";
break;
case QEvent::TouchCancel:
qDebug() << "[enter] ************************** TouchCancel";
break;
case QEvent::Gesture:
qDebug() << "[enter] ************************** Gesture";
break;
case QEvent::Gesture:
qDebug() << "[enter] ************************** Gesture";
break;
case QEvent::MouseButtonPress:
qDebug()
<< "[enter] ************************** MouseButtonPress mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState << ") pressure("
<< m_pressure << ") tabletEvent(" << m_tabletEvent << ")";
break;
// case QEvent::MouseMove:
// qDebug() << "[enter] ************************** MouseMove mouseState("
//<< m_mouseState << ") tabletState("<<m_tabletState<<") pressure(" <<
//m_pressure << ")";
// break;
case QEvent::MouseButtonRelease:
qDebug()
<< "[enter] ************************** MouseButtonRelease mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
break;
case QEvent::MouseButtonPress:
qDebug()
<< "[enter] ************************** MouseButtonPress mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState << ") pressure("
<< m_pressure << ") tabletEvent(" << m_tabletEvent << ")";
break;
// case QEvent::MouseMove:
// qDebug() << "[enter] ************************** MouseMove mouseState("
//<< m_mouseState << ") tabletState("<<m_tabletState<<") pressure(" <<
//m_pressure << ")";
// break;
case QEvent::MouseButtonRelease:
qDebug()
<< "[enter] ************************** MouseButtonRelease mouseState("
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
break;
case QEvent::MouseButtonDblClick:
qDebug() << "[enter] ============================== MouseButtonDblClick";
break;
}
*/
case QEvent::MouseButtonDblClick:
qDebug() << "[enter] ============================== MouseButtonDblClick";
break;
}
*/
#ifdef WITH_STOPMOTION
int key = 0;
if (e->type() == QEvent::KeyPress) {
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(e);
key = keyEvent->key();
int key = 0;
if (e->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(e);
key = keyEvent->key();
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) && (key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up || key == Qt::Key_Down
|| key == Qt::Key_2 || key == Qt::Key_4 || key == Qt::Key_6 || key == Qt::Key_8)) {
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
if (key == Qt::Key_Left || key == Qt::Key_4) {
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
}
if (key == Qt::Key_Right || key == Qt::Key_6) {
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
}
if (key == Qt::Key_Up || key == Qt::Key_8) {
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
}
if (key == Qt::Key_Down || key == Qt::Key_2) {
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
}
if (m_stopMotion->m_zooming) {
m_stopMotion->setZoomPoint();
}
}
m_stopMotion->calculateZoomPoint();
e->accept();
return true;
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) &&
(key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up ||
key == Qt::Key_Down || key == Qt::Key_2 || key == Qt::Key_4 ||
key == Qt::Key_6 || key == Qt::Key_8)) {
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
if (key == Qt::Key_Left || key == Qt::Key_4) {
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
}
else if (m_stopMotion->m_pickLiveViewZoom && (key == Qt::Key_Escape || key == Qt::Key_Enter || key == Qt::Key_Return)) {
m_stopMotion->toggleZoomPicking();
e->accept();
return true;
if (key == Qt::Key_Right || key == Qt::Key_6) {
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
}
else if (m_stopMotion->m_liveViewStatus == 2 && (key == Qt::Key_Enter || key == Qt::Key_Return)) {
m_stopMotion->captureImage();
e->accept();
return true;
if (key == Qt::Key_Up || key == Qt::Key_8) {
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
}
if (key == Qt::Key_Down || key == Qt::Key_2) {
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
}
if (m_stopMotion->m_zooming) {
m_stopMotion->setZoomPoint();
}
}
m_stopMotion->calculateZoomPoint();
e->accept();
return true;
} else if (m_stopMotion->m_pickLiveViewZoom &&
(key == Qt::Key_Escape || key == Qt::Key_Enter ||
key == Qt::Key_Return)) {
m_stopMotion->toggleZoomPicking();
e->accept();
return true;
} else if (m_stopMotion->m_liveViewStatus == 2 &&
(key == Qt::Key_Enter || key == Qt::Key_Return)) {
m_stopMotion->captureImage();
e->accept();
return true;
}
}
#endif
if (e->type() == QEvent::Gesture && CommandManager::instance()
->getAction(MI_TouchGestureControl)
->isChecked()) {
if (e->type() == QEvent::Gesture &&
CommandManager::instance()
->getAction(MI_TouchGestureControl)
->isChecked()) {
gestureEvent(static_cast<QGestureEvent *>(e));
return true;
}
@ -1237,7 +1240,7 @@ bool SceneViewer::event(QEvent *e) {
// Disable keyboard shortcuts while the tool is busy with a mouse drag
// operation.
if ( tool->isDragging() ) {
if (tool->isDragging()) {
e->accept();
}
@ -1665,13 +1668,13 @@ void SceneViewer::dropEvent(QDropEvent *e) {
IoCmd::loadResources(args);
if (acceptResourceOrFolderDrop(mimeData->urls())) {
// Force Copy Action
e->setDropAction(Qt::CopyAction);
// For files, don't accept original proposed action in case it's a move
e->accept();
return;
}
if (acceptResourceOrFolderDrop(mimeData->urls())) {
// Force Copy Action
e->setDropAction(Qt::CopyAction);
// For files, don't accept original proposed action in case it's a move
e->accept();
return;
}
}
e->acceptProposedAction();
}
@ -1685,8 +1688,8 @@ void SceneViewer::onToolSwitched() {
TTool *tool = TApp::instance()->getCurrentTool()->getTool();
if (tool) {
tool->updateMatrix();
if (tool->getViewer()) tool->getViewer()->setGuidedStrokePickerMode(0);
tool->updateMatrix();
if (tool->getViewer()) tool->getViewer()->setGuidedStrokePickerMode(0);
}
onLevelChanged();

View file

@ -920,7 +920,6 @@ void TXshSimpleLevel::loadData(TIStream &is) {
if (is.getTagParam("isStopMotionLevel", v))
isStopMotionLevel = std::stoi(v);
m_properties->setDpiPolicy(dpiPolicy);
m_properties->setDpi(TPointD(xdpi, ydpi));
m_properties->setSubsampling(subsampling);