------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee. http://bugs.kde.org/show_bug.cgi?id=111560 ------- Additional Comments From caulier.gilles free fr 2006-09-29 12:04 ------- SVN commit 590109 by cgilles: kipi-plugins from trunk : GPSSync tool : The GPS location editor dialog now display the Google Maps view like a real widget, without margin and depending of the dialog size. If you reduce or increase dialog size, the world map size will be updated in live. CCMAIL: gerhard kulzer net, kde-imaging ke org BUG: 133359 CCBUGS: 111560 M +24 -6 getlonlat.php M +13 -0 gpseditdialog.cpp M +2 -0 gpseditdialog.h M +24 -11 gpsmapwidget.cpp M +9 -0 gpsmapwidget.h --- trunk/extragear/libs/kipi-plugins/gpssync/getlonlat.php #590108:590109 @ -1,7 +1,7 @ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> -<!-- +<?php /* ============================================================ * Authors: Caulier Gilles <caulier dot gilles at kdemail dot net> * Date : 2006-09-22 @ -10,9 +10,17 @ * * Copyright 2006 by Gilles Caulier * - * Note : this script use Google Map api: - * http://www.google.com/apis/maps/documentation + * Notes : This script use Google Map api: + * http://www.google.com/apis/maps/documentation + * This script must be copied to host kipi-plugins + * web project page. + * This script accept some values from url: + * - 'alt' : picture altitude. + * - 'lon' : picture longitude. + * - 'wth' : width of map. + * - 'hgt' : height of map. * + * * 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; @ -25,7 +33,7 @ * GNU General Public License for more details. * * ============================================================ */ ---> +?> <head> <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAy_Vv5rc03ctmYvwfsuTH6RSK29CRGKrdb78LNYpP1_riKtR3zRRxy4unyuWAi2vp7m1isLwuHObXDg" @ -82,7 +90,17 @ </script> </head> -<body onLoad="loadMap()"> -<div id="map" style="width: 640px; height: 480px"></div> +<body onLoad="loadMap()" marginwidth="0" marginheight="0" topmargin="0" leftmargin="0"> + +<?php + echo "<div id=\"map\" "; + echo "style=\"width: "; + echo $_GET['wth']; + echo "px; height: "; + echo $_GET['hgt']; + echo "px\">"; +?> + +</div> </body> </html> --- trunk/extragear/libs/kipi-plugins/gpssync/gpseditdialog.cpp #590108:590109 @ -20,6 +20,7 @ // Qt includes. +#include <qtimer.h> #include <qlabel.h> #include <qlayout.h> #include <qpushbutton.h> @ -131,6 +132,7 @ this, SLOT(slotNewGPSLocationFromMap(const QString&, const QString&))); readSettings(); + QTimer::singleShot(0, this, SLOT(slotUpdateWorldMap())); } GPSEditDialog::~GPSEditDialog() @ -145,6 +147,17 @ e->accept(); } +void GPSEditDialog::slotUpdateWorldMap() +{ + d->worldMap->resized(); +} + +void GPSEditDialog::resizeEvent(QResizeEvent *e) +{ + if (!e) return; + slotUpdateWorldMap(); +} + void GPSEditDialog::slotCancel() { saveSettings(); --- trunk/extragear/libs/kipi-plugins/gpssync/gpseditdialog.h #590108:590109 @ -50,9 +50,11 @ void slotOk(); void slotCancel(); void slotNewGPSLocationFromMap(const QString& lat, const QString& lon); + void slotUpdateWorldMap(); protected: + void GPSEditDialog::resizeEvent(QResizeEvent *); void closeEvent(QCloseEvent *); private: --- trunk/extragear/libs/kipi-plugins/gpssync/gpsmapwidget.cpp #590108:590109 @ -35,16 +35,14 @ GPSMapWidget::GPSMapWidget(QWidget* parent, const QString& lat, const QString& lon) : KHTMLPart(parent) { - view()->resize(640, 480); + m_latitude = lat; + m_longitude = lon; setJScriptEnabled(true); setDNDEnabled(false); setEditable(false); - QString url("http://digikam3rdparty.free.fr/gpslocator/getlonlat.php"); - url.append("?lat="); - url.append(lat); - url.append("&lon="); - url.append(lon); - openURL(KURL(url)); + view()->setVScrollBarMode(QScrollView::AlwaysOff); + view()->setHScrollBarMode(QScrollView::AlwaysOff); + view()->setMinimumSize(480, 360); } GPSMapWidget::~GPSMapWidget() @ -59,11 +57,26 @ { status.remove(0, 5); status.truncate(status.length()-1); - QString lat = status.section(",", 0, 0); - QString lon = status.section(",", 1, 1); - lon.remove(0, 5); - emit signalNewGPSLocationFromMap(lat, lon); + m_latitude = status.section(",", 0, 0); + m_longitude = status.section(",", 1, 1); + m_longitude.remove(0, 5); + emit signalNewGPSLocationFromMap(m_latitude, m_longitude); } } +void GPSMapWidget::resized() +{ + QString url("http://digikam3rdparty.free.fr/gpslocator/getlonlat.php"); + url.append("?lat="); + url.append(m_latitude); + url.append("&lon="); + url.append(m_longitude); + url.append("&wth="); + url.append(QString::number(view()->width())); + url.append("&hgt="); + url.append(QString::number(view()->height())); + openURL(KURL(url)); + kdDebug( 51001 ) << url << endl; +} + } // namespace KIPIGPSSyncPlugin --- trunk/extragear/libs/kipi-plugins/gpssync/gpsmapwidget.h #590108:590109 @ -29,6 +29,8 @ #include <khtml_part.h> +class QResizeEvent; + namespace KIPIGPSSyncPlugin { @ -41,6 +43,8 @ GPSMapWidget(QWidget* parent, const QString& lat, const QString& lon); ~GPSMapWidget(); + void resized(); + signals: void signalNewGPSLocationFromMap(const QString&, const QString&); @ -48,6 +52,11 @ protected: void khtmlMouseReleaseEvent(khtml::MouseReleaseEvent *); + +private: + + QString m_latitude; + QString m_longitude; }; } // namespace KIPIGPSSyncPlugin _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |