1
0

fix bugs within scale and rotate

This commit is contained in:
Gary Wang
2019-10-02 16:04:50 +08:00
parent ad879f8f8b
commit f47ee03ce3
3 changed files with 74 additions and 10 deletions

View File

@@ -59,16 +59,17 @@ MainWindow::MainWindow(QWidget *parent) :
m_bottomButtonGroup = new BottomButtonGroup(this);
connect(m_bottomButtonGroup, &BottomButtonGroup::resetToOriginalBtnClicked,
this, [ = ](){ m_graphicsView->resetTransform(); });
this, [ = ](){ m_graphicsView->resetScale(); });
connect(m_bottomButtonGroup, &BottomButtonGroup::zoomInBtnClicked,
this, [ = ](){ m_graphicsView->scale(1.25, 1.25); });
this, [ = ](){ m_graphicsView->zoomView(1.25); });
connect(m_bottomButtonGroup, &BottomButtonGroup::zoomOutBtnClicked,
this, [ = ](){ m_graphicsView->scale(0.75, 0.75); });
this, [ = ](){ m_graphicsView->zoomView(0.75); });
connect(m_bottomButtonGroup, &BottomButtonGroup::toggleCheckerboardBtnClicked,
this, [ = ](){ m_graphicsView->toggleCheckerboard(); });
connect(m_bottomButtonGroup, &BottomButtonGroup::rotateRightBtnClicked,
this, [ = ](){
m_graphicsView->rotate(90);
m_graphicsView->resetScale();
m_graphicsView->rotateView(90);
m_graphicsView->checkAndDoFitInView();
});
@@ -87,7 +88,7 @@ void MainWindow::showUrls(const QList<QUrl> &urls)
void MainWindow::adjustWindowSizeBySceneRect()
{
if (m_graphicsView->transform().m11() < 1) {
if (m_graphicsView->scaleFactor() < 1) {
// if it scaled down by the resize policy:
QSize screenSize = qApp->screenAt(QCursor::pos())->availableSize();
QSize sceneSize = m_graphicsView->sceneRect().toRect().size();
@@ -120,7 +121,7 @@ void MainWindow::mousePressEvent(QMouseEvent *event)
m_clickedOnWindow = true;
m_oldMousePos = event->pos();
qDebug() << m_oldMousePos << m_graphicsView->transform().m11()
<< m_graphicsView->transform().m22() << m_graphicsView->matrix().m11();
<< m_graphicsView->transform().m22() << m_graphicsView->matrix().m12();
event->accept();
}