View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006649 | Scribus | Graphics / Image Frames | public | 2008-01-11 13:08 | 2008-01-14 20:24 |
Reporter | metrics | Assigned To | jghali | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | 1.3.5svn | ||||
Fixed in Version | 1.3.5svn | ||||
Summary | 0006649: Allow scaling of image in ImageFrame in canvasgesture | ||||
Description | A small patch to allow a user to scale the image with the frame when resizing and the Alt modifier key is pressed. Two files patched, canvasgesture_resize.cpp and canvasgesture_resize.h (just to change a parameter name). | ||||
Tags | No tags attached. | ||||
Patch | |||||
child of | 0005693 | closed | 1.3.5 bug collection (prior to roadmap) |
2008-01-11 13:08
|
canvasgesture_resize_cpp.patch (2,085 bytes)
Index: canvasgesture_resize.cpp =================================================================== --- canvasgesture_resize.cpp (revision 11383) +++ canvasgesture_resize.cpp (working copy) @@ -135,7 +135,7 @@ } -void ResizeGesture::doResize(bool scaleTextInGroup) +void ResizeGesture::doResize(bool scaleContent) { PageItem* currItem = m_doc->m_Selection->itemAt(0); QRectF newBounds = m_canvas->globalToCanvas(m_bounds.normalized()); @@ -147,7 +147,7 @@ double scx = oldBounds.width() == 0? 1.0 : newBounds.width() / oldBounds.width(); double scy = oldBounds.height() == 0? 1.0 : newBounds.height() / oldBounds.height(); //CB #3012 only scale text in a group if alt is pressed - if ((currItem->itemType() == PageItem::TextFrame) && scaleTextInGroup) + if ((currItem->itemType() == PageItem::TextFrame) && scaleContent) m_view->scaleGroup(scx, scy, true); else m_view->scaleGroup(scx, scy, false); @@ -159,6 +159,22 @@ else { currItem->setXYPos(newBounds.x(), newBounds.y()); + // Scale the image in the image frame if the scaleContent modifier is in use. + if ((currItem->itemType() == PageItem::ImageFrame) && scaleContent) + { + double imgScX = newBounds.width() / currItem->width() * currItem->imageXScale(); + double imgScY = newBounds.height() / currItem->height() * currItem->imageYScale(); + // The aspect ratio has been fixed, so make the modification in the direction of the larger movement. + if (currItem->AspectRatio) + { + if (qAbs(newBounds.width() - currItem->width()) > qAbs(newBounds.height() - currItem->height())) + imgScY = imgScX; + else + imgScX = imgScY; + } + + currItem->setImageXYScale(imgScX, imgScY); + } currItem->setWidth(newBounds.width()); currItem->setHeight(newBounds.height()); // rotation does not change |
2008-01-11 13:09
|
canvasgesture_resize_h.patch (403 bytes)
Index: canvasgesture_resize.h =================================================================== --- canvasgesture_resize.h (revision 11383) +++ canvasgesture_resize.h (working copy) @@ -70,7 +70,7 @@ private: void adjustBounds(QMouseEvent *m); - void doResize(bool scaleTextInGroup); + void doResize(bool scaleContent); Canvas::FrameHandle m_handle; double m_rotation; double m_origRatio; |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-01-11 13:08 | metrics | New Issue | |
2008-01-11 13:08 | metrics | File Added: canvasgesture_resize_cpp.patch | |
2008-01-11 13:09 | metrics | File Added: canvasgesture_resize_h.patch | |
2008-01-12 00:42 | jghali | Status | new => resolved |
2008-01-12 00:42 | jghali | Fixed in Version | => 1.3.5svn |
2008-01-12 00:42 | jghali | Resolution | open => fixed |
2008-01-12 00:42 | jghali | Assigned To | => jghali |
2008-01-14 18:25 | christoph_s | Status | resolved => feedback |
2008-01-14 18:25 | christoph_s | Resolution | fixed => reopened |
2008-01-14 18:25 | christoph_s | Relationship added | child of 0005693 |
2008-01-14 18:25 | christoph_s | Status | feedback => resolved |
2008-01-14 18:25 | christoph_s | Resolution | reopened => fixed |
2008-01-14 20:24 | cbradney | Status | resolved => closed |
2015-09-17 20:10 | Kunda | Category | Graphics / Image Frames => Graphics/Img Frames |
2015-09-17 20:11 | Kunda | Category | Graphics/Img Frames => Graphics / Image Frames |