Fix auto cropping.
--HG-- branch : develop
This commit is contained in:
parent
0f226d6cdf
commit
1393be669b
|
@ -415,7 +415,7 @@ void VLayoutGenerator::UnitePages()
|
||||||
int paperHeight = 0;
|
int paperHeight = 0;
|
||||||
if (autoCrop)
|
if (autoCrop)
|
||||||
{
|
{
|
||||||
paperHeight = qRound(papers.at(i).DetailsBoundingRect().height());
|
paperHeight = qCeil(papers.at(i).DetailsBoundingRect().height());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -447,7 +447,7 @@ void VLayoutGenerator::UnitePages()
|
||||||
int paperWidth = 0;
|
int paperWidth = 0;
|
||||||
if (autoCrop)
|
if (autoCrop)
|
||||||
{
|
{
|
||||||
paperWidth = qRound(papers.at(i).DetailsBoundingRect().width());
|
paperWidth = qCeil(papers.at(i).DetailsBoundingRect().width());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -479,8 +479,8 @@ void VLayoutGenerator::UnitePages()
|
||||||
QVector<VLayoutPaper> nPapers;
|
QVector<VLayoutPaper> nPapers;
|
||||||
for (int i = 0; i < nDetails.size(); ++i)
|
for (int i = 0; i < nDetails.size(); ++i)
|
||||||
{
|
{
|
||||||
const int height = IsPortrait() ? qFloor(papersLength.at(i)) : PageHeight();
|
const int height = IsPortrait() ? qCeil(papersLength.at(i)) : PageHeight();
|
||||||
const int width = IsPortrait() ? PageWidth() : qFloor(papersLength.at(i));
|
const int width = IsPortrait() ? PageWidth() : qCeil(papersLength.at(i));
|
||||||
|
|
||||||
VLayoutPaper paper(height, width, bank->GetLayoutWidth());
|
VLayoutPaper paper(height, width, bank->GetLayoutWidth());
|
||||||
paper.SetShift(shift);
|
paper.SetShift(shift);
|
||||||
|
|
|
@ -345,30 +345,17 @@ QGraphicsRectItem *VLayoutPaper::GetPaperItem(bool autoCrop, bool textAsPaths) c
|
||||||
scene->addItem(item);
|
scene->addItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QRect boundingRect = scene->itemsBoundingRect().toRect();
|
||||||
if (d->globalContour.IsPortrait())
|
if (d->globalContour.IsPortrait())
|
||||||
{
|
{
|
||||||
const int height = scene->itemsBoundingRect().toRect().height();
|
const int height = boundingRect.height() + boundingRect.y() + 1;
|
||||||
if (d->globalContour.GetHeight() > height) //-V807
|
|
||||||
{
|
|
||||||
paper = new QGraphicsRectItem(QRectF(0, 0, d->globalContour.GetWidth(), height));
|
paper = new QGraphicsRectItem(QRectF(0, 0, d->globalContour.GetWidth(), height));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
paper = new QGraphicsRectItem(QRectF(0, 0, d->globalContour.GetWidth(), d->globalContour.GetHeight()));
|
const int width = boundingRect.width() + boundingRect.x() + 1;
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const int width = scene->itemsBoundingRect().toRect().width();
|
|
||||||
if (d->globalContour.GetWidth() > width) //-V807
|
|
||||||
{
|
|
||||||
paper = new QGraphicsRectItem(QRectF(0, 0, width, d->globalContour.GetHeight()));
|
paper = new QGraphicsRectItem(QRectF(0, 0, width, d->globalContour.GetHeight()));
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
paper = new QGraphicsRectItem(QRectF(0, 0, d->globalContour.GetWidth(), d->globalContour.GetHeight()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user