diff options
-rw-r--r-- | printer.cpp | 15 | ||||
-rw-r--r-- | printer.h | 1 | ||||
-rw-r--r-- | qt-ui/templateedit.cpp | 9 | ||||
-rw-r--r-- | qt-ui/templateedit.ui | 35 |
4 files changed, 38 insertions, 22 deletions
diff --git a/printer.cpp b/printer.cpp index c5867450f..7cef1104e 100644 --- a/printer.cpp +++ b/printer.cpp @@ -141,3 +141,18 @@ void Printer::print() int Pages = ceil(getTotalWork(printOptions) / (float)divesPerPage); render(Pages); } + +void Printer::previewOnePage() +{ + if (printMode == PREVIEW) { + TemplateLayout t(printOptions, templateOptions); + + pageSize.setHeight(paintDevice->height()); + pageSize.setWidth(paintDevice->width()); + webView->page()->setViewportSize(pageSize); + webView->setHtml(t.generate()); + + // render only one page + render(1); + } +} @@ -38,6 +38,7 @@ public: Printer(QPaintDevice *paintDevice, print_options *printOptions, template_options *templateOptions, PrintMode printMode); ~Printer(); void print(); + void previewOnePage(); signals: void progessUpdated(int value); diff --git a/qt-ui/templateedit.cpp b/qt-ui/templateedit.cpp index 0a8c4ca92..19f5db609 100644 --- a/qt-ui/templateedit.cpp +++ b/qt-ui/templateedit.cpp @@ -1,5 +1,6 @@ #include "templateedit.h" #include "printoptions.h" +#include "printer.h" #include "ui_templateedit.h" #include <QMessageBox> @@ -27,6 +28,14 @@ TemplateEdit::TemplateEdit(QWidget *parent, struct print_options *printOptions, } ui->plainTextEdit->setPlainText(grantlee_template); + + int width = ui->label->width(); + int height = ui->label->height(); + QPixmap map(width * 2, height * 2); + map.fill(QColor::fromRgb(255, 255, 255)); + Printer printer(&map, printOptions, templateOptions, Printer::PREVIEW); + printer.previewOnePage(); + ui->label->setPixmap(map.scaled(width, height, Qt::IgnoreAspectRatio)); } TemplateEdit::~TemplateEdit() diff --git a/qt-ui/templateedit.ui b/qt-ui/templateedit.ui index 26fe15926..fa27eb324 100644 --- a/qt-ui/templateedit.ui +++ b/qt-ui/templateedit.ui @@ -188,21 +188,6 @@ </widget> </widget> </widget> - <widget class="QWebView" name="webView"> - <property name="geometry"> - <rect> - <x>20</x> - <y>60</y> - <width>251</width> - <height>311</height> - </rect> - </property> - <property name="url"> - <url> - <string>about:blank</string> - </url> - </property> - </widget> <widget class="QLabel" name="label_5"> <property name="geometry"> <rect> @@ -216,14 +201,20 @@ <string>Preview</string> </property> </widget> + <widget class="QLabel" name="label"> + <property name="geometry"> + <rect> + <x>50</x> + <y>70</y> + <width>211</width> + <height>291</height> + </rect> + </property> + <property name="text"> + <string/> + </property> + </widget> </widget> - <customwidgets> - <customwidget> - <class>QWebView</class> - <extends>QWidget</extends> - <header>QtWebKitWidgets/QWebView</header> - </customwidget> - </customwidgets> <resources/> <connections> <connection> |