[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/marble/src/plugins/marble/panoramio
From: Shashank Singh <shashank.personal () gmail ! com>
Date: 2008-07-20 19:07:19
Message-ID: 1216580839.804735.25397.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 835539 by ssingh:
additon of image borders tweaking oh http downlaoder and correctited a
bug in downlaoder
M +84 -42 PanoramioPlugin.cpp
M +6 -3 PanoramioPlugin.h
--- trunk/KDE/kdeedu/marble/src/plugins/marble/panoramio/PanoramioPlugin.cpp \
#835538:835539 @@ -17,108 +17,150 @@
#include "MarbleDirs.h"
#include "GeoPainter.h"
#include "GeoDataPoint.h"
+#include "GeoDataPoint.h"
+#include "GeoDataLatLonAltBox.h"
+#include "ViewportParams.h"
-
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
{
- return QIcon();
+ return QIcon();
}
void PanoramioPlugin::initialize ()
{
- flag = 0;
- numberOfImagesToShow = 5;
- m_storagePolicy = new CacheStoragePolicy ( MarbleDirs::localPath() + "/cache/" \
);
- m_downloadManager = new HttpDownloadManager ( QUrl ( "htttp://mw2.google.com/" \
), m_storagePolicy );
- downloadPanoramio ( 0, numberOfImagesToShow );
+ flag = 0;
+ numberOfImagesToShow = 5;
+ 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;
+ return true;
}
bool PanoramioPlugin::render ( GeoPainter *painter, ViewportParams *viewport, const \
QString& renderPos, GeoSceneLayer * layer ) {
- painter->autoMapQuality();
+ static double deltaWest = 0 , deltaEast = 0 , deltaSouth = 0 , deltaNorth = \
0; + painter->autoMapQuality();
+ GeoDataLatLonAltBox mylatLonAltBox = viewport->viewLatLonAltBox();
- if ( flag == 1 )
- {
- for ( int x = 0; x < imagesWeHave.count(); ++x )
- {
- painter->drawPixmap ( GeoDataPoint ( \
parsedData[x].longitude,parsedData[x].latitude, 0.0, GeoDataPoint::Degree ), \
imagesWeHave[x] );
- qDebug() <<"Shanky: Coordinates are lon-lat: " << \
parsedData[x].longitude << parsedData[x].latitude; + double west = \
mylatLonAltBox.west(); + double east = mylatLonAltBox.east();
+ double south = mylatLonAltBox.south();
+ double north = mylatLonAltBox.north();
+// if ( ( west - deltaWest ) != 0 || ( east - deltaEast != 0 ) || ( south - \
deltaSouth != 0 ) || ( north - deltaNorth != 00 ) ) +// {
+// // flag = 0 ;
+// qDebug() <<"delta part";
+// downloadPanoramio ( 0 , numberOfImagesToShow , west , east , north , \
south ); +// disconnect( m_downloadManager, SIGNAL ( downloadComplete ( \
QString, QString ) ), this, SLOT ( slotImageDownloadComplete ( QString , QString ) ) \
); +// }
+
+ if ( flag == 1 ) {
+ for ( int x = 0; x < imagesWeHave.count(); ++x ) {
+ painter->drawPixmap ( GeoDataPoint ( \
parsedData[x].longitude,parsedData[x].latitude, 0.0, GeoDataPoint::Degree ), \
imagesWeHave[x] ); + painter->setBrush(QBrush(Qt::NoBrush));
+ painter->setPen(Qt::Dense1Pattern);
+ painter->setPen(Qt::white);
+ painter->drawRect(GeoDataPoint ( \
parsedData[x].longitude,parsedData[x].latitude, 0.0, GeoDataPoint::Degree \
),/*parsedData[x].height , parsedData[x].width*/50,50); +// qDebug() \
<<"Shanky: Coordinates are lon-lat: " << parsedData[x].longitude << \
parsedData[x].latitude; + }
}
- }
- return true;
+ qDebug() <<"deltas"<<west - deltaWest<<east - deltaEast<<south - \
deltaSouth<<north - deltaNorth; +
+ deltaWest = west;
+ deltaEast = east ;
+ deltaSouth = south ;
+ deltaNorth = north;
+ return true;
}
void PanoramioPlugin::slotJsonDownloadComplete ( QString relativeUrlString, QString \
id ) {
- disconnect ( m_downloadManager, SIGNAL ( downloadComplete ( QString, QString ) \
), this, SLOT ( slotJsonDownloadComplete ( QString , QString ) ) );
- connect ( m_downloadManager, SIGNAL ( downloadComplete ( QString, QString ) ), \
this, SLOT ( slotImageDownloadComplete ( QString , QString ) ) ); + disconnect \
( m_downloadManager, SIGNAL ( downloadComplete ( QString, QString ) ), this, SLOT ( \
slotJsonDownloadComplete ( QString , QString ) ) ); + connect ( \
m_downloadManager, SIGNAL ( downloadComplete ( QString, QString ) ), this, SLOT ( \
slotImageDownloadComplete ( QString , QString ) ) );
- for ( int x = 0; x < numberOfImagesToShow; ++x )
- {
- temp = panoramioJsonParser.parseObjectOnPosition ( QString::fromUtf8 ( \
m_storagePolicy->data ( id ) ), x );
- parsedData.append ( temp );
- m_downloadManager->addJob ( QUrl ( temp.photo_file_url ), temp.photo_title, \
QString::number ( x ) );
- qDebug() <<":::::::shanky1" << temp.photo_file_url;
- }
+ for ( int x = 0; x < numberOfImagesToShow; ++x ) {
+ temp = panoramioJsonParser.parseObjectOnPosition ( QString::fromUtf8 \
( m_storagePolicy->data ( id ) ), x ); + parsedData.append ( temp );
+ if ( !m_storagePolicy->fileExists ( temp.photo_title ) ) {
+ m_downloadManager->addJob ( QUrl ( temp.photo_file_url ), \
temp.photo_title, QString::number ( x ) ); + qDebug() \
<<"skipping "<<temp.photo_title; + }
+ qDebug() <<":::::::shanky1" << temp.photo_file_url;
+ }
+
+// HttpJob *job = new HttpJob ( sourceUrl, destFileName, id );
+// m_downloadManager->removeJob(job);
}
void PanoramioPlugin::slotImageDownloadComplete ( const QString relativeUrlString, \
const QString id ) {
- // temp.loadFromData ( m_storagePolicy->data ( id ) );
- tempImage.load ( MarbleDirs::localPath() + "/cache/" + relativeUrlString );
- imagesWeHave.append ( tempImage.scaled ( QSize ( 50, 50 ), Qt::KeepAspectRatio \
, Qt::SmoothTransformation ) );
- qDebug() <<"::::::::::::::shanky2"<< id << "=" << tempImage.isNull() << \
MarbleDirs::localPath() + "/cache/" + relativeUrlString ;
- flag = 1;
+ // temp.loadFromData ( m_storagePolicy->data ( id ) );
+ tempImage.load ( MarbleDirs::localPath() + "/cache/" + relativeUrlString );
+ imagesWeHave.append ( tempImage.scaled ( QSize ( 50, 50 ), \
Qt::IgnoreAspectRatio , Qt::SmoothTransformation ) ); + qDebug() \
<<"::::::::::::::shanky2"<< id << "=" << tempImage.isNull() << \
MarbleDirs::localPath() + "/cache/" + relativeUrlString ; + flag = 1;
}
-void PanoramioPlugin::downloadPanoramio ( int rangeFrom , int rangeTo )
+void PanoramioPlugin::downloadPanoramio ( int rangeFrom , int rangeTo ,double east \
,double west , double north ,double south ) {
- m_downloadManager->addJob ( QUrl ( \
"http://www.panoramio.com/map/get_panoramas.php?from="+QString::number(rangeFrom) + \
"&to=" + QString::number(rangeTo) + "&minx=-180&miny=-90&maxx=180&maxy=90" \
),"panoramio","panoramio" );
- connect ( m_downloadManager,SIGNAL ( downloadComplete ( QString, QString ) \
),this, SLOT ( slotJsonDownloadComplete ( QString , QString ) ) );
- qDebug() <<"::::::::::::::shanky0";
+ 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","panoramio"); + connect ( m_downloadManager,SIGNAL ( \
downloadComplete ( QString, QString ) ),this, SLOT ( slotJsonDownloadComplete ( \
QString , QString ) ) ); + qDebug() <<"::::::::::::::shanky0";
+ job = new HttpJob ( 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","panoramio" ); }
--- trunk/KDE/kdeedu/marble/src/plugins/marble/panoramio/PanoramioPlugin.h \
#835538:835539 @@ -14,10 +14,12 @@
#ifndef MARBLEPANORAMIOPLUGIN_H
#define MARBLEPANORAMIOPLUGIN_H
+#define RADIANSTODEGREES 57.2957795
#include <QtCore/QObject>
#include "../lib/HttpDownloadManager.h"
#include "../lib/CacheStoragePolicy.h"
+// #include "../lib/HttpJob.h"
#include "jsonparser.h"
#include "MarbleAbstractLayer.h"
@@ -53,24 +55,25 @@
bool isInitialized () const;
-
bool render ( GeoPainter *painter, ViewportParams *viewport, const QString& \
renderPos, GeoSceneLayer * layer = 0 );
public slots:
void slotJsonDownloadComplete ( QString , QString );//completed download of \
json reply fom panoramio
void slotImageDownloadComplete ( QString , QString );//completed download of \
image
-
+ signals:
+ void statusMessageForImageDownloadingProcess(QString);
private:
CacheStoragePolicy *m_storagePolicy;
HttpDownloadManager *m_downloadManager;
jsonParser panoramioJsonParser;
int decimalToSexagecimal();//convert decimal to DMS system
- void downloadPanoramio ( int,int );
+ void downloadPanoramio ( int,int,double,double,double,double);
QList <QPixmap > imagesWeHave;//this list will hold pointers to pixmaps we \
have downloaded QList <panoramioDataStructure> parsedData;
panoramioDataStructure temp;
QPixmap tempImage;
int flag;//this flag is one when globe has an Image (downloaded or already \
there in cache) + HttpJob *job;
int numberOfImagesToShow;//this factor stires how many are to be downloaded \
and shown on the globe };
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic