------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-22 14:18 ------- Antonio, I'm not sure if the GPSSync plugin is the right place to a manual GPS position editing. This plugin is dedicaced to synchronize only pictures metadata with a GPX file. I think it can be confuse to have a manual GPS position editing in the plugin. We can do it directly in digiKam, to select a picture and use the Metadata/GPS sidebar tab. We must add a new button in this area to set the GPS position value. Your viewpoints please... Gilles Caulier _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From Julien.Narboux inria fr 2006-09-22 14:23 ------- I agree with you Gilles. My 2 cents Julien _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-22 15:11 ------- SVN commit 587348 by cgilles: kipi-plugins from trunk : GPSSync tool : added new option to interpolate GPS positions. CCMAIL: kde-imaging kde org, alexios.beveratos gmail com, gerhard kulzer net CCBUGS: 133359, 111560 M +93 -99 gpsdataparser.cpp M +6 -4 gpsdataparser.h M +31 -11 gpslistviewitem.cpp M +3 -1 gpslistviewitem.h M +46 -23 gpssyncdialog.cpp M +1 -1 gpssyncdialog.h _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-22 15:17 ------- Hey guy ! I don't have a GPS device to test. Interpolation method is just implemented, not tested indeep. Gerhard, i have used your algorithm to compute interpolated GPS positions. Take a look into GPSDataParser::matchDate() method from gpsdataparser.cpp : http://websvn.kde.org/trunk/extragear/libs/kipi-plugins/gpssync/gpsdataparser.cpp?rev=587348&view=auto Please give me a feedback. Thanks in advance Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-22 15:25 ------- A fresh screenshot of the plugin : http://digikam3rdparty.free.fr/Screenshots/newkipigpssyncplugin.png Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From Julien.Narboux inria fr 2006-09-22 15:43 ------- I did not test, I just read the code. Why not use the same interpolation formula for the altitude ? Julien _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-22 15:50 ------- This is have a sence to interpolate altitude value ? If yes, well why not (:=))). it just 3 source code lines to add... Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From Julien.Narboux inria fr 2006-09-22 16:02 ------- The same meaning as interpolating longitiude and latitude I guess. It is just a third dimension in a special coordinate system. We assume that I you are at sea level at 12 oclock and your are at 1000m high at 12:30 then you may be at 500 at 12:15... Of course it may be false, but the same applies to latitude and longitude. In the future the interpolation could be improved by taking into account more than two points. But it is more complicated and imho not needed. What I mean by taking into account more that two points is to compute a nice curve going through the points (a spline for instance) and then interpolate on this spline. Julien _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-22 16:39 ------- SVN commit 587368 by cgilles: kipi-plugins from trunk : GPSSync tool : interpolate altitude value like latitude and longitude. CCMAIL: kde-imaging kde org, alexios.beveratos gmail com, gerhard kulzer net CCBUGS: 133359, 111560 M +3 -1 gpsdataparser.cpp --- trunk/extragear/libs/kipi-plugins/gpssync/gpsdataparser.cpp #587367:587368 @ -104,9 +104,11 @ GPSDataContainer prevGPSPoint = m_GPSDataMap[prevDateTime]; GPSDataContainer nextGPSPoint = m_GPSDataMap[nextDateTime]; + double alt1 = prevGPSPoint.altitude(); double lon1 = prevGPSPoint.longitude(); double lat1 = prevGPSPoint.latitude(); uint t1 = prevDateTime.toTime_t(); + double alt2 = nextGPSPoint.altitude(); double lon2 = nextGPSPoint.longitude(); double lat2 = nextGPSPoint.latitude(); uint t2 = nextDateTime.toTime_t(); @ -114,7 +116,7 @ if (t3-t1 != 0) { - alt = 0.0; // We cannot interpolate altitude. + alt = alt1 + (alt2-alt1) * (t2-t1)/(t3-t1); lat = lat1 + (lat2-lat1) * (t2-t1)/(t3-t1); lon = lon1 + (lon2-lon1) * (t2-t1)/(t3-t1); isInterpolated = true; _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-25 08:44 ------- SVN commit 588154 by cgilles: kipi-plugins from trunk : GPSSync tool : new option to set the maximum distance time in minutes to get matched points from GPX file around a GPS point to interpolate. CCMAIL: kde-imaging kde org, alexios.beveratos gmail com, gerhard kulzer net CCBUGS: 133359, 111560 M +27 -2 gpssyncdialog.cpp --- trunk/extragear/libs/kipi-plugins/gpssync/gpssyncdialog.cpp #588153:588154 @ -73,9 +73,12 @ gpxPointsLabel = 0; timeZoneCB = 0; interpolateBox = 0; + maxTimeInput = 0; + maxTimeLabel = 0; } QLabel *gpxPointsLabel; + QLabel *maxTimeLabel; QComboBox *timeZoneCB; @ -84,6 +87,7 @ KListView *listView; KIntSpinBox *maxGapInput; + KIntSpinBox *maxTimeInput; KSqueezedTextLabel *gpxFileName; @ -149,7 +153,7 @ // --------------------------------------------------------------- QWidget *settingsBox = new QGroupBox(0, Qt::Vertical, i18n("Settings"), plainPage()); - QGridLayout* settingsBoxLayout = new QGridLayout(settingsBox->layout(), 7, 1, + QGridLayout* settingsBoxLayout = new QGridLayout(settingsBox->layout(), 8, 1, KDialog::spacingHint()); QPushButton *loadGPXButton = new QPushButton(i18n("Load GPX File..."), settingsBox); @ -202,6 +206,11 @ QWhatsThis::add(d->interpolateBox, i18n("<p>Set on this option to interpolate GPS points " "witch are not matches properly with the GPX data file.")); + d->maxTimeLabel = new QLabel(i18n("Max. distance time:"), settingsBox); + d->maxTimeInput = new KIntSpinBox(0, 240, 1, 15, 10, settingsBox); + QWhatsThis::add(d->maxTimeInput, i18n("<p>Set here the maximum distance time in minutes " + "to get matched points from GPX file around a GPS point to interpolate.")); + settingsBoxLayout->addMultiCellWidget(loadGPXButton, 0, 0, 0, 1); settingsBoxLayout->addMultiCellWidget(gpxFileLabel, 1, 1, 0, 1); settingsBoxLayout->addMultiCellWidget(d->gpxFileName, 2, 2, 0, 1); @ -212,6 +221,8 @ settingsBoxLayout->addMultiCellWidget(timeZoneLabel, 6, 6, 0, 0); settingsBoxLayout->addMultiCellWidget(d->timeZoneCB, 6, 6, 1, 1); settingsBoxLayout->addMultiCellWidget(d->interpolateBox, 7, 7, 0, 1); + settingsBoxLayout->addMultiCellWidget(d->maxTimeLabel, 8, 8, 0, 0); + settingsBoxLayout->addMultiCellWidget(d->maxTimeInput, 8, 8, 1, 1); // --------------------------------------------------------------- @ -242,6 +253,14 @ this, SLOT(slotHelp()), 0, -1, 0); actionButton(Help)->setPopup( helpMenu->menu() ); + // --------------------------------------------------------------- + + connect(d->interpolateBox, SIGNAL(toggled(bool)), + d->maxTimeLabel, SLOT(setEnabled(bool))); + + connect(d->interpolateBox, SIGNAL(toggled(bool)), + d->maxTimeInput, SLOT(setEnabled(bool))); + readSettings(); } @ -326,6 +345,10 @ d->maxGapInput->setValue(config.readNumEntry("Max Gap Time", 30)); d->timeZoneCB->setCurrentItem(config.readNumEntry("Time Zone", 12)); d->interpolateBox->setChecked(config.readBoolEntry("Interpolate", false)); + d->maxTimeInput->setValue(config.readNumEntry("Max Inter Dist Time", 15)); + + d->maxTimeLabel->setEnabled(d->interpolateBox->isChecked()); + d->maxTimeInput->setEnabled(d->interpolateBox->isChecked()); resize(configDialogSize(config, QString("GPS Sync Dialog"))); } @ -336,6 +359,7 @ config.writeEntry("Max Gap Time", d->maxGapInput->value() ); config.writeEntry("Time Zone", d->timeZoneCB->currentItem() ); config.writeEntry("Interpolate", d->interpolateBox->isChecked() ); + config.writeEntry("Max Inter Dist Time", d->maxTimeInput->value() ); saveDialogSize(config, QString("GPS Sync Dialog")); config.sync(); } @ -355,7 +379,8 @ d->maxGapInput->value(), d->timeZoneCB->currentItem()-12, d->interpolateBox->isChecked(), - 600, gpsData)) + d->maxTimeInput->value(), + gpsData)) { item->setGPSInfo(gpsData); itemsUpdated++; _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-25 14:54 ------- SVN commit 588251 by cgilles: kipi-plugins from trunk : GPSSync tool : - New options : * to set GPS coordinates manually. * to remove all GPS info from file. - Bug fix (relevant of EXIV2 library ?) : we need to clean up all GPS info from file before to rewrite it. Andreas, i have seen that if a picture has already GPS infos, if i don't process a clean up of all Exif.GPSInfo tags, the lattitude and altitude values are set to 0. CCMAIL: kde-imaging kde org, alexios.beveratos gmail com, gerhard kulzer net, ahuggel gmx net CCBUGS: 133359, 111560 M +1 -1 Makefile.am A gpseditdialog.cpp [License: GPL] A gpseditdialog.h [License: GPL] M +39 -8 gpslistviewitem.cpp M +3 -1 gpslistviewitem.h M +31 -10 gpssyncdialog.cpp M +7 -0 gpssyncdialog.h --- trunk/extragear/libs/kipi-plugins/gpssync/Makefile.am #588250:588251 @ -10,7 +10,7 @ # Srcs for the plugin kipiplugin_gpssync_la_SOURCES = plugin_gpssync.cpp gpssyncdialog.cpp gpslistviewitem.cpp \ - gpsbabelbinary.cpp gpsdataparser.cpp + gpsbabelbinary.cpp gpsdataparser.cpp gpseditdialog.cpp # Libs needed by the plugin kipiplugin_gpssync_la_LIBADD = $(top_builddir)/kipi-plugins/common/exiv2iface/libexiv2iface.la \ --- trunk/extragear/libs/kipi-plugins/gpssync/gpslistviewitem.cpp #588250:588251 @ -44,12 +44,14 @ GPSListViewItemPriv() { - enabled = false; - dirty = false; + enabled = false; + dirty = false; + erase = false; } bool enabled; bool dirty; + bool erase; QDateTime date; @ -86,7 +88,7 @ delete d; } -void GPSListViewItem::setGPSInfo(GPSDataContainer gpsData, bool dirty) +void GPSListViewItem::setGPSInfo(GPSDataContainer gpsData, bool dirty, bool addedManually) { d->dirty = dirty; d->gpsData = gpsData; @ -100,7 +102,12 @ if (d->gpsData.isInterpolated()) status = i18n("Interpolated"); else - status = i18n("Found"); + { + if (addedManually) + status = i18n("Added"); + else + status = i18n("Found"); + } } setText(6, status); @ -147,10 +154,13 @ { setPixmap(1, SmallIcon("run")); KIPIPlugins::Exiv2Iface exiv2Iface; - exiv2Iface.load(d->url.path()); - bool ret = exiv2Iface.setGPSInfo(d->gpsData.altitude(), - d->gpsData.latitude(), + bool ret = exiv2Iface.load(d->url.path()); + ret &= exiv2Iface.removeGPSInfo(); + if (!d->erase) + { + ret &= exiv2Iface.setGPSInfo(d->gpsData.altitude(), d->gpsData.latitude(), d->gpsData.longitude()); + } ret &= exiv2Iface.save(d->url.path()); if (ret) setPixmap(1, SmallIcon("ok")); @ -175,11 +185,24 @ return d->dirty; } +void GPSListViewItem::eraseGPSInfo(bool e) +{ + d->erase = e; + d->dirty = true; + + if (e) + setText(6, i18n("Deleted!")); + else + setText(6, ""); + + repaint(); +} + void GPSListViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment) { if (d->enabled) { - if ( isDirty() && column >=2 && column <=4 ) + if ( isDirty() && !d->erase && column >= 2 && column <= 4 ) { QColorGroup _cg( cg ); QColor c = _cg.text(); @ -187,6 +210,14 @ KListViewItem::paintCell( p, _cg, column, width, alignment ); _cg.setColor( QColorGroup::Text, c ); } + else if ( isDirty() && d->erase && column == 6) + { + QColorGroup _cg( cg ); + QColor c = _cg.text(); + _cg.setColor( QColorGroup::Text, Qt::red ); + KListViewItem::paintCell( p, _cg, column, width, alignment ); + _cg.setColor( QColorGroup::Text, c ); + } else KListViewItem::paintCell(p, cg, column, width, alignment); } --- trunk/extragear/libs/kipi-plugins/gpssync/gpslistviewitem.h #588250:588251 @ -55,9 +55,11 @ GPSListViewItem(KListView *view, QListViewItem *after, const KURL& url); ~GPSListViewItem(); - void setGPSInfo(GPSDataContainer gpsData, bool dirty=true); + void setGPSInfo(GPSDataContainer gpsData, bool dirty=true, bool addedManually=false); GPSDataContainer getGPSInfo(); + void eraseGPSInfo(bool e); + void setDateTime(QDateTime date); QDateTime getDateTime(); --- trunk/extragear/libs/kipi-plugins/gpssync/gpssyncdialog.cpp #588250:588251 @ -54,6 +54,7 @ #include "gpslistviewitem.h" #include "pluginsversion.h" +#include "gpseditdialog.h" #include "gpssyncdialog.h" #include "gpssyncdialog.moc" @ -98,15 +99,16 @ GPSSyncDialog::GPSSyncDialog( KIPI::Interface* interface, QWidget* parent) : KDialogBase(Plain, i18n("GPS Sync"), - Help|User1|Apply|Close, Close, + Help|User1|User2|Apply|Close, Close, parent, 0, true, true ) { d = new GPSSyncDialogPriv; d->interface = interface; setButtonText(User1, i18n("Correlate")); - enableButton(Apply, false); + setButtonText(User2, i18n("Edit Coordinates...")); enableButton(User1, false); + enableButton(User2, true); QGridLayout *mainLayout = new QGridLayout(plainPage(), 3, 1, 0, marginHint()); @ -158,9 +160,6 @ QPushButton *loadGPXButton = new QPushButton(i18n("Load GPX File..."), settingsBox); - connect(loadGPXButton, SIGNAL(pressed()), - this, SLOT(slotLoadGPXFile())); - QLabel *gpxFileLabel = new QLabel(i18n("Current GPX file:"), settingsBox); d->gpxFileName = new KSqueezedTextLabel(i18n("No GPX file"), settingsBox); d->gpxPointsLabel = new QLabel(settingsBox); @ -255,6 +254,9 @ // --------------------------------------------------------------- + connect(loadGPXButton, SIGNAL(pressed()), + this, SLOT(slotLoadGPXFile())); + connect(d->interpolateBox, SIGNAL(toggled(bool)), d->maxTimeLabel, SLOT(setEnabled(bool))); @ -299,7 +301,6 @ { KMessageBox::error(this, i18n("Cannot parse %1 GPX file!") .arg(loadGPXFile.fileName()), i18n("GPS Sync")); - enableButton(Apply, false); enableButton(User1, false); return; } @ -308,14 +309,12 @ { KMessageBox::sorry(this, i18n("The %1 GPX file do not have a date-time track to use!") .arg(loadGPXFile.fileName()), i18n("GPS Sync")); - enableButton(Apply, false); enableButton(User1, false); return; } d->gpxFileName->setText(loadGPXFile.fileName()); d->gpxPointsLabel->setText(i18n("Points parsed: %1").arg(d->gpxParser.numPoints())); - enableButton(Apply, true); enableButton(User1, true); slotUser1(); } @ -392,7 +391,6 @ { KMessageBox::sorry(this, i18n("Cannot find pictures to correlate with GPX file data."), i18n("GPS Sync")); - enableButton(Apply, false); return; } @ -400,9 +398,32 @ "the list using the GPX data file.\n" "Press Apply button to update picture(s) metadata.") .arg(itemsUpdated), i18n("GPS Sync")); - enableButton(Apply, true); } +// Launch the GPS coordinates editor. +void GPSSyncDialog::slotUser2() +{ + if (!d->listView->currentItem()) + { + KMessageBox::information(this, i18n("Please, select a picture from " + "the list to edit GPS coordinate manually."), i18n("GPS Sync")); + return; + } + + GPSListViewItem* item = (GPSListViewItem*)d->listView->currentItem(); + + GPSEditDialog dlg(this, item->getGPSInfo(), item->getUrl().fileName()); + switch (dlg.exec()) + { + case KDialogBase::Accepted: + item->setGPSInfo(dlg.getGPSInfo(), true, true); + break; + case(-1): // Erase all GPS tags + item->eraseGPSInfo(true); + break; + } +} + void GPSSyncDialog::slotApply() { QListViewItemIterator it( d->listView ); --- trunk/extragear/libs/kipi-plugins/gpssync/gpssyncdialog.h #588250:588251 @ -35,8 +35,11 @ #include "gpsdataparser.h" +class QListViewItem; + namespace KIPIGPSSyncPlugin { + class GPSSyncDialogPriv; class GPSSyncDialog :public KDialogBase @ -60,6 +63,10 @ void slotHelp(); void slotClose(); void slotUser1(); + void slotUser2(); + +private slots: + void slotLoadGPXFile(); private: _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-25 16:28 ------- SVN commit 588294 by cgilles: kipi-plugins from trunk : GPSSync tool : add links to external web tools to get GPS coordinate. First one is CapeLinks web site... CCMAIL: kde-imaging kde org, alexios.beveratos gmail com, gerhard kulzer net CCBUGS: 133359, 111560 M +45 -3 gpseditdialog.cpp M +1 -0 gpseditdialog.h --- trunk/extragear/libs/kipi-plugins/gpssync/gpseditdialog.cpp #588293:588294 @ -22,6 +22,8 @ #include <qlabel.h> #include <qlayout.h> +#include <qcombobox.h> +#include <qpushbutton.h> // KDE includes. @ -44,13 +46,25 @ public: + enum WebGPSLocator + { + CapeLinks = 0 + // TODO : Added here others web GPS coordinates locator + }; + GPSEditDialogDialogPrivate() { altitudeInput = 0; latitudeInput = 0; longitudeInput = 0; + gpsButton = 0; + gpsCombo = 0; } + QPushButton *gpsButton; + + QComboBox *gpsCombo; + KDoubleSpinBox *altitudeInput; KDoubleSpinBox *latitudeInput; KDoubleSpinBox *longitudeInput; @ -67,7 +81,7 @ setHelp("gpssync", "kipi-plugins"); setButtonText(User1, i18n("Delete")); - QGridLayout* grid = new QGridLayout(plainPage(), 2, 1, 0, spacingHint()); + QGridLayout* grid = new QGridLayout(plainPage(), 3, 1, 0, spacingHint()); QLabel *altitudeLabel = new QLabel(i18n("Altitude:"), plainPage()); QLabel *latitudeLabel = new QLabel(i18n("Latitude:"), plainPage()); @ -76,19 +90,29 @ d->latitudeInput = new KDoubleSpinBox(plainPage()); d->longitudeInput = new KDoubleSpinBox(plainPage()); d->altitudeInput->setRange(-20000.0, 20000.0, 1.0, 1); - d->latitudeInput->setRange(-90.0, 90.0, 1E-6, 8); - d->longitudeInput->setRange(-180.0, 180.0, 1E-6, 8); + d->latitudeInput->setRange(-90.0, 90.0, 1E-6, 6); + d->longitudeInput->setRange(-180.0, 180.0, 1E-6, 6); d->altitudeInput->setValue(gpsData.altitude()); d->latitudeInput->setValue(gpsData.latitude()); d->longitudeInput->setValue(gpsData.longitude()); + d->gpsCombo = new QComboBox( false, plainPage() ); + d->gpsButton = new QPushButton(i18n("Get GPS Coordinates..."), plainPage()); + d->gpsCombo->insertItem(QString("Capelinks"), GPSEditDialogDialogPrivate::CapeLinks); + // TODO : Added here others web GPS coordinates locator + grid->addMultiCellWidget(altitudeLabel, 0, 0, 0, 0); grid->addMultiCellWidget(latitudeLabel, 1, 1, 0, 0); grid->addMultiCellWidget(longitudeLabel, 2, 2, 0, 0); grid->addMultiCellWidget(d->altitudeInput, 0, 0, 1, 1); grid->addMultiCellWidget(d->latitudeInput, 1, 1, 1, 1); grid->addMultiCellWidget(d->longitudeInput, 2, 2, 1, 1); + grid->addMultiCellWidget(d->gpsCombo, 3, 3, 0, 0 ); + grid->addMultiCellWidget(d->gpsButton, 3, 3, 1, 1 ); + connect(d->gpsButton, SIGNAL(clicked()), + this, SLOT(slotGPSLocator())); + adjustSize(); } @ -110,4 +134,22 @ done(-1); } +void GPSEditDialog::slotGPSLocator() +{ + QString val, url; + + switch( d->gpsCombo->currentItem() ) + { + case GPSEditDialogDialogPrivate::CapeLinks: + { + url.append("http://www.capelinks.com/cape-cod/maps/gps"); + break; + } + + // TODO : Added here others web GPS coordinates locator + } + + KApplication::kApplication()->invokeBrowser(url); +} + } // namespace KIPIGPSSyncPlugin --- trunk/extragear/libs/kipi-plugins/gpssync/gpseditdialog.h #588293:588294 @ -49,6 +49,7 @ protected slots: void slotUser1(); + void slotGPSLocator(); private: _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-25 16:30 ------- Fresh screenshot of GPSSync kipi-plugin updated : http://digikam3rdparty.free.fr/Screenshots/newkipigpssyncplugin.png I'm waiting new GPS coordinates locator urls... Gilles Caulier _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From aironmail gmail com 2006-09-25 20:01 ------- The screenshot is really nice. It's getting a really cool feature. I can't compile the lastest trunk from today at 19:00. I get this: if /bin/sh ../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libkipi/libkipi -I../../kipi-plugins/common/include -I../../kipi-plugins/common/exiv2iface -I../../libkipi -I../../libkipi -I/usr/kde/3.5/include -I/usr/qt/3/include -I. -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -MT plugin_gpssync.lo -MD -MP -MF ".deps/plugin_gpssync.Tpo" -c -o plugin_gpssync.lo plugin_gpssync.cpp; \ then mv -f ".deps/plugin_gpssync.Tpo" ".deps/plugin_gpssync.Plo"; else rm -f ".deps/plugin_gpssync.Tpo"; exit 1; fi gpsdatacontainer.h:43: error: extra qualification 'KIPIGPSSyncPlugin::GPSDataContainer::' on member 'operator=' make: *** [plugin_gpssync.lo] Error 1 _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-25 20:24 ------- Antonio, Broken compilation with gcc 4.1 is now fixed on svn. Please try again Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From aironmail gmail com 2006-09-26 00:34 ------- Thanks Gilles. I've tried it and now it compiles fine. I found a problem entering manually the coordinates: The format that seems to use the spinners is 0,######, which means only 6 decimal digits. In the capelinks web we can get more accurated coordinates, like for example: Latitude: 41.95949009892464, Longitude: -70.3619384765625. Now if I try to enter a value with that amount of decimal numbers the spinner doesn't work, as it just go back to the previous valid value (of 6 decimal digits) when I press enter. It doesn't even round the value. Probably the editor should use a smaller step size: 0.0000000000001 I don't know if can be done, but it could be good if when the get gps coordinates button is hit, the map could be opened in the coordinates that are edited if they exist, and if the doesn't just opened in the last validated coordinates. It's just an idea. It's getting really nice Gilles. Thank you ;-). _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-26 07:32 ------- Yes, Antonio, i have already this problem in my minds. The plugin need to be polished again (:=)) About the Capelinks (google map in fact) links, this is what i would to do : i not satisfied by the way to copy and paste the coordinate between konqueror and the plugin. A better way is to run the google map script into the plugin and capture automaticly the values returned by google. I'm not sure if we can do it using google maps api. Normally, the script need to be hosted in a web site, not an application. The only thing that i can do (i think) is to embbed the konqueror session in the dialog with start an external window) If somebody have a better idea, let's me hear. Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Hello,
Gilles Caulier wrote: > ------- Additional Comments From caulier.gilles free fr 2006-09-26 07:32 ------- > Yes, Antonio, i have already this problem in my minds. The plugin need to be polished again (:=)) > > About the Capelinks (google map in fact) links, this is what i would to do : i not satisfied by the way to copy and paste the coordinate between konqueror and the plugin. A better way is to run the google map script into the plugin and capture automaticly the values returned by google. > > I'm not sure if we can do it using google maps api. Normally, the script need to be hosted in a web site, not an application. > > The only thing that i can do (i think) is to embbed the konqueror session in the dialog with start an external window) > > If somebody have a better idea, let's me hear. Not sure there are better propositions, but here is a quote of my previous email : << But, I wonder if it's a good idea to hardcode these urls in digikam. These links may change eventually and could be broken at any time. I'm thinking of 2 possibilities : - be able to add/modify these parameters in some configuration menu (ie provides by default some URLs but let users modify/remove/add links) - use digikam.org website as a redirector for these URLs so they can be changed quickly without annoying users and why not host an API to google map on digikam.org ? >> IMHO, it's important to have the choice between different map engines. There is not only google maps, and this one is not always the most precise in all countries. Another important point : I think digikam must work even without any internet connection, and I hope it will still be the case if you add this (great) possibility... Finally, it's important to still be able to enter manually these GPS values. You don't always need a web service to get them. E.g: I use some (unfortunately) proprietary map softwares with wine (Topos, etc...) and I can get very precise coordonates (1/25000)... It's also possible to get these values with some printed maps (any topo maps)... Just my 2 cents :) -- Fabien _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-26 10:54 ------- SVN commit 588502 by cgilles: kipi-plugins from trunk : GPSSync tool : to be able to set GPS info in pictures if time stamp is not available and if user set GPS coordinate manually CCMAIL: kde-imaging kde org, alexios.beveratos gmail com, gerhard kulzer net CCBUGS: 133359, 111560 M +4 -4 gpslistviewitem.cpp M +0 -1 gpslistviewitem.h --- trunk/extragear/libs/kipi-plugins/gpssync/gpslistviewitem.cpp #588501:588502 @ -74,8 +74,8 @ exiv2Iface.load(d->url.path()); setDateTime(exiv2Iface.getImageDateTime()); double alt, lat, lng; - exiv2Iface.getGPSInfo(alt, lat, lng); - setGPSInfo(GPSDataContainer(alt, lat, lng, false), false); + if (exiv2Iface.getGPSInfo(alt, lat, lng)) + setGPSInfo(GPSDataContainer(alt, lat, lng, false), false); KIO::PreviewJob* thumbnailJob = KIO::filePreview(url, 64); @ -90,6 +90,7 @ void GPSListViewItem::setGPSInfo(GPSDataContainer gpsData, bool dirty, bool addedManually) { + setEnabled(true); d->dirty = dirty; d->gpsData = gpsData; setText(2, QString::number(d->gpsData.altitude())); @ -123,7 +124,6 @ { if (date.isValid()) { - setEnabled(true); d->date = date; setText(5, date.toString(Qt::ISODate)); } @ -202,7 +202,7 @ void GPSListViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment) { - if (d->enabled) + if (isEnabled()) { if ( isDirty() && !d->erase && column >= 2 && column <= 4 ) { --- trunk/extragear/libs/kipi-plugins/gpssync/gpslistviewitem.h #588501:588502 @ -59,7 +59,6 @ GPSDataContainer getGPSInfo(); void eraseGPSInfo(bool e); - void setDateTime(QDateTime date); QDateTime getDateTime(); _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from aironmail@gmail.com
------- 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=133359 ------- Additional Comments From caulier.gilles free fr 2006-09-26 11:15 ------- SVN commit 588511 by cgilles: kipi-plugins from trunk : GPSSync tool : added mapki link CCMAIL: gerhard kulzer net CCBUGS: 133359, 111560 M +10 -1 gpseditdialog.cpp --- trunk/extragear/libs/kipi-plugins/gpssync/gpseditdialog.cpp #588510:588511 @ -48,7 +48,8 @ enum WebGPSLocator { - CapeLinks = 0 + CapeLinks = 0, + MapKi // TODO : Added here others web GPS coordinates locator }; @ -99,6 +100,8 @ d->gpsCombo = new QComboBox( false, plainPage() ); d->gpsButton = new QPushButton(i18n("Get GPS Coordinates..."), plainPage()); d->gpsCombo->insertItem(QString("Capelinks"), GPSEditDialogDialogPrivate::CapeLinks); + d->gpsCombo->insertItem(QString("MapKi"), GPSEditDialogDialogPrivate::MapKi); + // TODO : Added here others web GPS coordinates locator grid->addMultiCellWidget(altitudeLabel, 0, 0, 0, 0); @ -146,6 +149,12 @ break; } + case GPSEditDialogDialogPrivate::MapKi: + { + url.append("http://mapki.com/getLonLat.php"); + break; + } + // TODO : Added here others web GPS coordinates locator } _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |