From ff01aab13b1f68bd1f5983117ccdfe7771d49675 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Thu, 10 May 2012 09:26:45 +0200 Subject: move left modify action in favorites to be the update one Also implement ThumbUpdater class to easily manage thumb updates BUG:291236 --- src/thumbupdater.cpp | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/thumbupdater.cpp (limited to 'src/thumbupdater.cpp') diff --git a/src/thumbupdater.cpp b/src/thumbupdater.cpp new file mode 100644 index 00000000..e230b87f --- /dev/null +++ b/src/thumbupdater.cpp @@ -0,0 +1,81 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2012 by Andrea Diamantini +* +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License or (at your option) version 3 or any later version +* accepted by the membership of KDE e.V. (or its successor approved +* by the membership of KDE e.V.), which shall act as a proxy +* defined in Section 14 of version 3 of the license. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +* +* ============================================================ */ + + +#include "thumbupdater.h" +#include "thumbupdater.moc" + +#include "application.h" +#include "iconmanager.h" +#include "websnap.h" + +#include +#include + +#include + + +ThumbUpdater::ThumbUpdater(QWebElement el, const QString & urlString, const QString & nameString, QObject *parent) + : QObject(parent) + , _thumb(el) + , _url(urlString) + , _title(nameString) +{ +} + + +void ThumbUpdater::updateThumb() +{ + // Set loading animation + _thumb.findFirst(QL1S(".preview img")).setAttribute(QL1S("src"), QL1S("file:///") + KStandardDirs::locate("appdata", "pics/busywidget.gif")); + _thumb.findFirst(QL1S("span a")).setPlainText(i18n("Loading Preview...")); + + // Load URL + QWebFrame *frame = qobject_cast(parent()); + WebSnap *snap = new WebSnap(KUrl(_url), frame); + connect(snap, SIGNAL(snapDone(bool)), this, SLOT(updateImage(bool)), Qt::UniqueConnection); +} + + +ThumbUpdater::~ThumbUpdater() +{ + kDebug() << "bye bye"; +} + + +void ThumbUpdater::updateImage(bool ok) +{ + KUrl u(_url); + + QString previewPath = ok + ? QL1S("file://") + WebSnap::imagePathFromUrl(u) + : rApp->iconManager()->iconPathForUrl(u) + ; + + _thumb.findFirst(QL1S(".preview img")).setAttribute(QL1S("src"), previewPath); + _thumb.findFirst(QL1S("span a")).setPlainText(_title); + + this->deleteLater(); +} -- cgit v1.2.1