diff --git a/demo_r2/mainwindow.cpp b/demo_r2/mainwindow.cpp index 06a02fd..45e4b84 100644 --- a/demo_r2/mainwindow.cpp +++ b/demo_r2/mainwindow.cpp @@ -70,7 +70,7 @@ void MainWindow::enableUI(bool value) void MainWindow::slotScalePercentChanged(int percent) { - ui->cbScalePercent->setCurrentText(QString("%1\%").arg(percent)); + ui->cbScalePercent->setCurrentText(QString("%1%").arg(percent)); } void MainWindow::scaleComboboxChanged(QString text) @@ -101,7 +101,7 @@ void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, int ) void MainWindow::initPercentCombobox() { for (int i = 10; i<310; i+=10){ - ui->cbScalePercent->addItem(QString("%1\%").arg(i)); + ui->cbScalePercent->addItem(QString("%1%").arg(i)); } ui->cbScalePercent->setCurrentIndex(4); } diff --git a/limereport/images/FitPage.png b/limereport/images/FitPage.png new file mode 100644 index 0000000..a630918 Binary files /dev/null and b/limereport/images/FitPage.png differ diff --git a/limereport/images/FitWidth.png b/limereport/images/FitWidth.png new file mode 100644 index 0000000..af2fed9 Binary files /dev/null and b/limereport/images/FitWidth.png differ diff --git a/limereport/images/OneToOne.png b/limereport/images/OneToOne.png new file mode 100644 index 0000000..0858cdf Binary files /dev/null and b/limereport/images/OneToOne.png differ diff --git a/limereport/lrpreviewreportwidget.cpp b/limereport/lrpreviewreportwidget.cpp index 117dc24..47b3fb9 100644 --- a/limereport/lrpreviewreportwidget.cpp +++ b/limereport/lrpreviewreportwidget.cpp @@ -211,6 +211,7 @@ void PreviewReportWidget::saveToFile() void PreviewReportWidget::setScalePercent(int percent) { ui->graphicsView->resetMatrix(); + d_ptr->m_scalePercent = percent; qreal scaleSize = percent/100.0; ui->graphicsView->scale(scaleSize, scaleSize); emit scalePercentChanged(percent); diff --git a/limereport/lrpreviewreportwindow.cpp b/limereport/lrpreviewreportwindow.cpp index cf1296d..c0b33fc 100644 --- a/limereport/lrpreviewreportwindow.cpp +++ b/limereport/lrpreviewreportwindow.cpp @@ -61,6 +61,13 @@ PreviewReportWindow::PreviewReportWindow(ReportEnginePrivate *report,QWidget *pa setCentralWidget(m_previewReportWidget); layout()->setContentsMargins(1,1,1,1); connect(m_previewReportWidget,SIGNAL(pageChanged(int)), this,SLOT(slotPageChanged(int)) ); + + + m_scalePercent = new QComboBox(this); + ui->toolBar->insertWidget(ui->actionZoomOut, m_scalePercent); + initPercentCombobox(); + connect(m_previewReportWidget, SIGNAL(scalePercentChanged(int)), this, SLOT(slotScalePercentChanged(int))); + connect(m_scalePercent, SIGNAL(currentIndexChanged(QString)), this, SLOT(scaleComboboxChanged(QString))); restoreSetting(); } @@ -241,6 +248,14 @@ ItemsReaderIntf *PreviewReportWindow::reader() return m_reader.data(); } +void PreviewReportWindow::initPercentCombobox() +{ + for (int i = 10; i<310; i+=10){ + m_scalePercent->addItem(QString("%1%").arg(i)); + } + m_scalePercent->setCurrentIndex(4); +} + void PreviewReportWindow::on_actionSaveToFile_triggered() { m_previewReportWidget->saveToFile(); @@ -266,4 +281,35 @@ void PreviewReportWindow::slotPageChanged(int pageIndex) m_pagesNavigator->setValue(pageIndex); } +void PreviewReportWindow::on_actionFit_page_width_triggered() +{ + m_previewReportWidget->fitWidth(); +} + +void PreviewReportWindow::on_actionFit_page_triggered() +{ + m_previewReportWidget->fitPage(); +} + +void PreviewReportWindow::on_actionOne_to_one_triggered() +{ + m_previewReportWidget->setScalePercent(100); +} + +void PreviewReportWindow::scaleComboboxChanged(QString text) +{ + m_previewReportWidget->setScalePercent(text.remove(text.count()-1,1).toInt()); +} + +void PreviewReportWindow::slotScalePercentChanged(int percent) +{ + m_scalePercent->setCurrentText(QString("%1%").arg(percent)); +} + }// namespace LimeReport + + + + + + diff --git a/limereport/lrpreviewreportwindow.h b/limereport/lrpreviewreportwindow.h index c23d5dc..6a68f82 100644 --- a/limereport/lrpreviewreportwindow.h +++ b/limereport/lrpreviewreportwindow.h @@ -33,6 +33,7 @@ #include #include #include +#include #include "lrpagedesignintf.h" #include "lrreportrender.h" @@ -78,8 +79,15 @@ public slots: void slotLastPage(); void slotPrintToPDF(); void slotPageChanged(int pageIndex); +private slots: + void on_actionFit_page_width_triggered(); + void on_actionFit_page_triggered(); + void on_actionOne_to_one_triggered(); + void scaleComboboxChanged(QString text); + void slotScalePercentChanged(int percent); private: ItemsReaderIntf* reader(); + void initPercentCombobox(); //bool pageIsVisible(PageItemDesignIntf::Ptr page); //QRectF calcPageShift(PageItemDesignIntf::Ptr page); private: @@ -91,6 +99,7 @@ private: QSettings* m_settings; bool m_ownedSettings; PreviewReportWidget* m_previewReportWidget; + QComboBox* m_scalePercent; }; } //namespace LimeReport #endif // LRPREVIEWREPORTWINDOW_H diff --git a/limereport/lrpreviewreportwindow.ui b/limereport/lrpreviewreportwindow.ui index a7c2170..7618999 100644 --- a/limereport/lrpreviewreportwindow.ui +++ b/limereport/lrpreviewreportwindow.ui @@ -77,6 +77,9 @@ + + + @@ -224,10 +227,37 @@ Print To PDF + + + + :/report/images/FitWidth.png:/report/images/FitWidth.png + + + Fit page width + + + + + + :/report/images/FitPage.png:/report/images/FitPage.png + + + Fit page + + + + + + :/report/images/OneToOne.png:/report/images/OneToOne.png + + + One to one + + - + diff --git a/limereport/report.qrc b/limereport/report.qrc index 75b1d3b..a8e1b17 100644 --- a/limereport/report.qrc +++ b/limereport/report.qrc @@ -161,5 +161,8 @@ images/settings.png images/grid.png images/magnet.png + images/FitPage.png + images/FitWidth.png + images/OneToOne.png