File indexing completed on 2024-04-28 15:15:41
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2013 Mihail Ivchenko <ematirov@gmail.com> 0004 // SPDX-FileCopyrightText: 2014 Sanjiban Bairagya <sanjiban22393@gmail.com> 0005 // SPDX-FileCopyrightText: 2014 Illya Kovalevskyy <illya.kovalevskyy@gmail.com> 0006 // 0007 0008 #ifndef FLYTOEDITWIDGET_H 0009 #define FLYTOEDITWIDGET_H 0010 0011 #include <QWidget> 0012 #include <QPersistentModelIndex> 0013 0014 #include "GeoDataCoordinates.h" 0015 0016 class QDoubleSpinBox; 0017 class QToolButton; 0018 class QComboBox; 0019 0020 namespace Marble 0021 { 0022 0023 class GeoDataFlyTo; 0024 class MarbleWidget; 0025 0026 class FlyToEditWidget: public QWidget 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 FlyToEditWidget( const QModelIndex& index, MarbleWidget* widget, QWidget* parent=nullptr ); 0032 bool editable() const; 0033 0034 Q_SIGNALS: 0035 void editingDone( const QModelIndex& index ); 0036 0037 public Q_SLOTS: 0038 void setEditable( bool editable ); 0039 0040 /** We disable editing of wait duration for first flyto in playlist. */ 0041 void setFirstFlyTo(const QPersistentModelIndex &index ); 0042 0043 private Q_SLOTS: 0044 void save(); 0045 void updateCoordinates(); 0046 0047 private: 0048 GeoDataFlyTo* flyToElement(); 0049 MarbleWidget* m_widget; 0050 QPersistentModelIndex m_index; 0051 QDoubleSpinBox *m_durationSpin; 0052 QComboBox *m_modeCombo; 0053 GeoDataCoordinates m_coord; 0054 QToolButton *m_button; 0055 }; 0056 0057 } // namespace Marble 0058 0059 #endif