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