File indexing completed on 2024-04-14 03:47:43
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2010 Gaurav Gupta <1989.gaurav@googlemail.com> 0004 // SPDX-FileCopyrightText: 2012 Thibaut Gridel <tgridel@free.fr> 0005 // 0006 0007 #ifndef MARBLE_EDITBOOKMARKDIALOG_H 0008 #define MARBLE_EDITBOOKMARKDIALOG_H 0009 0010 #include <QDialog> 0011 0012 #include "marble_export.h" 0013 0014 /** @todo FIXME after freeze: Rename to AddBookmarkDialog*/ 0015 0016 namespace Marble 0017 { 0018 0019 class EditBookmarkDialogPrivate; 0020 class BookmarkManager; 0021 class GeoDataFolder; 0022 class GeoDataCoordinates; 0023 class GeoDataPlacemark; 0024 class MarbleWidget; 0025 0026 class MARBLE_EXPORT EditBookmarkDialog : public QDialog 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 explicit EditBookmarkDialog( BookmarkManager *manager, QWidget *parent = nullptr ); 0032 0033 /** Destructor */ 0034 ~EditBookmarkDialog() override; 0035 0036 void setMarbleWidget( MarbleWidget* widget ); 0037 0038 GeoDataPlacemark bookmark() const; 0039 0040 QString name() const; 0041 0042 GeoDataFolder* folder() const; 0043 0044 QString description() const; 0045 0046 GeoDataCoordinates coordinates() const; 0047 0048 qreal range() const; 0049 0050 QString iconLink() const; 0051 0052 void setName( const QString &name ); 0053 void setReverseGeocodeName(); 0054 0055 void setCoordinates( const GeoDataCoordinates &coordinates ); 0056 0057 void setRange( qreal range ); 0058 0059 void setDescription( const QString &text ); 0060 0061 void setFolderName( const QString &name ); 0062 0063 void setIconLink( const QString &iconLink ); 0064 0065 0066 private: 0067 Q_PRIVATE_SLOT( d, void openNewFolderDialog() ) 0068 0069 Q_PRIVATE_SLOT( d, void retrieveGeocodeResult( const GeoDataCoordinates &coordinates, const GeoDataPlacemark &placemark) ) 0070 0071 Q_PRIVATE_SLOT( d, void updateCoordinates() ) 0072 0073 Q_DISABLE_COPY( EditBookmarkDialog ) 0074 EditBookmarkDialogPrivate* const d; 0075 friend class EditBookmarkDialogPrivate; 0076 }; 0077 0078 } 0079 #endif