| 
									
										
										
										
											2017-04-27 20:26:05 +02:00
										 |  |  | // SPDX-License-Identifier: GPL-2.0
 | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | #ifndef PRINTER_H
 | 
					
						
							|  |  |  | #define PRINTER_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <QPrinter>
 | 
					
						
							| 
									
										
										
										
											2016-08-09 00:12:12 +02:00
										 |  |  | #ifdef USE_WEBENGINE
 | 
					
						
							|  |  |  | #include <QWebEngineView>
 | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | #include <QWebView>
 | 
					
						
							| 
									
										
										
										
											2016-08-09 00:12:12 +02:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2015-06-10 19:31:19 +02:00
										 |  |  | #include <QRect>
 | 
					
						
							|  |  |  | #include <QPainter>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 06:25:35 +02:00
										 |  |  | #include "printoptions.h"
 | 
					
						
							| 
									
										
										
										
											2015-07-02 22:26:31 +02:00
										 |  |  | #include "templateedit.h"
 | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | class Printer : public QObject { | 
					
						
							|  |  |  | 	Q_OBJECT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-10 21:30:18 +02:00
										 |  |  | public: | 
					
						
							|  |  |  | 	enum PrintMode { | 
					
						
							|  |  |  | 		PRINT, | 
					
						
							|  |  |  | 		PREVIEW | 
					
						
							|  |  |  | 	}; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | private: | 
					
						
							| 
									
										
										
										
											2015-07-10 20:34:25 +02:00
										 |  |  | 	QPaintDevice *paintDevice; | 
					
						
							| 
									
										
										
										
											2016-08-09 00:12:12 +02:00
										 |  |  | #ifdef USE_WEBENGINE
 | 
					
						
							|  |  |  | 	QWebEngineView *webView; | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | 	QWebView *webView; | 
					
						
							| 
									
										
										
										
											2016-08-09 00:12:12 +02:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2015-06-14 06:25:35 +02:00
										 |  |  | 	print_options *printOptions; | 
					
						
							| 
									
										
										
										
											2015-07-02 22:26:31 +02:00
										 |  |  | 	template_options *templateOptions; | 
					
						
							| 
									
										
										
										
											2015-06-17 17:05:14 +02:00
										 |  |  | 	QSize pageSize; | 
					
						
							| 
									
										
										
										
											2015-07-10 21:30:18 +02:00
										 |  |  | 	PrintMode printMode; | 
					
						
							| 
									
										
										
										
											2015-06-17 17:05:14 +02:00
										 |  |  | 	int done; | 
					
						
							|  |  |  | 	int dpi; | 
					
						
							| 
									
										
										
										
											2015-07-10 16:20:14 +02:00
										 |  |  | 	void render(int Pages); | 
					
						
							| 
									
										
										
										
											2015-08-13 23:23:07 +02:00
										 |  |  | 	void flowRender(); | 
					
						
							| 
									
										
										
										
											2015-06-10 19:31:19 +02:00
										 |  |  | 	void putProfileImage(QRect box, QRect viewPort, QPainter *painter, struct dive *dive, QPointer<ProfileWidget2> profile); | 
					
						
							| 
									
										
										
										
											2015-05-30 15:32:15 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | private slots: | 
					
						
							|  |  |  | 	void templateProgessUpdated(int value); | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | public: | 
					
						
							| 
									
										
										
										
											2015-07-10 21:30:18 +02:00
										 |  |  | 	Printer(QPaintDevice *paintDevice, print_options *printOptions, template_options *templateOptions, PrintMode printMode); | 
					
						
							| 
									
										
										
										
											2015-07-10 14:59:56 +02:00
										 |  |  | 	~Printer(); | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | 	void print(); | 
					
						
							| 
									
										
										
										
											2015-07-10 21:45:27 +02:00
										 |  |  | 	void previewOnePage(); | 
					
						
							| 
									
										
										
										
											2015-05-30 15:32:15 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | signals: | 
					
						
							|  |  |  | 	void progessUpdated(int value); | 
					
						
							| 
									
										
										
										
											2015-04-21 18:05:20 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif //PRINTER_H
 |