File indexing completed on 2024-06-16 04:16:17

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_CONFIG_H
0008 #define RECORDER_EXPORT_CONFIG_H
0009 
0010 #include <QString>
0011 #include <QList>
0012 #include "recorder_export_settings.h"
0013 
0014 
0015 class KisConfig;
0016 class QSize;
0017 
0018 class RecorderExportConfig
0019 {
0020 public:
0021     RecorderExportConfig(bool readOnly);
0022     ~RecorderExportConfig();
0023 
0024     void loadConfiguration(RecorderExportSettings *settings, bool loadLockFps = true) const;
0025 
0026     int inputFps() const;
0027     void setInputFps(int value);
0028 
0029     int fps() const;
0030     void setFps(int value);
0031 
0032     bool resultPreview() const;
0033     void setResultPreview(bool value);
0034 
0035     void setFirstFrameSec(int value);
0036     int firstFrameSec() const;
0037 
0038     bool extendResult() const;
0039     void setExtendResult(bool value);
0040 
0041     void setLastFrameSec(int value);
0042     int lastFrameSec() const;
0043 
0044     bool resize() const;
0045     void setResize(bool value);
0046 
0047     QSize size() const;
0048     void setSize(const QSize &value);
0049 
0050     bool lockRatio() const;
0051     void setLockRatio(bool value);
0052 
0053     bool lockFps() const;
0054     void setLockFps(bool value);
0055 
0056     int profileIndex() const;
0057     void setProfileIndex(int value);
0058 
0059     QList<RecorderProfile> profiles() const;
0060     void setProfiles(const QList<RecorderProfile> &value);
0061 
0062     QList<RecorderProfile> defaultProfiles() const;
0063 
0064     QSet<int> editedProfilesIndexes() const;
0065     void setEditedProfilesIndexes(const QSet<int> &value);
0066 
0067     QString ffmpegPath() const;
0068     void setFfmpegPath(const QString &value);
0069 
0070     QString videoDirectory() const;
0071     void setVideoDirectory(const QString &value);
0072 
0073 private:
0074     Q_DISABLE_COPY(RecorderExportConfig)
0075     mutable KisConfig *config;
0076 };
0077 
0078 bool operator==(const RecorderProfile &left, const RecorderProfile &right);
0079 bool operator!=(const RecorderProfile &left, const RecorderProfile &right);
0080 
0081 #endif // RECORDER_EXPORT_CONFIG_H