File indexing completed on 2024-05-26 04:32:39
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Dmitrii Utkin <loentar@gmail.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only 0005 */ 0006 0007 #ifndef RECORDER_EXPORT_H 0008 #define RECORDER_EXPORT_H 0009 0010 #include "recorder_format.h" 0011 0012 #include <QDialog> 0013 0014 struct RecorderExportSettings; 0015 0016 class RecorderExport : public QDialog 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 explicit RecorderExport(RecorderExportSettings *s, QWidget *parent = nullptr); 0022 ~RecorderExport(); 0023 0024 void setup(); 0025 0026 protected: 0027 void closeEvent(QCloseEvent *event) override; 0028 0029 private Q_SLOTS: 0030 void reject() override; 0031 0032 // first page 0033 void onButtonBrowseDirectoryClicked(); 0034 void onSpinInputFpsValueChanged(int value); 0035 void onSpinFpsValueChanged(int value); 0036 void onCheckResultPreviewToggled(bool checked); 0037 void onFirstFrameSecValueChanged(int value); 0038 void onCheckExtendResultToggled(bool checked); 0039 void onLastFrameSecValueChanged(int value); 0040 void onCheckResizeToggled(bool checked); 0041 void onSpinScaleWidthValueChanged(int value); 0042 void onSpinScaleHeightValueChanged(int value); 0043 void onButtonLockRatioToggled(bool checked); 0044 void onButtonLockFpsToggled(bool checked); 0045 void onButtonBrowseFfmpegClicked(); 0046 void onComboProfileIndexChanged(int index); 0047 void onButtonEditProfileClicked(); 0048 void onEditVideoPathChanged(const QString &videoFilePath); 0049 void onButtonBrowseExportClicked(); 0050 void onButtonExportClicked(); 0051 // second page 0052 void onButtonCancelClicked(); 0053 // ffmpeg 0054 void onFFMpegStarted(); 0055 void onFFMpegFinished(); 0056 void onFFMpegFinishedWithError(QString error); 0057 void onFFMpegProgressUpdated(int frameNo); 0058 // third page 0059 void onButtonWatchItClicked(); 0060 void onButtonShowInFolderClicked(); 0061 void onButtonRemoveSnapshotsClicked(); 0062 void onButtonRestartClicked(); 0063 void onCleanUpFinished(); 0064 0065 private: 0066 bool eventFilter(QObject *obj, QEvent *event) override; 0067 0068 private: 0069 Q_DISABLE_COPY(RecorderExport) 0070 class Private; 0071 RecorderExportSettings *settings; 0072 QScopedPointer<Private> d; 0073 }; 0074 0075 #endif // RECORDER_EXPORT_H