mirror of
https://github.com/gtalent/sc9k.git
synced 2025-09-11 08:02:57 -05:00
Add settings dialog, camera controls
This commit is contained in:
142
src/settingsdata.cpp
Normal file
142
src/settingsdata.cpp
Normal file
@@ -0,0 +1,142 @@
|
||||
/*
|
||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#include <QSettings>
|
||||
|
||||
#include "settingsdata.hpp"
|
||||
|
||||
void setCameraConnectionData(QSettings &settings, ConnectionData const&cd) {
|
||||
settings.beginGroup("CameraClient");
|
||||
settings.setValue("Host", cd.host);
|
||||
settings.setValue("Port", cd.port);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void setOpenLPConnectionData(QSettings &settings, ConnectionData const&cd) {
|
||||
settings.beginGroup("OpenLPClient");
|
||||
settings.setValue("Host", cd.host);
|
||||
settings.setValue("Port", cd.port);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void setOBSConnectionData(QSettings &settings, ConnectionData const&cd) {
|
||||
settings.beginGroup("OBSClient");
|
||||
settings.setValue("Host", cd.host);
|
||||
settings.setValue("Port", cd.port);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
ConnectionData getCameraConnectionData(QSettings &settings) {
|
||||
ConnectionData out;
|
||||
settings.beginGroup("CameraClient");
|
||||
out.host = settings.value("Host", "192.168.100.88").toString();
|
||||
out.port = static_cast<uint16_t>(settings.value("Port", 80).toInt());
|
||||
settings.endGroup();
|
||||
return out;
|
||||
}
|
||||
|
||||
ConnectionData getOpenLPConnectionData(QSettings &settings) {
|
||||
ConnectionData out;
|
||||
settings.beginGroup("OpenLPClient");
|
||||
out.host = settings.value("Host", "127.0.0.1").toString();
|
||||
out.port = static_cast<uint16_t>(settings.value("Port", 4316).toInt());
|
||||
settings.endGroup();
|
||||
return out;
|
||||
}
|
||||
|
||||
ConnectionData getOBSConnectionData(QSettings &settings) {
|
||||
ConnectionData out;
|
||||
settings.beginGroup("OBSClient");
|
||||
out.host = settings.value("Host", "127.0.0.1").toString();
|
||||
out.port = static_cast<uint16_t>(settings.value("Port", 9302).toInt());
|
||||
settings.endGroup();
|
||||
return out;
|
||||
}
|
||||
|
||||
void setCameraConnectionData(ConnectionData const&cd) {
|
||||
QSettings settings;
|
||||
settings.beginGroup("CameraClient");
|
||||
settings.setValue("Host", cd.host);
|
||||
settings.setValue("Port", cd.port);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void setOpenLPConnectionData(ConnectionData const&cd) {
|
||||
QSettings settings;
|
||||
settings.beginGroup("OpenLPClient");
|
||||
settings.setValue("Host", cd.host);
|
||||
settings.setValue("Port", cd.port);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void setOBSConnectionData(ConnectionData const&cd) {
|
||||
QSettings settings;
|
||||
settings.beginGroup("OBSClient");
|
||||
settings.setValue("Host", cd.host);
|
||||
settings.setValue("Port", cd.port);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
ConnectionData getCameraConnectionData() {
|
||||
QSettings s;
|
||||
return getCameraConnectionData(s);
|
||||
}
|
||||
|
||||
ConnectionData getOpenLPConnectionData() {
|
||||
QSettings s;
|
||||
return getOpenLPConnectionData(s);
|
||||
}
|
||||
|
||||
ConnectionData getOBSConnectionData() {
|
||||
QSettings s;
|
||||
return getOBSConnectionData(s);
|
||||
}
|
||||
|
||||
|
||||
void setViews(QSettings &settings, QVector<View> const&views) {
|
||||
settings.beginGroup("Views");
|
||||
settings.beginWriteArray("Views");
|
||||
for (auto i = 0; auto const&view : views) {
|
||||
settings.setArrayIndex(i);
|
||||
settings.setValue("Name", view.name);
|
||||
settings.setValue("Slides", view.slides);
|
||||
settings.setValue("ObsSlides", view.obsSlides);
|
||||
settings.setValue("Preset", view.cameraPreset);
|
||||
++i;
|
||||
}
|
||||
settings.endArray();
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void setViews(QVector<View> const&views) {
|
||||
QSettings s;
|
||||
return setViews(s, views);
|
||||
}
|
||||
|
||||
QVector<View> getViews(QSettings &settings) {
|
||||
QVector<View> out;
|
||||
settings.beginGroup("Views");
|
||||
const auto size = settings.beginReadArray("Views");
|
||||
for (auto i = 0; i < size; ++i) {
|
||||
settings.setArrayIndex(i);
|
||||
out.emplace_back(View{
|
||||
.name = settings.value("Name").toString(),
|
||||
.slides = settings.value("Slides").toBool(),
|
||||
.obsSlides = settings.value("ObsSlides").toBool(),
|
||||
.cameraPreset = settings.value("Preset").toInt(),
|
||||
});
|
||||
}
|
||||
settings.endArray();
|
||||
settings.endGroup();
|
||||
return out;
|
||||
}
|
||||
|
||||
QVector<View> getViews() {
|
||||
QSettings s;
|
||||
return getViews(s);
|
||||
}
|
Reference in New Issue
Block a user