summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkh1 <qt-info@nokia.com>2010-04-19 16:59:32 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2010-04-20 09:58:58 (GMT)
commitc6cb0de12b9bbb71690a0b6d5c53b2329767f2a4 (patch)
tree3575f6245aea20e4a8e043e25a07bdb0fe9774e1
parentbb0aa3c61e8c443ec4207381ca10c85f6c4b6665 (diff)
downloadQt-c6cb0de12b9bbb71690a0b6d5c53b2329767f2a4.zip
Qt-c6cb0de12b9bbb71690a0b6d5c53b2329767f2a4.tar.gz
Qt-c6cb0de12b9bbb71690a0b6d5c53b2329767f2a4.tar.bz2
Quick fix to make the documentation work, needs a proper solution though.
Reviewed-by: kh (cherry picked from commit 0fd81e81a357edb9f9e615cff28a1876bd363b2e)
-rw-r--r--tools/assistant/tools/assistant/helpviewer.cpp4
-rw-r--r--tools/assistant/tools/assistant/helpviewer.h1
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qwv.cpp22
3 files changed, 23 insertions, 4 deletions
diff --git a/tools/assistant/tools/assistant/helpviewer.cpp b/tools/assistant/tools/assistant/helpviewer.cpp
index 0c51a02..85e4e71 100644
--- a/tools/assistant/tools/assistant/helpviewer.cpp
+++ b/tools/assistant/tools/assistant/helpviewer.cpp
@@ -52,6 +52,10 @@
QT_BEGIN_NAMESPACE
+QString AbstractHelpViewer::DocPath = QString::fromLatin1("qthelp://com."
+ "trolltech.qt.%1/").arg(QString(QLatin1String(QT_VERSION_STR))
+ .replace(QLatin1String("."), QLatin1String("")));
+
QString AbstractHelpViewer::AboutBlank =
QCoreApplication::translate("HelpViewer", "<title>about:blank</title>");
diff --git a/tools/assistant/tools/assistant/helpviewer.h b/tools/assistant/tools/assistant/helpviewer.h
index 6f1f48d..9c3971f 100644
--- a/tools/assistant/tools/assistant/helpviewer.h
+++ b/tools/assistant/tools/assistant/helpviewer.h
@@ -67,6 +67,7 @@ public:
virtual bool handleForwardBackwardMouseButtons(QMouseEvent *e) = 0;
+ static QString DocPath;
static QString AboutBlank;
static QString LocalHelpFile;
static QString PageNotFoundMessage;
diff --git a/tools/assistant/tools/assistant/helpviewer_qwv.cpp b/tools/assistant/tools/assistant/helpviewer_qwv.cpp
index db1cd58..a19b29a 100644
--- a/tools/assistant/tools/assistant/helpviewer_qwv.cpp
+++ b/tools/assistant/tools/assistant/helpviewer_qwv.cpp
@@ -129,13 +129,27 @@ QNetworkReply *HelpNetworkAccessManager::createRequest(Operation /*op*/,
const QNetworkRequest &request, QIODevice* /*outgoingData*/)
{
TRACE_OBJ
- const QUrl &url = request.url();
- const QString &mimeType = AbstractHelpViewer::mimeFromUrl(url.toString());
-
+ QString url = request.url().toString();
HelpEngineWrapper &helpEngine = HelpEngineWrapper::instance();
+
+ // TODO: For some reason the url to load is already wrong (passed from webkit)
+ // though the css file and the references inside should work that way. One
+ // possible problem might be that the css is loaded at the same level as the
+ // html, thus a path inside the css like (../images/foo.png) might cd out of
+ // the virtual folder
+ if (!helpEngine.findFile(url).isValid()) {
+ if (url.startsWith(AbstractHelpViewer::DocPath)) {
+ if (!url.startsWith(AbstractHelpViewer::DocPath + QLatin1String("qdoc/"))) {
+ url = url.replace(AbstractHelpViewer::DocPath,
+ AbstractHelpViewer::DocPath + QLatin1String("qdoc/"));
+ }
+ }
+ }
+
+ const QString &mimeType = AbstractHelpViewer::mimeFromUrl(url);
const QByteArray &data = helpEngine.findFile(url).isValid()
? helpEngine.fileData(url)
- : AbstractHelpViewer::PageNotFoundMessage.arg(url.toString()).toUtf8();
+ : AbstractHelpViewer::PageNotFoundMessage.arg(url).toUtf8();
return new HelpNetworkReply(request, data, mimeType.isEmpty()
? QLatin1String("application/octet-stream") : mimeType);
}