Explorar o código

Handle errors

Antialize %!s(int64=16) %!d(string=hai) anos
pai
achega
a64d9db030
Modificáronse 4 ficheiros con 21 adicións e 24 borrados
  1. 4 18
      src/pageconverter.cc
  2. 1 1
      src/pageconverter.hh
  3. 1 2
      src/pageconverter_p.hh
  4. 15 3
      src/wkhtmltopdf.cc

+ 4 - 18
src/pageconverter.cc

@@ -490,20 +490,6 @@ void PageConverterPrivate::printPage(bool ok) {
 // 		copyFile(i,o);
 // 	}
 // 	for (int i=0; i < temp.size(); ++i) QFile::remove(temp[i]);
-   
-// 	switch(networkError) {
-// 	case 401: 
-// 		qApp->exit(3);
-// 		break;
-// 	case 404: 
-// 		qApp->exit(2);
-// 		break;
-// 	case 0:
-// 		qApp->quit();
-// 		break;
-// 	default:
-// 		qApp->exit(1);
-// 	}
 }
 
 
@@ -528,12 +514,12 @@ QString PageConverterPrivate::hfreplace(const QString & q, const QHash<QString,
 }
 
 
-void PageConverterPrivate::convert() {
+bool PageConverterPrivate::convert() {
 	convertionDone=false;
 	beginConvert();
 	while(!convertionDone)
 		qApp->processEvents(QEventLoop::WaitForMoreEvents | QEventLoop::AllEvents);
-	//return true;
+	return true;
 }
 
 void PageConverterPrivate::cancel() {
@@ -618,8 +604,8 @@ void PageConverter::beginConvertion() {
 /*!
   \brief Synchronios convert html pages to a pdf document.
 */
-void PageConverter::convert() {
-	d->convert();
+bool PageConverter::convert() {
+	return d->convert();
 }
 
 /*!

+ 1 - 1
src/pageconverter.hh

@@ -38,7 +38,7 @@ signals:
 	void finished(bool ok);
 public slots:
 	void beginConvertion();
-	void convert();
+	bool convert();
 	void cancel();
 private:
 	PageConverterPrivate * d;

+ 1 - 2
src/pageconverter_p.hh

@@ -83,8 +83,7 @@ public slots:
 	void printPage(bool ok);
 	void beginConvert();
 	void cancel();
-	void convert();
-	
+	bool convert();
 };
 
 #endif //__TEXTUALFEEDBACK_P_HH__

+ 15 - 3
src/wkhtmltopdf.cc

@@ -151,7 +151,19 @@ int main(int argc, char * argv[]) {
 // 			}
 // 			exit(0);
 // 		}
-	converter.convert();
-	//qApp->exec();
-	//qApp->exit();
+	if (!converter.convert())
+		qApp->exit(1);
+	switch(converter.httpErrorCode()) {
+	case 401: 
+		qApp->exit(3);
+		break;
+	case 404: 
+		qApp->exit(2);
+		break;
+	case 0:
+		qApp->quit();
+		break;
+	default:
+		qApp->exit(1);		
+	}
 }