1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2010 Bastian Holst <bastianholst@gmx.de>
4 //
5 
6 #ifndef MARBLE_FILEVIEWWIDGET_H
7 #define MARBLE_FILEVIEWWIDGET_H
8 
9 // Marble
10 #include "marble_export.h"
11 
12 // Qt
13 #include <QWidget>
14 
15 class QModelIndex;
16 
17 namespace Marble
18 {
19 
20 class GeoDataPlacemark;
21 class GeoDataLatLonBox;
22 class MarbleWidget;
23 
24 class FileViewWidgetPrivate;
25 
26 class MARBLE_EXPORT FileViewWidget : public QWidget
27 {
28     Q_OBJECT
29 
30  public:
31     explicit FileViewWidget( QWidget *parent = nullptr, Qt::WindowFlags f = nullptr );
32     ~FileViewWidget() override;
33 
34 
35     void setMarbleWidget( MarbleWidget *widget );
36 
37  Q_SIGNALS:
38     void centerOn( const GeoDataPlacemark &, bool animated );
39     void centerOn( const GeoDataLatLonBox &, bool animated );
40 
41  private Q_SLOTS:
42     void mapCenterOnTreeViewModel( const QModelIndex & );
43 
44  private:
45     Q_PRIVATE_SLOT( d, void enableFileViewActions() )
46     Q_PRIVATE_SLOT( d, void saveFile() )
47     Q_PRIVATE_SLOT( d, void closeFile() )
48     Q_PRIVATE_SLOT( d, void contextMenu(const QPoint&) )
49     Q_PRIVATE_SLOT( d, void showPlacemarkDialog() )
50     Q_DISABLE_COPY( FileViewWidget )
51 
52     FileViewWidgetPrivate * const d;
53 };
54 
55 }
56 
57 #endif
58