Krita Source Code Documentation
Loading...
Searching...
No Matches
recorder_config.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Dmitrii Utkin <loentar@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 */
6
7#include "recorder_config.h"
8
9#include <kis_config.h>
10
11#include <QString>
12#include <QDir>
13
14namespace
15{
16const QString keySnapshotDirectory = "recorder/snapshotdirectory";
17const QString keyCaptureInterval = "recorder/captureinterval";
18const QString keyFormat = "recorder/format";
19const QString keyQuality = "recorder/quality";
20const QString keyCompression = "recorder/compression";
21const QString keyResolution = "recorder/resolution";
22const QString keyThreads = "recorder/threads";
23const QString keyRealTimeCaptureMode = "recorder/realtimecapturemode";
24const QString keyRecordIsolateLayerMode = "recorder/recordisolatelayermode";
25const QString keyRecordAutomatically = "recorder/recordautomatically";
26const QString defaultSnapshotDirectory = QDir::homePath() % QDir::separator() % "KritaRecorder";
27}
28
30 : config(new KisConfig(readOnly))
31{
32}
33
38
39
41{
42 // On Android, there's no user-visible directory we can write to, so we
43 // default to nothing here.
44#ifdef Q_OS_ANDROID
45 const QString defaultValue;
46#else
47 const QString &defaultValue = defaultSnapshotDirectory;
48#endif
49 return config->readEntry(keySnapshotDirectory, defaultValue);
50}
51
53{
54 config->writeEntry(keySnapshotDirectory, value);
55}
56
57
59{
60 return config->readEntry(keyCaptureInterval, 1.);
61}
62
64{
65 config->writeEntry(keyCaptureInterval, value);
66}
67
68
70{
71 return static_cast<RecorderFormat>(config->readEntry(keyFormat, static_cast<int>(RecorderFormat::JPEG)));
72}
73
75{
76 return config->writeEntry(keyFormat, static_cast<int>(value));
77}
78
79
81{
82 return config->readEntry(keyQuality, 80);
83}
84
86{
87 config->writeEntry(keyQuality, value);
88}
89
90
92{
93 return config->readEntry(keyCompression, 1);
94}
95
97{
98 config->writeEntry(keyCompression, value);
99}
100
101
103{
104 return config->readEntry(keyResolution, 0);
105}
106
108{
109 config->writeEntry(keyResolution, value);
110}
111
113{
114 return config->readEntry(keyThreads, 1);
115}
116
118{
119 config->writeEntry(keyThreads, value);
120}
121
123{
124 return config->readEntry(keyRealTimeCaptureMode, false);
125}
127{
128 config->writeEntry(keyRealTimeCaptureMode, value);
129}
130
132{
133 return config->readEntry(keyRecordIsolateLayerMode, false);
134}
135
137{
138 config->writeEntry(keyRecordIsolateLayerMode, value);
139}
140
142{
143 return config->readEntry(keyRecordAutomatically, false);
144}
145
147{
148 config->writeEntry(keyRecordAutomatically, value);
149}
150
151#ifdef Q_OS_ANDROID
152const QString &RecorderConfig::defaultInternalSnapshotDirectory()
153{
154 return defaultSnapshotDirectory;
155}
156#endif
float value(const T *src, size_t ch)
void writeEntry(const QString &name, const T &value)
Definition kis_config.h:822
T readEntry(const QString &name, const T &defaultValue=T())
Definition kis_config.h:832
double captureInterval() const
QString snapshotDirectory() const
void setFormat(RecorderFormat value)
void setRealTimeCaptureMode(bool value)
bool recordIsolateLayerMode() const
RecorderFormat format() const
RecorderConfig(bool readOnly)
int resolution() const
void setRecordAutomatically(bool value)
void setResolution(int value)
KisConfig * config
void setCaptureInterval(double value)
void setSnapshotDirectory(const QString &value)
void setRecordIsolateLayerMode(bool value)
void setCompression(int value)
bool recordAutomatically() const
void setQuality(int value)
bool realTimeCaptureMode() const
int compression() const
void setThreads(int value)
int quality() const
RecorderFormat