From b177a78c89e7b438ad9564025b4bee8158a0f18a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Tue, 3 May 2016 06:52:11 +0000 Subject: [PATCH] some smaller fixes and improvements for joomla testing --- src/commands.hxx | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/commands.hxx b/src/commands.hxx index 2bf57a4..8df7b97 100644 --- a/src/commands.hxx +++ b/src/commands.hxx @@ -1548,6 +1548,8 @@ class Download: public Command { } bool execute(Script* script, QWebFrame* frame) { Logger log(this, script); + _realfilename = script->replacevars(_filename); + log("REALFILENAME="+_realfilename); frame->page()->setForwardUnsupportedContent(true); connect(frame->page(), SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(unsupportedContent(QNetworkReply*))); @@ -1577,16 +1579,15 @@ class Download: public Command { _filesuccess = filesuccess; } void unsupportedContent(QNetworkReply* reply) { - _realfilename = reply->url().toString().split('/').last(); - if (_filename.size()) - _realfilename = _filename; - else if (reply->header(QNetworkRequest::ContentDispositionHeader) - .isValid()) { - QString part(reply->header(QNetworkRequest::ContentDispositionHeader) - .toString()); - if (part.contains(QRegularExpression("attachment; *filename="))) { - part.replace(QRegularExpression(".*attachment; *filename="), ""); - if (part.size()) _realfilename = part; + if (!_realfilename.size()) { + _realfilename = reply->url().toString().split('/').last(); + if (reply->header(QNetworkRequest::ContentDispositionHeader).isValid()) { + QString part(reply->header(QNetworkRequest::ContentDispositionHeader) + .toString()); + if (part.contains(QRegularExpression("attachment; *filename="))) { + part.replace(QRegularExpression(".*attachment; *filename="), ""); + if (part.size()) _realfilename = part; + } } } connect(new RunDownload(reply, _realfilename),