mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-23 16:22:58 +03:00
resize function has been added to the report preview widget
This commit is contained in:
parent
379831fbe3
commit
fa3645c389
@ -40,6 +40,7 @@ public:
|
||||
void activateItemSelectionMode();
|
||||
void deleteSelectedItems();
|
||||
void activateCurrentPage();
|
||||
void resize(ScaleType scaleType, int percent=0);
|
||||
|
||||
public slots:
|
||||
void refreshPages();
|
||||
|
@ -320,19 +320,14 @@ void PreviewReportWidget::setScalePercent(int percent)
|
||||
void PreviewReportWidget::fitWidth()
|
||||
{
|
||||
if (d_ptr->currentPage()){
|
||||
qreal scalePercent = ui->graphicsView->viewport()->width() / ui->graphicsView->scene()->width();
|
||||
setScalePercent(scalePercent*100);
|
||||
m_scaleType = FitWidth;
|
||||
resize(m_scaleType = FitWidth);
|
||||
}
|
||||
}
|
||||
|
||||
void PreviewReportWidget::fitPage()
|
||||
{
|
||||
if (d_ptr->currentPage()){
|
||||
qreal vScale = ui->graphicsView->viewport()->width() / ui->graphicsView->scene()->width();
|
||||
qreal hScale = ui->graphicsView->viewport()->height() / d_ptr->currentPage()->height();
|
||||
setScalePercent(qMin(vScale,hScale)*100);
|
||||
m_scaleType = FitPage;
|
||||
resize(m_scaleType = FitPage);
|
||||
}
|
||||
}
|
||||
|
||||
@ -428,6 +423,28 @@ void PreviewReportWidget::activateCurrentPage()
|
||||
page->setCurrentPage(d_ptr->currentPage().data());
|
||||
}
|
||||
|
||||
void PreviewReportWidget::resize(ScaleType scaleType, int percent)
|
||||
{
|
||||
switch (scaleType) {
|
||||
case FitWidth:
|
||||
setScalePercent(ui->graphicsView->viewport()->width() / ui->graphicsView->scene()->width()*100);
|
||||
break;
|
||||
case FitPage:
|
||||
setScalePercent(qMin(
|
||||
ui->graphicsView->viewport()->width() / ui->graphicsView->scene()->width(),
|
||||
ui->graphicsView->viewport()->height() / d_ptr->currentPage()->height()
|
||||
) * 100);
|
||||
break;
|
||||
case OneToOne:
|
||||
setScalePercent(100);
|
||||
break;
|
||||
case Percents:
|
||||
setScalePercent(percent);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void PreviewReportWidget::slotSliderMoved(int value)
|
||||
{
|
||||
if (m_scaleChanging) return;
|
||||
|
@ -40,6 +40,7 @@ public:
|
||||
void activateItemSelectionMode();
|
||||
void deleteSelectedItems();
|
||||
void activateCurrentPage();
|
||||
void resize(ScaleType scaleType, int percent=0);
|
||||
|
||||
public slots:
|
||||
void refreshPages();
|
||||
|
Loading…
Reference in New Issue
Block a user