File indexing completed on 2024-04-28 03:50:29
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2016 Friedrich W. H. Kossebau <kossebau@kde.org> 0004 0005 #include "GeoUriRunner.h" 0006 0007 #include "GeoDataPlacemark.h" 0008 #include "GeoDataCoordinates.h" 0009 #include "GeoUriParser.h" 0010 #include "MarbleModel.h" 0011 0012 #include "MarbleDebug.h" 0013 #include <QVector> 0014 0015 0016 namespace Marble 0017 { 0018 0019 GeoUriRunner::GeoUriRunner(QObject *parent) 0020 : SearchRunner(parent) 0021 { 0022 } 0023 0024 0025 GeoUriRunner::~GeoUriRunner() 0026 { 0027 } 0028 0029 void GeoUriRunner::search(const QString &searchTerm, const GeoDataLatLonBox &) 0030 { 0031 QVector<GeoDataPlacemark*> vector; 0032 0033 GeoUriParser uriParser(searchTerm); 0034 const bool success = uriParser.parse(); 0035 if (success && 0036 (uriParser.planet().id() == model()->planet()->id())) { 0037 const GeoDataCoordinates coordinates = uriParser.coordinates(); 0038 0039 GeoDataPlacemark *placemark = new GeoDataPlacemark; 0040 placemark->setName(searchTerm); 0041 placemark->setCoordinate(coordinates); 0042 placemark->setVisualCategory(GeoDataPlacemark::Coordinate); 0043 placemark->setPopularity(1000000000); 0044 placemark->setZoomLevel(1); 0045 0046 vector.append(placemark); 0047 } 0048 0049 emit searchFinished(vector); 0050 } 0051 0052 } 0053 0054 #include "moc_GeoUriRunner.cpp"