summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2012-08-14 10:57:58 +0200
committerAndrea Diamantini <adjam7@gmail.com>2012-08-14 10:57:58 +0200
commit3b7a1ffae0ae9e5fd0c1dd238434e0bf312fa6ad (patch)
tree1eb9003c32f32a8a7e62ffe676bdba5f099f7bcf
parentGet sure web shortcuts are considered first url detection (diff)
downloadrekonq-3b7a1ffae0ae9e5fd0c1dd238434e0bf312fa6ad.tar.xz
Get sure rekonq makes use of djvu plugin
Also, clean up mimetype detection, following kdewebkit. I tried implementing this using the protected excludeMimeType in kwebpluginfactory, but I fear it has to be declared virtual to let the trick work. Isn't it? BUG: 304562 CCMAIL: adawit@kde.org
-rw-r--r--src/webpluginfactory.cpp14
-rw-r--r--src/webpluginfactory.h2
2 files changed, 14 insertions, 2 deletions
diff --git a/src/webpluginfactory.cpp b/src/webpluginfactory.cpp
index b62af1c8..083ea747 100644
--- a/src/webpluginfactory.cpp
+++ b/src/webpluginfactory.cpp
@@ -50,13 +50,25 @@ void WebPluginFactory::setLoadClickToFlash(bool load)
}
-QObject *WebPluginFactory::create(const QString &mimeType,
+QObject *WebPluginFactory::create(const QString &_mimeType,
const QUrl &url,
const QStringList &argumentNames,
const QStringList &argumentValues) const
{
+ QString mimeType(_mimeType.trimmed());
+ // If no mimetype is provided, follow kwebpluginfactory road to determine/guess it
+ if (mimeType.isEmpty())
+ {
+ extractGuessedMimeType(url, &mimeType);
+ }
+
kDebug() << "loading mimeType: " << mimeType;
+ // we'd like to use djvu plugin if possible. If not available, rekonq protocol handler
+ // will provide a part to load it. See BUG:304562 about
+ if (mimeType == QL1S("image/vnd.djvu") || mimeType == QL1S("image/x.djvu"))
+ return 0;
+
switch (ReKonfig::pluginsEnabled())
{
case 0:
diff --git a/src/webpluginfactory.h b/src/webpluginfactory.h
index b1bcd967..82bf02ce 100644
--- a/src/webpluginfactory.h
+++ b/src/webpluginfactory.h
@@ -43,7 +43,7 @@ class REKONQ_TESTS_EXPORT WebPluginFactory : public KWebPluginFactory
public:
WebPluginFactory(QObject *parent);
- virtual QObject *create(const QString &mimeType,
+ virtual QObject *create(const QString &_mimeType,
const QUrl &url,
const QStringList &argumentNames,
const QStringList &argumentValues) const;