File indexing completed on 2024-06-23 04:26:31
0001 /* 0002 * SPDX-FileCopyrightText: 2019 Shi Yan <billconan@gmail.net> 0003 * SPDX-FileCopyrightText: 2020 Dmitrii Utkin <loentar@gmail.com> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef _RECORDER_DOCK_H_ 0009 #define _RECORDER_DOCK_H_ 0010 0011 #include <QScroller> 0012 #include <QDockWidget> 0013 #include <KoCanvasObserverBase.h> 0014 0015 0016 class KisMainWindow; 0017 struct RecorderExportSettings; 0018 0019 class RecorderDockerDock : public QDockWidget, public KoCanvasObserverBase 0020 { 0021 Q_OBJECT 0022 public: 0023 RecorderDockerDock(); 0024 ~RecorderDockerDock(); 0025 QString observerName() override 0026 { 0027 return "RecorderDockerDock"; 0028 } 0029 void setCanvas(KoCanvasBase *canvas) override; 0030 void unsetCanvas() override; 0031 0032 private Q_SLOTS: 0033 void onMainWindowIsBeingCreated(KisMainWindow *window); 0034 0035 void onRecordIsolateLayerModeToggled(bool checked); 0036 void onAutoRecordToggled(bool checked); 0037 void onRealTimeCaptureModeToggled(bool checked); 0038 void onCaptureIntervalChanged(double interval); 0039 void onVideoFPSChanged(double interval); 0040 void onQualityChanged(int value); 0041 void onFormatChanged(int format); 0042 void onResolutionChanged(int resolution); 0043 void onThreadsChanged(int threads); 0044 void onManageRecordingsButtonClicked(); 0045 void onSelectRecordFolderButtonClicked(); 0046 void onRecordButtonToggled(bool checked); 0047 void onExportButtonClicked(); 0048 0049 void onWriterStarted(); 0050 void onWriterStopped(); 0051 void onUpdateRecIndicator(); 0052 void onActiveRecording(bool valueWasIncreased); 0053 void onPausedTimeout(); 0054 void onWriterFrameWriteFailed(); 0055 void onRecorderStopWarning(); 0056 void onLowPerformanceWarning(); 0057 void onWarningTimeout(); 0058 0059 void slotScrollerStateChanged(QScroller::State state); 0060 0061 private: 0062 Q_DISABLE_COPY(RecorderDockerDock) 0063 class Private; 0064 RecorderExportSettings *const exportSettings; 0065 Private *const d; 0066 }; 0067 0068 #endif