Author: jghali
Date: Tue Apr 21 00:18:37 2020
New Revision: 23633

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23633
Log:
#16092: Screen not updated correctly when deselecting items with ESC key

Modified:
    trunk/Scribus/scribus/scribusview.cpp

Modified: trunk/Scribus/scribus/scribusview.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23633&path=/trunk/Scribus/scribus/scribusview.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusview.cpp       (original)
+++ trunk/Scribus/scribus/scribusview.cpp       Tue Apr 21 00:18:37 2020
@@ -1371,26 +1371,26 @@
 
 void ScribusView::getDragRectScreen(double *x, double *y, double *w, double *h)
 {
-       QPoint in(qRound(dragX*m_canvas->scale()), 
qRound(dragY*m_canvas->scale()));
+       QPoint in(qRound(dragX * m_canvas->scale()), qRound(dragY * 
m_canvas->scale()));
        //      in -= QPoint(qRound(Doc->minCanvasCoordinate.x() * 
m_canvas->scale()), qRound(Doc->minCanvasCoordinate.y() * m_canvas->scale()));
        QPoint out = contentsToViewport(in);
        *x = static_cast<double>(out.x());
        *y = static_cast<double>(out.y());
-       *w = dragW*m_canvas->scale();
-       *h = dragH*m_canvas->scale();
+       *w = dragW * m_canvas->scale();
+       *h = dragH * m_canvas->scale();
 }
 
 void ScribusView::getGroupRectScreen(double *x, double *y, double *w, double 
*h)
 {
        double gx, gy, gh, gw;
        m_doc->m_Selection->getGroupRect(&gx, &gy, &gw, &gh);
-       QPoint in(qRound(gx*m_canvas->scale()), qRound(gy*m_canvas->scale()));
+       QPoint in(qRound(gx * m_canvas->scale()), qRound(gy * 
m_canvas->scale()));
        //      in -= QPoint(qRound(Doc->minCanvasCoordinate.x() * 
m_canvas->scale()), qRound(Doc->minCanvasCoordinate.y() * m_canvas->scale()));
        QPoint out = contentsToViewport(in);
        *x = static_cast<double>(out.x());
        *y = static_cast<double>(out.y());
-       *w = gw*m_canvas->scale();
-       *h = gh*m_canvas->scale();
+       *w = gw * m_canvas->scale();
+       *h = gh * m_canvas->scale();
 }
 
 
@@ -1858,14 +1858,7 @@
                if ((currItem->asTextFrame()) && (currItem->isBookmark))
                        emit ChBMText(currItem);
        }
-       if (m_doc->m_Selection->isMultipleSelection())
-       {
-               double x, y, w, h;
-               m_doc->m_Selection->getGroupRect(&x, &y, &w, &h);
-               m_doc->m_Selection->clear();
-               updateCanvas(x - 5 / scale, y - 5 / scale, w + 10 / scale, h + 
10 / scale);
-       }
-       else
+       if (!m_doc->m_Selection->isMultipleSelection())
        {
                currItem = m_doc->m_Selection->itemAt(0);
                if (currItem != nullptr)
@@ -1873,10 +1866,11 @@
                        currItem->itemText.deselectAll();
                        currItem->HasSel = false;
                }
-               m_doc->m_Selection->clear();
-               if (currItem != nullptr)
-                       updateContents(currItem->getRedrawBounding(scale));
-       }
+       }
+       double x, y, w, h;
+       m_doc->m_Selection->getGroupRect(&x, &y, &w, &h);
+       m_doc->m_Selection->clear();
+       updateCanvas(x - 5 / scale, y - 5 / scale, w + 10 / scale, h + 10 / 
scale);
 }
 
 // FIXME:av -> CanvasMode_legacy / Doc
@@ -2207,10 +2201,10 @@
        {
                QPoint upperLeft = m_canvas->canvasToLocal(box.topLeft());
                QPoint lowerRight = m_canvas->canvasToLocal(box.bottomRight());
-               upperLeft.setX(qMax(0, upperLeft.x()-10));
-               upperLeft.setY(qMax(0, upperLeft.y()-10));
-               lowerRight.setX(qMax(0, lowerRight.x()+10));
-               lowerRight.setY(qMax(0, lowerRight.y()+10));
+               upperLeft.setX(qMax(0, upperLeft.x() - 10));
+               upperLeft.setY(qMax(0, upperLeft.y() - 10));
+               lowerRight.setX(qMax(0, lowerRight.x() + 10));
+               lowerRight.setY(qMax(0, lowerRight.y() + 10));
                //              qDebug() << "updateCanvas:" << upperLeft << 
lowerRight;
                m_canvas->update(upperLeft.x(), upperLeft.y(), lowerRight.x() - 
upperLeft.x(), lowerRight.y() - upperLeft.y());
        }


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to