File indexing completed on 2024-04-21 03:50:01
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2014 Sanjiban Bairagya <sanjiban22393@gmail.com> 0004 // 0005 0006 #ifndef TOURCAPTUREDIALOG_H 0007 #define TOURCAPTUREDIALOG_H 0008 0009 #include <QDialog> 0010 0011 #include "marble_export.h" 0012 0013 namespace Ui { 0014 class TourCaptureDialog; 0015 } 0016 0017 namespace Marble { 0018 0019 class MarbleWidget; 0020 0021 class MovieCapture; 0022 class TourPlayback; 0023 class MARBLE_EXPORT TourCaptureDialog : public QDialog 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 explicit TourCaptureDialog(MarbleWidget *widget, QWidget *parent = nullptr); 0029 ~TourCaptureDialog() override; 0030 0031 public Q_SLOTS: 0032 void startRecording(); 0033 void stopRecording(); 0034 void setRate( double rate ); 0035 void setTourPlayback( TourPlayback* playback ); 0036 void setDefaultFilename( const QString &filename ); 0037 void handleError(); 0038 0039 private Q_SLOTS: 0040 void loadDestinationFile(); 0041 void updateProgress( double position ); 0042 void recordNextFrame(); 0043 0044 private: 0045 Ui::TourCaptureDialog *ui; 0046 MovieCapture *m_recorder; 0047 TourPlayback *m_playback; 0048 bool m_writingPossible; 0049 double m_current_position; 0050 QString m_defaultFileName; 0051 }; 0052 0053 } // namespace Marble 0054 0055 #endif // MOVIECAPTUREDIALOG_H