[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeplasma-addons/applets
From: Sebastian Kügler <sebas () kde ! org>
Date: 2009-11-25 1:08:16
Message-ID: 1259111296.260558.10279.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1053918 by sebas:
Some more improvements:
- cooler default slice: kde.org't hotspot
- cleanups and a tiny bit of error handling
M +1 -0 CMakeLists.txt
M +17 -22 webslice/kgraphicswebslice.cpp
M +7 -3 webslice/kgraphicswebslice.h
M +2 -2 webslice/main.cpp
M +2 -2 webslice/plasma/webslice.cpp
--- trunk/KDE/kdeplasma-addons/applets/CMakeLists.txt #1053917:1053918
@@ -88,3 +88,4 @@
endif (X11_Xrender_FOUND)
endif (Q_WS_X11)
+ add_subdirectory(webslice)
--- trunk/KDE/kdeplasma-addons/applets/webslice/kgraphicswebslice.cpp \
#1053917:1053918 @@ -27,7 +27,6 @@
#include <qwebframe.h>
#include <qboxlayout.h>
-
#include "kgraphicswebslice.h"
struct KGraphicsWebSlicePrivate
@@ -47,7 +46,7 @@
d->currentZoom = 1.0;
d->originalGeometry = QRectF();
d->view = new QGraphicsWebView( this );
- connect( d->view, SIGNAL( loadFinished(bool) ), this, SLOT( createSlice() ) );
+ connect( d->view, SIGNAL( loadFinished(bool) ), this, SLOT( createSlice(bool) ) \
);
QWebFrame *frame = d->view->page()->mainFrame();
frame->setScrollBarPolicy( Qt::Horizontal, Qt::ScrollBarAlwaysOff );
@@ -61,9 +60,9 @@
void KGraphicsWebSlice::setUrl( const QUrl &url )
{
- d->view->load( url );
QWebFrame *frame = d->view->page()->mainFrame();
frame->setHtml(d->loadingText);
+ d->view->load( url );
}
void KGraphicsWebSlice::setLoadingText(const QString &html)
@@ -91,21 +90,26 @@
d->sliceGeometry = geo;
}
+void KGraphicsWebSlice::createSlice(bool ok)
+{
+ if (ok) {
+ createSlice();
+ }
+}
+
void KGraphicsWebSlice::createSlice()
{
//qDebug() << "KGraphicsWebSlice::createSlice()";
QRectF geo = sliceGeometry();
- if (!geo.isValid()) {
- qDebug() << "Not creating slice, geo invalid" << geo;
- return;
- }
- d->originalGeometry = geo;
- d->view->resize( geo.size() );
QWebFrame *frame = d->view->page()->mainFrame();
- frame->setScrollPosition( geo.topLeft().toPoint() );
- refresh();
- emit sizeChanged(geo.size());
- emit loadFinished();
+ if (geo.isValid()) {
+ d->originalGeometry = geo;
+ d->view->resize( geo.size() );
+ frame->setScrollPosition( geo.topLeft().toPoint() );
+ refresh();
+ emit sizeChanged(geo.size());
+ emit loadFinished();
+ }
}
QRectF KGraphicsWebSlice::sliceGeometry()
@@ -115,38 +119,29 @@
if (!d->selector.isEmpty()) {
QWebElement element = frame->findFirstElement( d->selector );
if ( element.isNull() ) {
- qDebug() << "element is null..." << d->selector;
return QRectF();
}
geo = element.geometry();
- //qDebug() << "element geometry" << geo;
} else if (d->sliceGeometry.isValid()) {
geo = d->sliceGeometry;
- } else {
- qWarning() << "invalid element and size" << d->selector << d->sliceGeometry;
}
if (!geo.isValid()) {
- qDebug() << "invalid geometry" << geo;
return QRectF();
}
return geo;
-
}
void KGraphicsWebSlice::refresh()
{
QRectF geo = sliceGeometry();
if (!geo.isValid()) {
- qDebug() << "Not creating slice, geo invalid" << geo;
return;
}
d->view->resize( geo.size() );
QWebFrame *frame = d->view->page()->mainFrame();
frame->setScrollPosition( geo.topLeft().toPoint() );
- //qDebug() << "top point" << geo.topLeft().toPoint();
setPreferredSize(geo.size());
updateGeometry();
- //qDebug() << "refreshed. ... " << geo;
}
void KGraphicsWebSlice::resizeEvent ( QGraphicsSceneResizeEvent * event )
--- trunk/KDE/kdeplasma-addons/applets/webslice/kgraphicswebslice.h #1053917:1053918
@@ -137,17 +137,21 @@
*/
void loadFinished();
-protected slots:
+protected Q_SLOTS:
/**
- * Initial creating of slice and setting of sizing information.
+ * Slot to catch errors, passes on to createSlice()
*/
- void createSlice();
+ void createSlice(bool ok);
/**
* Reimplemented from QGraphicsWidget
*/
void resizeEvent ( QGraphicsSceneResizeEvent * event );
private:
+ /**
+ * Initial creating of slice and setting of sizing information.
+ */
+ void createSlice();
struct KGraphicsWebSlicePrivate *d;
};
--- trunk/KDE/kdeplasma-addons/applets/webslice/main.cpp #1053917:1053918
@@ -7,10 +7,10 @@
QApplication app( argc, argv );
KWebSlice slice;
- slice.setElement( QString("#block-user-0") );
+ slice.setElement( QString("#hotspot") );
//slice.setElement( QString("#box") );
slice.setLoadingText("<h1>Loading ...<h1>");
- slice.setUrl( QUrl(QString("http://dot.kde.org/")) );
+ slice.setUrl( QUrl(QString("http://www.kde.org/")) );
//slice.setUrl( \
QUrl("file:///home/sebas/kdesvn/install/share/apps/silk-webapp/test/testsite/beach.html") \
); slice.show();
--- trunk/KDE/kdeplasma-addons/applets/webslice/plasma/webslice.cpp #1053917:1053918
@@ -53,8 +53,8 @@
void WebSlice::init()
{
KConfigGroup cg = config();
- m_url = cg.readEntry("url", "http://dot.kde.org/");
- m_element = cg.readEntry("element", "#block-user-0");
+ m_url = cg.readEntry("url", "http://www.kde.org/");
+ m_element = cg.readEntry("element", "#hotspot");
// for testing geometry
//m_url = cg.readEntry("url", "http://buienradar.nl/");
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic