summaryrefslogtreecommitdiff
path: root/src/websnap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/websnap.h')
-rw-r--r--src/websnap.h44
1 files changed, 29 insertions, 15 deletions
diff --git a/src/websnap.h b/src/websnap.h
index 6c5b4af9..9773b4cc 100644
--- a/src/websnap.h
+++ b/src/websnap.h
@@ -3,7 +3,8 @@
* This file is a part of the rekonq project
*
* Copyright (C) 2009 Nokia Corporation <qt-info@nokia.com>
-* Copyright (C) 2009 by Andrea Diamantini <adjam7 at gmail dot com>
+* Copyright (C) 2009-2010 by Andrea Diamantini <adjam7 at gmail dot com>
+* Copyright (C) 2010 by Matthieu Gicquel <matgic78 at gmail dot com>
*
*
* This program is free software; you can redistribute it and/or
@@ -28,6 +29,9 @@
#ifndef WEB_SNAP_H
#define WEB_SNAP_H
+// Local Includes
+#include "rekonqprivate_export.h"
+
// KDE Includes
#include <KUrl>
@@ -37,39 +41,49 @@
#include <QImage>
#include <QWebPage>
+#define WIDTH 200
+#define HEIGHT 150
+
/**
- * This class renders a site producing an image based
- * on that.
+ * This class is used in many classes of rekonq to produce an image
+ * based on the site corresponding to the url passed as argument.
+ * It also cached the images to not retrieve them every time :)
+ *
* Heavily based on Graphics-Dojo WebSnap example (thanks!)
+ *
+ * We use this in the following rekonq classes:
+ * - TabBar class: to show a tab preview (given a page, you show WITHOUT saving an image)
+ * - NewTabPage class: to show the favorites page "preview" (given an url, you show AND save an image)
+ * - PreviewSelector class: to save new favorite selection (given a page, you show AND save an image)
+ *
*/
-class WebSnap : public QObject
+class REKONQ_TESTS_EXPORT WebSnap : public QObject
{
Q_OBJECT
public:
- WebSnap(const QUrl &url);
- ~WebSnap();
-
- QPixmap previewImage();
- static QPixmap renderPreview(const QWebPage &page, int w, int h);
+ WebSnap(const QUrl &url, QWebFrame *frame, int index);
+
+ static QPixmap renderPreview(const QWebPage &page, int w = WIDTH, int h = HEIGHT, bool save = true);
+
+ static KUrl fileForUrl(KUrl url);
+ static QString guessNameFromUrl(QUrl url);
QString snapTitle();
- QUrl snapUrl();
-
-signals:
- void finished();
private slots:
void load();
- void saveResult(bool ok);
+ void saveResult(bool ok = true);
private:
QWebPage m_page;
- QPixmap m_image;
QUrl m_url;
QString m_snapTitle;
+
+ QWebFrame *m_frame;
+ int m_previewIndex;
};
#endif // WEB_SNAP_H