[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/marble/src/plugins/render/panoramio
From: Bastian Holst <bastianholst () gmx ! de>
Date: 2009-04-14 14:33:48
Message-ID: 1239719628.680787.1164.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 953786 by bholst:
* Adopting PanoramioPlugin to Marbles coding standards
* Readability enhancements
M +79 -54 PanoramioPlugin.cpp
M +15 -6 PanoramioPlugin.h
--- trunk/KDE/kdeedu/marble/src/plugins/render/panoramio/PanoramioPlugin.cpp \
#953785:953786 @@ -25,31 +25,31 @@
namespace Marble {
QStringList PanoramioPlugin::backendTypes() const {
- return QStringList("panoramio");
+ return QStringList( "panoramio" );
}
QString PanoramioPlugin::renderPolicy() const {
- return QString("ALWAYS");
+ return QString( "ALWAYS" );
}
QStringList PanoramioPlugin::renderPosition() const {
- return QStringList("ALWAYS_ON_TOP");
+ return QStringList( "ALWAYS_ON_TOP" );
}
QString PanoramioPlugin::name() const {
- return tr("Panoramio Photos");
+ return tr( "Panoramio Photos" );
}
QString PanoramioPlugin::guiString() const {
- return tr("&Panoramio");
+ return tr( "&Panoramio" );
}
QString PanoramioPlugin::nameId() const {
- return QString("panoramio");
+ return QString( "panoramio" );
}
QString PanoramioPlugin::description() const {
- return tr("Automatically downloads images from around the world in preference to \
their popularity"); + return tr( "Automatically downloads images from around the \
world in preference to their popularity" ); }
QIcon PanoramioPlugin::icon() const {
@@ -60,86 +60,111 @@
void PanoramioPlugin::initialize() {
flag = 0;
numberOfImagesToShow = 20;
- m_storagePolicy = new CacheStoragePolicy(MarbleDirs::localPath() + "/cache/");
- m_downloadManager = new HttpDownloadManager(QUrl("htttp://mw2.google.com/"), \
m_storagePolicy);
- downloadPanoramio(0, numberOfImagesToShow , -180.00 / RADIANSTODEGREES , -90.00 \
/ RADIANSTODEGREES , 180.00 / RADIANSTODEGREES , 90.00 / \
RADIANSTODEGREES);
-
+ m_storagePolicy = new CacheStoragePolicy( MarbleDirs::localPath()
+ + "/cache/" );
+ m_downloadManager = new HttpDownloadManager( QUrl("htttp://mw2.google.com/"),
+ m_storagePolicy );
+ downloadPanoramio( 0, numberOfImagesToShow,
+ -180.00 / RADIANSTODEGREES, -90.00 / RADIANSTODEGREES,
+ 180.00 / RADIANSTODEGREES, 90.00 / RADIANSTODEGREES );
}
bool PanoramioPlugin::isInitialized() const {
return true;
}
+
/**
-*This function render whatever images it has in list
-*/
-bool PanoramioPlugin::render(GeoPainter *painter, ViewportParams *viewport, const \
QString& renderPos, GeoSceneLayer * layer) { + *This function render whatever images \
it has in list + */
+bool PanoramioPlugin::render( GeoPainter *painter, ViewportParams *viewport,
+ const QString& renderPos, GeoSceneLayer * layer )
+{
static qreal deltaWest = 0 , deltaEast = 0 , deltaSouth = 0 , deltaNorth = 0;
painter->autoMapQuality();
GeoDataLatLonAltBox mylatLonAltBox = viewport->viewLatLonAltBox();
- if (flag == 1) {
- for (int x = 0; x < images.size(); ++x) {
- painter->drawPixmap(GeoDataCoordinates(parsedData[x].longitude, \
parsedData[x].latitude, 0.0, GeoDataCoordinates::Degree), \
*((images.at(x))->returnPointerToImage())); + if ( flag == 1 ) {
+ for ( int x = 0; x < images.size(); ++x ) {
+ GeoDataCoordinates coordinates( parsedData[x].longitude,
+ parsedData[x].latitude,
+ 0.0,
+ GeoDataCoordinates::Degree );
+ painter->drawPixmap( coordinates, *( (images.at( x ) \
)->returnPointerToImage() ) ); // \
(images.at(x)).render(painter->device(),QPoint(),QRegion(),QWidget::RenderFlags(QWidget::DrawChildren));//,my \
attempt at drawing a widget
- painter->setBrush(QBrush(Qt::NoBrush));
- painter->setPen(Qt::Dense1Pattern);
- painter->setPen(Qt::white);
- painter->drawRect(GeoDataCoordinates(parsedData[x].longitude, \
parsedData[x].latitude, 0.0, GeoDataCoordinates::Degree),/*parsedData[x].height , \
parsedData[x].width*/50, 50); + painter->setBrush( QBrush( Qt::NoBrush ) \
); + painter->setPen( Qt::Dense1Pattern );
+ painter->setPen( Qt::white );
+ painter->drawRect( coordinates,/*parsedData[x].height , \
parsedData[x].width*/50, 50 ); // qDebug() <<"Shanky: Coordinates are \
lon-lat: " << parsedData[x].longitude << parsedData[x].latitude;
}
}
return true;
}
+
/**
-*this slot is called after the json has been downlaod
-*[1]this flost calls the json parser
-*[2]add jobs in http Download manager for each parsed entry in parsed json
-*/
-void PanoramioPlugin::slotDownloadImage(QString relativeUrlString, QString id) {
- disconnect(m_downloadManager, SIGNAL(downloadComplete(QString, QString)), this, \
SLOT(slotDownloadImage(QString , QString)));
- connect(m_downloadManager, SIGNAL(downloadComplete(QString, QString)), this, \
SLOT(slotAppendImageToList(QString , QString))); + *this slot is called after the \
json has been downlaod + *[1]this flost calls the json parser
+ *[2]add jobs in http Download manager for each parsed entry in parsed json
+ */
+void PanoramioPlugin::downloadImages( QString relativeUrlString, QString id ) {
+ disconnect( m_downloadManager, SIGNAL( downloadComplete( QString, QString ) ),
+ this, SLOT( downloadImages( QString , QString ) ) );
+ connect( m_downloadManager, SIGNAL( downloadComplete( QString, QString ) ),
+ this, SLOT( appendImageToList( QString , QString ) ) );
- for (int x = 0; x < numberOfImagesToShow; ++x) {
- temp = panoramioJsonParser.parseObjectOnPosition(QString::fromUtf8(m_storagePolicy->data(id)), \
x);
- parsedData.append(temp);
+ for ( int x = 0; x < numberOfImagesToShow; ++x ) {
+ temp = panoramioJsonParser.parseObjectOnPosition( QString::fromUtf8( \
m_storagePolicy->data( id ) ), x ); + parsedData.append( temp );
// qDebug()<<temp.photo_file_url;
- if (!m_storagePolicy->fileExists(temp.photo_title)) {
- m_downloadManager->addJob(QUrl(temp.photo_file_url), temp.photo_title, \
QString::number(x)); + if ( !m_storagePolicy->fileExists( temp.photo_title ) ) \
{ + m_downloadManager->addJob( QUrl( temp.photo_file_url ), \
temp.photo_title, QString::number( x ) ); qDebug() << "adding " << temp.photo_title;
}
}
}
+
/**
-*this slot is called once a image has been downloaded by HTTPdownloader
-[1]It appends the image to a imageWidget
-*/
-void PanoramioPlugin::slotAppendImageToList(const QString relativeUrlString, const \
QString id) {
- tempImage.load(MarbleDirs::localPath() + "/cache/" + relativeUrlString);
+ * this slot is called once a image has been downloaded by HTTPdownloader
+ * [1]It appends the image to a imageWidget
+ */
+void PanoramioPlugin::appendImageToList( const QString relativeUrlString, const \
QString id ) { + tempImage.load( MarbleDirs::localPath() + "/cache/" + \
relativeUrlString ); // imagesWeHave.append(tempImage.scaled(QSize(50, 50), \
Qt::IgnoreAspectRatio , Qt::FastTransformation));
- images.append(new imageWidget);
- (images.at((images.size())-1))->addImage(tempImage.scaled(QSize(50, 50), \
Qt::IgnoreAspectRatio , Qt::FastTransformation));
- qDebug() <<__func__ << id << "=" << tempImage.isNull() << \
MarbleDirs::localPath() + "/cache/" + relativeUrlString ; + images.append( new \
imageWidget ); + ( images.at( ( images.size() ) - 1 ) )->addImage( \
tempImage.scaled( QSize( 50, 50 ), + \
Qt::IgnoreAspectRatio, + \
Qt::FastTransformation ) ); + qDebug() << __func__ << id << "=" << \
tempImage.isNull() << MarbleDirs::localPath() + "/cache/" + relativeUrlString ; flag \
= 1; }
+
/**
-*This function add jobs to downlaod manager to fetch json file from panoramio \
sevrers
-*/
-void PanoramioPlugin::downloadPanoramio(int rangeFrom , int rangeTo , qreal east , \
qreal west , qreal north , qreal south) {
- m_downloadManager->addJob(QUrl("http://www.panoramio.com/map/get_panoramas.php?from="
- + QString::number(rangeFrom)
- + "&to=" + QString::number(rangeTo)
- + "&minx=" + QString::number(east * \
RADIANSTODEGREES)
- + "&miny=" + QString::number(west * \
RADIANSTODEGREES)
- + "&maxx=" + QString::number(north * \
RADIANSTODEGREES)
- + "&maxy=" + QString::number(south * \
RADIANSTODEGREES) + "&size=medium"), "panoramio" + QString::number(east), "panoramio" \
+ QString::number(east));
- connect(m_downloadManager, SIGNAL(downloadComplete(QString, QString)), this, \
SLOT(slotDownloadImage(QString , QString))); + * This function add jobs to downlaod \
manager to fetch json file from panoramio servers + */
+void PanoramioPlugin::downloadPanoramio( int rangeFrom, int rangeTo,
+ qreal east, qreal west,
+ qreal north , qreal south )
+{
+ QUrl jsonUrl( "http://www.panoramio.com/map/get_panoramas.php?from="
+ + QString::number( rangeFrom )
+ + "&to=" + QString::number( rangeTo )
+ + "&minx=" + QString::number( east * RADIANSTODEGREES )
+ + "&miny=" + QString::number( west * RADIANSTODEGREES )
+ + "&maxx=" + QString::number( north * RADIANSTODEGREES )
+ + "&maxy=" + QString::number( south * RADIANSTODEGREES )
+ + "&size=medium");
+ m_downloadManager->addJob( jsonUrl,
+ "panoramio" + QString::number( east ),
+ "panoramio" + QString::number( east ) );
+ connect( m_downloadManager, SIGNAL( downloadComplete( QString, QString ) ),
+ this, SLOT( downloadImages( QString , QString ) ) );
}
/**
-*trying to install a event filter on marble widget to fliter events for our little \
image widgets
-*/
+ * trying to install a event filter on marble widget to filter events for our little \
image widgets + */
bool PanoramioPlugin::eventFilter(QObject *object, QEvent *e) {
MarbleWidget *widget = dynamic_cast<MarbleWidget*> (object);
if ( !widget ) {
--- trunk/KDE/kdeedu/marble/src/plugins/render/panoramio/PanoramioPlugin.h \
#953785:953786 @@ -39,8 +39,8 @@
class PanoramioPlugin : public RenderPlugin {
Q_OBJECT
- Q_INTERFACES(Marble::RenderPluginInterface)
- MARBLE_PLUGIN(PanoramioPlugin)
+ Q_INTERFACES( Marble::RenderPluginInterface )
+ MARBLE_PLUGIN( PanoramioPlugin )
public:
QStringList backendTypes() const;
@@ -64,13 +64,20 @@
bool isInitialized() const;
- bool render(GeoPainter *painter, ViewportParams *viewport, const QString& \
renderPos, GeoSceneLayer * layer = 0); + bool render( GeoPainter *painter, \
ViewportParams *viewport, + const QString& renderPos, GeoSceneLayer * \
layer = 0 ); protected:
bool eventFilter( QObject *object, QEvent *e );
public slots:
- void slotDownloadImage(QString , QString); //completed download of json reply \
fom panoramio
- void slotAppendImageToList(QString , QString); //completed download of image
+ /**
+ * Download images from the json-file
+ */
+ void downloadImages( QString , QString );
+ /**
+ * Append images that are have been downloaded
+ */
+ void appendImageToList( QString , QString );
signals:
void statusMessageForImageDownloadingProcess(QString);
private:
@@ -78,7 +85,9 @@
HttpDownloadManager *m_downloadManager;
jsonParser panoramioJsonParser;
int decimalToSexagecimal();//convert decimal to DMS system
- void downloadPanoramio(int, int, qreal, qreal, qreal, qreal);
+ void downloadPanoramio( int rangeFrom, int rangeTo,
+ qreal east, qreal west,
+ qreal north, qreal south );
QList <panoramioDataStructure> parsedData;
panoramioDataStructure temp;
QPixmap tempImage;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic