diff options
-rw-r--r-- | src/homepage.cpp | 3 | ||||
-rw-r--r-- | src/previewimage.cpp | 27 | ||||
-rw-r--r-- | src/previewimage.h | 2 | ||||
-rw-r--r-- | src/webpluginfactory.cpp | 10 | ||||
-rw-r--r-- | src/websnap.cpp | 12 | ||||
-rw-r--r-- | src/websnap.h | 7 |
6 files changed, 42 insertions, 19 deletions
diff --git a/src/homepage.cpp b/src/homepage.cpp index 1f056a92..14db5806 100644 --- a/src/homepage.cpp +++ b/src/homepage.cpp @@ -97,7 +97,8 @@ QString HomePage::speedDial() speed += "<div class=\"thumbnail\">"; speed += "<a href=\"" + urls.at(i) + "\">"; speed += "<object type=\"application/image-preview\" width=\"200\">"; - speed += "<param name=\"url\" value=\"" + urls.at(i) + "\">"; + speed += "<param name=\"url\" value=\"" + urls.at(i) + "\">"; + speed += "<param name=\"position\" value=\"" + QString::number(i) + "\">"; speed += "</object>"; speed += "<br />"; speed += names.at(i) + "</a></div>"; diff --git a/src/previewimage.cpp b/src/previewimage.cpp index 2d963171..d027bfd1 100644 --- a/src/previewimage.cpp +++ b/src/previewimage.cpp @@ -26,19 +26,32 @@ #include "previewimage.h" #include "previewimage.moc" +#include <QFile> + #include <KUrl> #include <KStandardDirs> #include <KDebug> -PreviewImage::PreviewImage(const QString &url) +PreviewImage::PreviewImage(const QString &url, const QString &pos) : QLabel() , ws(0) -{ - QString path = KStandardDirs::locate("appdata", "pics/loading.mng"); //QString("thumbs/") + m_fileName, true); - setPixmap( QPixmap(path) ); - kDebug() << url; - ws = new WebSnap( KUrl(url) ); - connect(ws, SIGNAL(finished()), this, SLOT(setSiteImage())); +{ + QString path = KStandardDirs::locateLocal("cache", QString("thumbs/rek") + pos + ".png", true); + + if(QFile::exists(path)) + { + kDebug() << "exists! Loading it..."; + m_pixmap.load(path); + setPixmap( m_pixmap ); + } + else + { + QString path = KStandardDirs::locate("appdata", "pics/loading.mng"); + setPixmap( QPixmap(path) ); + + ws = new WebSnap( url, pos ); + connect(ws, SIGNAL(finished()), this, SLOT(setSiteImage())); + } } diff --git a/src/previewimage.h b/src/previewimage.h index 7cb6c00b..612d98c6 100644 --- a/src/previewimage.h +++ b/src/previewimage.h @@ -39,7 +39,7 @@ class PreviewImage : public QLabel Q_OBJECT public: - PreviewImage(const QString &url); + PreviewImage(const QString &url, const QString &pos); ~PreviewImage(); diff --git a/src/webpluginfactory.cpp b/src/webpluginfactory.cpp index 9d7755c5..1e599327 100644 --- a/src/webpluginfactory.cpp +++ b/src/webpluginfactory.cpp @@ -53,14 +53,20 @@ QObject *WebPluginFactory::create(const QString &mimeType, kDebug() << "loading mimeType: " << mimeType; if(mimeType == QString("application/image-preview") ) - { + { + QString url, pos; for(int i = 0; i<argumentNames.count(); ++i) { if(argumentNames.at(i) == QString("url")) { - return new PreviewImage( argumentValues.at(i) ); + url = argumentValues.at(i); + } + if(argumentNames.at(i) == QString("position")) + { + pos = argumentValues.at(i); } } + return new PreviewImage(url, pos); } kDebug() << "No plugins found for" << mimeType; diff --git a/src/websnap.cpp b/src/websnap.cpp index 349f2329..ec537b32 100644 --- a/src/websnap.cpp +++ b/src/websnap.cpp @@ -36,19 +36,21 @@ #include <QWebSettings> #include <QPainter> #include <QTimer> +#include <QFile> #define WIDTH 200 #define HEIGHT 150 -WebSnap::WebSnap(const KUrl &url) +WebSnap::WebSnap(const QString &url, const QString &pos) : QObject() - , m_url(url) { + m_url = url; + m_pos = pos; + // this to not register websnap history m_page.settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); - connect(&m_page, SIGNAL(loadFinished(bool)), this, SLOT(saveResult(bool))); QTimer::singleShot(0, this, SLOT(load())); } @@ -57,7 +59,7 @@ WebSnap::WebSnap(const KUrl &url) void WebSnap::load() { kDebug() << "loading.."; - m_page.mainFrame()->load(m_url); + m_page.mainFrame()->load( QUrl(m_url) ); } @@ -86,7 +88,7 @@ void WebSnap::saveResult(bool ok) m_image = m_image.scaled(WIDTH, HEIGHT, Qt::KeepAspectRatioByExpanding); - QString path = KStandardDirs::locateLocal("cache", QString("thumbs/uno.png"), true); + QString path = KStandardDirs::locateLocal("cache", QString("thumbs/rek") + m_pos + ".png", true); if( m_image.save(path) ) { kDebug() << "finished"; diff --git a/src/websnap.h b/src/websnap.h index 7e77da49..2bcdfef8 100644 --- a/src/websnap.h +++ b/src/websnap.h @@ -45,7 +45,7 @@ class WebSnap : public QObject Q_OBJECT public: - WebSnap(const KUrl &url); + WebSnap(const QString &url, const QString &pos); QPixmap previewImage(); @@ -58,9 +58,10 @@ private slots: private: QWebPage m_page; - KUrl m_url; QPixmap m_image; - QString m_fileName; + + QString m_url; + QString m_pos; }; #endif // WEB_SNAP_H |