Browse Source

Use original image URL in file HTML

Kandrashin Denis 13 years ago
parent
commit
fe1412e89e
4 changed files with 6 additions and 8 deletions
  1. 0 2
      source/fb2read.cpp
  2. 3 3
      source/fb2save.cpp
  3. 2 3
      source/fb2temp.cpp
  4. 1 0
      source/fb2temp.hpp

+ 0 - 2
source/fb2read.cpp

@@ -366,8 +366,6 @@ Fb2ReadHandler::ImageHandler::ImageHandler(Fb2ReadHandler &owner, const QString
     : TextHandler(owner, name, atts, "img")
     : TextHandler(owner, name, atts, "img")
 {
 {
     QString href = Value(atts, "href");
     QString href = Value(atts, "href");
-    if (href.left(1) == "#") href.remove(0, 1);
-    href.prepend("fb2:");
     writer().writeAttribute("src", href);
     writer().writeAttribute("src", href);
 }
 }
 
 

+ 3 - 3
source/fb2save.cpp

@@ -193,15 +193,15 @@ QByteArray Fb2SaveWriter::downloadFile(const QUrl &url)
 
 
 QString Fb2SaveWriter::getFileName(const QString &path)
 QString Fb2SaveWriter::getFileName(const QString &path)
 {
 {
-    QUrl url = path;
-    if (url.scheme() == "fb2") {
-        QString name = url.path();
+    if (path.left(1) == "#") {
+        QString name = path.mid(1);
         if (m_view.files().exists(name)) {
         if (m_view.files().exists(name)) {
             m_names.append(name);
             m_names.append(name);
             return name;
             return name;
         }
         }
         return QString();
         return QString();
     } else {
     } else {
+        QUrl url = path;
         QByteArray data = downloadFile(url);
         QByteArray data = downloadFile(url);
         if (data.size() == 0) return QString();
         if (data.size() == 0) return QString();
         QString name = m_view.files().add(url.path(), data);
         QString name = m_view.files().add(url.path(), data);

+ 2 - 3
source/fb2temp.cpp

@@ -195,14 +195,13 @@ Fb2NetworkAccessManager::Fb2NetworkAccessManager(Fb2WebView &view)
 
 
 QNetworkReply * Fb2NetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
 QNetworkReply * Fb2NetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
 {
 {
-    if (request.url().scheme() == "fb2") return imageRequest(op, request);
+    if (request.url().scheme() == "fb2" && request.url().path() == m_view.url().path()) return imageRequest(op, request);
     return QNetworkAccessManager::createRequest(op, request, outgoingData);
     return QNetworkAccessManager::createRequest(op, request, outgoingData);
 }
 }
 
 
 QNetworkReply * Fb2NetworkAccessManager::imageRequest(Operation op, const QNetworkRequest &request)
 QNetworkReply * Fb2NetworkAccessManager::imageRequest(Operation op, const QNetworkRequest &request)
 {
 {
-    QString name = request.url().path();
-    name = QFileInfo(name).fileName();
+    QString name = request.url().fragment();
     QByteArray data = m_view.files().data(name);
     QByteArray data = m_view.files().data(name);
     return new Fb2ImageReply(op, request, data);
     return new Fb2ImageReply(op, request, data);
 }
 }

+ 1 - 0
source/fb2temp.hpp

@@ -88,6 +88,7 @@ private:
 
 
 private:
 private:
     Fb2WebView & m_view;
     Fb2WebView & m_view;
+    QString m_path;
 };
 };
 
 
 #endif // FB2TEMP_H
 #endif // FB2TEMP_H