void HTMLWidget::khtmlMouseMoveEvent(khtml::MouseMoveEvent *e) { if ( s->currentMouseMode == MouseModeRegionSelection && d->firstSelectionPoint.hasCoordinates() ) { runScript2Coordinates( QString::fromLatin1("kmapPixelToLatLng(%1, %2);") .arg(e->x()) .arg(e->y()), &d->intermediateSelectionPoint); d->intermediateSelectionScreenPoint = QPoint(e->x(), e->y()); kDebug()<<d->firstSelectionScreenPoint<<QLatin1String(" " )<<d->intermediateSelectionScreenPoint; qreal lonWest, latNorth, lonEast, latSouth; if (d->firstSelectionScreenPoint.x() < d->intermediateSelectionScreenPoint.x()) { lonWest = d->firstSelectionPoint.lon(); lonEast = d->intermediateSelectionPoint.lon(); } else { lonEast = d->firstSelectionPoint.lon(); lonWest = d->intermediateSelectionPoint.lon(); } if (d->firstSelectionScreenPoint.y() < d->intermediateSelectionScreenPoint.y()) { latNorth = d->firstSelectionPoint.lat(); latSouth = d->intermediateSelectionPoint.lat(); } else { latNorth = d->intermediateSelectionPoint.lat(); latSouth = d->firstSelectionPoint.lat(); } runScript( QString::fromLatin1("kmapSetTemporarySelectionRectangle(%1, %2, %3, %4);") .arg(lonWest) .arg(latNorth) .arg(lonEast) .arg(latSouth) ); } slotScanForJSMessages(); KHTMLPart::khtmlMouseMoveEvent(e); }
void HTMLWidget::mouseMoveEvent(QMouseEvent *e) { if (s->currentMouseMode == MouseModeRegionSelection && d->firstSelectionPoint.hasCoordinates()) { runScript2Coordinates(QString::fromLatin1("kgeomapPixelToLatLng(%1, %2);") .arg(e->x()) .arg(e->y()), &d->intermediateSelectionPoint); d->intermediateSelectionScreenPoint = QPoint(e->x(), e->y()); qCDebug(LIBKGEOMAP_LOG) << d->firstSelectionScreenPoint << QLatin1String(" ") << d->intermediateSelectionScreenPoint; qreal lonWest, latNorth, lonEast, latSouth; if (d->firstSelectionScreenPoint.x() < d->intermediateSelectionScreenPoint.x()) { lonWest = d->firstSelectionPoint.lon(); lonEast = d->intermediateSelectionPoint.lon(); } else { lonEast = d->firstSelectionPoint.lon(); lonWest = d->intermediateSelectionPoint.lon(); } if (d->firstSelectionScreenPoint.y() < d->intermediateSelectionScreenPoint.y()) { latNorth = d->firstSelectionPoint.lat(); latSouth = d->intermediateSelectionPoint.lat(); } else { latNorth = d->intermediateSelectionPoint.lat(); latSouth = d->firstSelectionPoint.lat(); } runScript(QString::fromLatin1("kgeomapSetTemporarySelectionRectangle(%1, %2, %3, %4);") .arg(lonWest) .arg(latNorth) .arg(lonEast) .arg(latSouth)); } QWebView::mouseMoveEvent(e); }
void HTMLWidget::mouseReleaseEvent(QMouseEvent* e) { if (s->currentMouseMode == MouseModeRegionSelection) { if (!d->firstSelectionPoint.hasCoordinates()) { runScript2Coordinates(QString::fromLatin1("kgeomapPixelToLatLng(%1, %2);") .arg(e->x()) .arg(e->y()), &d->firstSelectionPoint); d->firstSelectionScreenPoint = QPoint(e->x(), e->y()); } else { runScript2Coordinates(QString::fromLatin1("kgeomapPixelToLatLng(%1, %2);") .arg(e->x()) .arg(e->y()), &d->intermediateSelectionPoint); d->intermediateSelectionScreenPoint = QPoint(e->x(), e->y()); qreal lonWest, latNorth, lonEast, latSouth; if (d->firstSelectionScreenPoint.x() < d->intermediateSelectionScreenPoint.x()) { lonWest = d->firstSelectionPoint.lon(); lonEast = d->intermediateSelectionPoint.lon(); } else { lonEast = d->firstSelectionPoint.lon(); lonWest = d->intermediateSelectionPoint.lon(); } if (d->firstSelectionScreenPoint.y() < d->intermediateSelectionScreenPoint.y()) { latNorth = d->firstSelectionPoint.lat(); latSouth = d->intermediateSelectionPoint.lat(); } else { latNorth = d->intermediateSelectionPoint.lat(); latSouth = d->firstSelectionPoint.lat(); } runScript(QLatin1String("kgeomapRemoveTemporarySelectionRectangle();")); runScript(QString::fromLatin1("kgeomapSetSelectionRectangle(%1, %2, %3, %4);") .arg(lonWest) .arg(latNorth) .arg(lonEast) .arg(latSouth)); const GeoCoordinates::Pair selectionCoordinates( GeoCoordinates(latNorth, lonWest), GeoCoordinates(latSouth, lonEast) ); d->firstSelectionPoint.clear(); d->intermediateSelectionPoint.clear(); emit(selectionHasBeenMade(selectionCoordinates)); } } slotScanForJSMessages(QString::fromLatin1("(event)")); QWebView::mouseReleaseEvent(e); }