Marble

EditBookmarkDialog.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2010 Gaurav Gupta <1989.gaurav@googlemail.com>
4// SPDX-FileCopyrightText: 2012 Thibaut Gridel <tgridel@free.fr>
5//
6
7#ifndef MARBLE_EDITBOOKMARKDIALOG_H
8#define MARBLE_EDITBOOKMARKDIALOG_H
9
10#include <QDialog>
11
12#include "marble_export.h"
13
14/** @todo FIXME after freeze: Rename to AddBookmarkDialog*/
15
16namespace Marble
17{
18
19class EditBookmarkDialogPrivate;
20class BookmarkManager;
21class GeoDataFolder;
22class GeoDataCoordinates;
23class GeoDataPlacemark;
24class MarbleWidget;
25
26class MARBLE_EXPORT EditBookmarkDialog : public QDialog
27{
28 Q_OBJECT
29
30public:
31 explicit EditBookmarkDialog(BookmarkManager *manager, QWidget *parent = nullptr);
32
33 /** Destructor */
34 ~EditBookmarkDialog() override;
35
36 void setMarbleWidget(MarbleWidget *widget);
37
38 GeoDataPlacemark bookmark() const;
39
40 QString name() const;
41
42 GeoDataFolder *folder() const;
43
44 QString description() const;
45
46 GeoDataCoordinates coordinates() const;
47
48 qreal range() const;
49
50 QString iconLink() const;
51
52 void setName(const QString &name);
53 void setReverseGeocodeName();
54
55 void setCoordinates(const GeoDataCoordinates &coordinates);
56
57 void setRange(qreal range);
58
59 void setDescription(const QString &text);
60
61 void setFolderName(const QString &name);
62
63 void setIconLink(const QString &iconLink);
64
65private:
66 Q_PRIVATE_SLOT(d, void openNewFolderDialog())
67
68 Q_PRIVATE_SLOT(d, void retrieveGeocodeResult(const GeoDataCoordinates &coordinates, const GeoDataPlacemark &placemark))
69
70 Q_PRIVATE_SLOT(d, void updateCoordinates())
71
72 Q_DISABLE_COPY(EditBookmarkDialog)
73 EditBookmarkDialogPrivate *const d;
74 friend class EditBookmarkDialogPrivate;
75};
76
77}
78#endif
QString name(StandardAction id)
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:15:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.