Description: Fix various build errors
Author: Ashish Kulkarni <kulkarni.ashish@gmail.com>
Origin: upstream
Forwarded: not-needed
Last-Update: 2014-03-25
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/src/lib/pdfconverter.cc
+++ b/src/lib/pdfconverter.cc
@@ -78,9 +78,9 @@
 
 PdfConverterPrivate::PdfConverterPrivate(PdfGlobal & s, PdfConverter & o) :
 	settings(s), pageLoader(s.load),
-	out(o), printer(0), painter(0), webPrinter(0)
+	out(o), printer(0), painter(0)
 #ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
-    , measuringHFLoader(s.load), hfLoader(s.load), tocLoader1(s.load), tocLoader2(s.load)
+    , webPrinter(0), measuringHFLoader(s.load), hfLoader(s.load), tocLoader1(s.load), tocLoader2(s.load)
 	, tocLoader(&tocLoader1), tocLoaderOld(&tocLoader2)
     , outline(0), currentHeader(0), currentFooter(0)
 #endif
@@ -151,13 +151,15 @@
 		fail();
 		return;
 	}
-#endif
+#else
     bool headerHeightsCalcNeeded = false;
+#endif
 
 	for (QList<PageObject>::iterator i=objects.begin(); i != objects.end(); ++i) {
 		PageObject & o=*i;
 		settings::PdfObject & s = o.settings;
 
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
         if (!s.header.htmlUrl.isEmpty() ) {
             if (looksLikeHtmlAndNotAUrl(s.header.htmlUrl)) {
                 emit out.error("--header-html should be a URL and not a string containing HTML code.");
@@ -195,6 +197,7 @@
                 o.footerReserveHeight = settings.margin.bottom.first + s.footer.spacing;
             }
         }
+#endif
 
 		if (!s.isTableOfContent) {
 			o.loaderObject = pageLoader.addResource(s.page, s.load, &o.data);
@@ -207,6 +210,7 @@
 	emit out.phaseChanged();
 	loadProgress(0);
 
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
     if (headerHeightsCalcNeeded) {
         // preload header/footer to check their heights
         measuringHFLoader.load();
@@ -225,8 +229,12 @@
 
         pageLoader.load();
     }
+#else
+    pageLoader.load();
+#endif
 }
 
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
 // calculates header/footer height
 // returns millimeters
 qreal PdfConverterPrivate::calculateHeaderHeight(PageObject & object, QWebPage & header) {
@@ -252,6 +260,8 @@
     return (height / PdfConverter::millimeterToPointMultiplier);
 }
 
+#endif
+
 QPrinter * PdfConverterPrivate::createPrinter(const QString & tempFile) {
     QPrinter * printer = new QPrinter(settings.resolution);
     if (settings.dpi != -1) printer->setResolution(settings.dpi);
@@ -275,6 +285,7 @@
     return printer;
 }
 
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
 void PdfConverterPrivate::preprocessPage(PageObject & obj) {
 	currentObject++;
 	if (obj.settings.isTableOfContent) {
@@ -309,7 +320,7 @@
 		outline->addEmptyWebPage();
 	painter->restore();
 }
-
+#endif
 
 /*!
  * Prepares printing out the document to the pdf file
@@ -353,9 +364,15 @@
 	}
 
     //Setup margins and papersize
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
     printer->setPageMargins(settings.margin.left.first, objects[0].headerReserveHeight,
                                 settings.margin.right.first, objects[0].footerReserveHeight,
                                 settings.margin.left.second);
+#else
+    printer->setPageMargins(settings.margin.left.first, settings.margin.top.first,
+                                settings.margin.right.first, settings.margin.bottom.first,
+                                settings.margin.left.second);
+#endif
 
 	if ((settings.size.height.first != -1) && (settings.size.width.first != -1)) {
 		printer->setPaperSize(QSizeF(settings.size.width.first,settings.size.height.first), settings.size.height.second);
@@ -656,7 +673,6 @@
 	}
 
 }
-#endif
 
 void PdfConverterPrivate::handleTocPage(PageObject & obj) {
 	painter->save();
@@ -670,6 +686,7 @@
 	tocChanged = outline->replaceWebPage(obj.number, obj.settings.toc.captionText, wp, obj.page->mainFrame(), obj.settings, obj.localLinks, obj.anchors) || tocChanged;
 	painter->restore();
 }
+#endif
 
 
 void PdfConverterPrivate::tocLoaded(bool ok) {
@@ -731,6 +748,7 @@
         return;
     }
 
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
     for (int d=0; d < objects.size(); ++d) {
         PageObject & obj = objects[d];
         if (obj.measuringHeader) {
@@ -743,6 +761,7 @@
             obj.footerReserveHeight = calculateHeaderHeight(obj, *obj.measuringFooter) + obj.settings.header.spacing;
         }
     }
+#endif
 
     pageLoader.load();
 }
@@ -758,6 +777,7 @@
 	printDocument();
 }
 
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
 
 void PdfConverterPrivate::spoolPage(int page) {
 	progressString = QString("Page ") + QString::number(actualPage) + QString(" of ") + QString::number(actualPages);
@@ -904,7 +924,8 @@
 	}
 
 }
-			
+
+#endif
 
 void PdfConverterPrivate::printDocument() {
 #ifndef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
--- a/src/lib/pdfconverter_p.hh
+++ b/src/lib/pdfconverter_p.hh
@@ -94,8 +94,11 @@
 	}
 
 	PageObject(const settings::PdfObject & set, const QString * d=NULL):
-        settings(set), loaderObject(0), page(0), headerReserveHeight(0), footerReserveHeight(0),
-        measuringHeader(0), measuringFooter(0) {
+		settings(set), loaderObject(0), page(0)
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
+		, headerReserveHeight(0), footerReserveHeight(0), measuringHeader(0), measuringFooter(0)
+#endif
+	{
 		if (d) data=*d;
 	};
 
@@ -134,6 +137,7 @@
 	bool tocChanged;
 	int actualPage;
 	int pageNumber;
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
 	QWebPrinter * webPrinter;
 	int objectPage;
 
@@ -144,7 +148,6 @@
 	QHash<int, QVector<QWebElement> > pageFormElements;
 	bool pageHasHeaderFooter;
 	
-#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
     // loader for measuringHeader and measuringFooter
     MultiPageLoader measuringHFLoader;
 
@@ -163,14 +166,14 @@
 	void fillParms(QHash<QString, QString> & parms, int page, const PageObject & object);
 	QString hfreplace(const QString & q, const QHash<QString, QString> & parms);
 	QWebPage * loadHeaderFooter(QString url, const QHash<QString, QString> & parms, const settings::PdfObject & ps);
-
+    qreal calculateHeaderHeight(PageObject & object, QWebPage & header);
 
 #endif
 	QWebPage * currentHeader;
 	QWebPage * currentFooter;
-    qreal calculateHeaderHeight(PageObject & object, QWebPage & header);
     QPrinter * createPrinter(const QString & tempFile);
 
+#ifdef __EXTENSIVE_WKHTMLTOPDF_QT_HACK__
 	void handleTocPage(PageObject & obj);
 	void preprocessPage(PageObject & obj);
 	void spoolPage(int page);
@@ -179,6 +182,7 @@
 	void handleFooter(QWebPage * frame, int page);
 	void beginPrintObject(PageObject & obj);
 	void endPrintObject(PageObject & obj);
+#endif
 
 	void loadTocs();
 	void loadHeaders();
