mirror of
https://github.com/gtalent/sc9k.git
synced 2025-07-03 15:21:46 -05:00
Compare commits
4 Commits
release-1.
...
release-1.
Author | SHA1 | Date | |
---|---|---|---|
f4e0b5ab9f | |||
bb825f947e | |||
b71a64ca33 | |||
048b06db97 |
@ -2,7 +2,7 @@
|
|||||||
source:
|
source:
|
||||||
- .
|
- .
|
||||||
copyright_notice: |-
|
copyright_notice: |-
|
||||||
Copyright 2021 - 2023 gary@drinkingtea.net
|
Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
|
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
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
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -10,4 +10,5 @@
|
|||||||
|
|
||||||
constexpr auto MaxCameraPresets = 9;
|
constexpr auto MaxCameraPresets = 9;
|
||||||
constexpr auto MaxViews = 9;
|
constexpr auto MaxViews = 9;
|
||||||
|
constexpr auto Version = "1.0-beta4";
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -141,12 +141,12 @@ void MainWindow::setupMenu() {
|
|||||||
connect(aboutAct, &QAction::triggered, &m_cameraClient, [this] {
|
connect(aboutAct, &QAction::triggered, &m_cameraClient, [this] {
|
||||||
QMessageBox about(this);
|
QMessageBox about(this);
|
||||||
about.setText(tr(
|
about.setText(tr(
|
||||||
R"(Slide Controller 9000 - 1.0-beta3
|
R"(Slide Controller 9000 - %1
|
||||||
Build date: %1
|
Build date: %2
|
||||||
|
|
||||||
Copyright 2021 - 2023 Gary Talent (gary@drinkingtea.net)
|
Copyright 2021 - 2024 Gary Talent (gary@drinkingtea.net)
|
||||||
Slide Controller 9000 is released under the MPL 2.0
|
Slide Controller 9000 is released under the MPL 2.0
|
||||||
Built on Qt library under LGPL 2.0)").arg(__DATE__));
|
Built on Qt library under LGPL 2.0)").arg(Version, __DATE__));
|
||||||
about.exec();
|
about.exec();
|
||||||
});
|
});
|
||||||
menu->addAction(aboutAct);
|
menu->addAction(aboutAct);
|
||||||
@ -210,7 +210,7 @@ void MainWindow::setupViewControls(QVBoxLayout *rootLyt) {
|
|||||||
|
|
||||||
void MainWindow::openSettings() {
|
void MainWindow::openSettings() {
|
||||||
SettingsDialog d(this);
|
SettingsDialog d(this);
|
||||||
connect(&d, &SettingsDialog::previewPreset, &m_cameraClient, &CameraClient::setPreset);
|
connect(&d, &SettingsDialog::previewPreset, &m_cameraClient, &CameraClient::setPresetVC);
|
||||||
auto const result = d.exec();
|
auto const result = d.exec();
|
||||||
if (result == QDialog::Accepted) {
|
if (result == QDialog::Accepted) {
|
||||||
m_cameraClient.setBaseUrl();
|
m_cameraClient.setBaseUrl();
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -56,7 +56,7 @@ QWidget *SettingsDialog::setupNetworkInputs(QWidget *parent) {
|
|||||||
m_cameraHostLe->setText(c.host);
|
m_cameraHostLe->setText(c.host);
|
||||||
m_cameraPortLe->setText(QString::number(c.port));
|
m_cameraPortLe->setText(QString::number(c.port));
|
||||||
m_cameraPortLe->setValidator(portValidator);
|
m_cameraPortLe->setValidator(portValidator);
|
||||||
lyt->addRow(tr("C&amera Host:"), m_cameraHostLe);
|
lyt->addRow(tr("Camera &Host:"), m_cameraHostLe);
|
||||||
lyt->addRow(tr("Ca&mera Port:"), m_cameraPortLe);
|
lyt->addRow(tr("Ca&mera Port:"), m_cameraPortLe);
|
||||||
}
|
}
|
||||||
// OpenLP settings
|
// OpenLP settings
|
||||||
@ -108,7 +108,7 @@ QWidget *SettingsDialog::setupImageConfig(QWidget *parent) {
|
|||||||
m_vidBrightness = mkSb(tr("&Brightness:"));
|
m_vidBrightness = mkSb(tr("&Brightness:"));
|
||||||
m_vidSaturation = mkSb(tr("&Saturation:"));
|
m_vidSaturation = mkSb(tr("&Saturation:"));
|
||||||
m_vidContrast = mkSb(tr("Con&trast:"));
|
m_vidContrast = mkSb(tr("Con&trast:"));
|
||||||
m_vidSharpness = mkSb(tr("Sh&arpness:"));
|
m_vidSharpness = mkSb(tr("Sharpn&ess:"));
|
||||||
m_vidHue = mkSb(tr("&Hue:"));
|
m_vidHue = mkSb(tr("&Hue:"));
|
||||||
updateVidConfigPreset(0);
|
updateVidConfigPreset(0);
|
||||||
}
|
}
|
||||||
@ -154,7 +154,7 @@ QWidget *SettingsDialog::setupViewConfig(QWidget *parent) {
|
|||||||
}
|
}
|
||||||
{ // add/removes buttons
|
{ // add/removes buttons
|
||||||
auto const btnsLyt = new QHBoxLayout(btnsRoot);
|
auto const btnsLyt = new QHBoxLayout(btnsRoot);
|
||||||
auto const addBtn = new QPushButton("&Add", btnsRoot);
|
auto const addBtn = new QPushButton("A&dd", btnsRoot);
|
||||||
auto const rmBtn = new QPushButton("&Remove", btnsRoot);
|
auto const rmBtn = new QPushButton("&Remove", btnsRoot);
|
||||||
addBtn->setFixedWidth(70);
|
addBtn->setFixedWidth(70);
|
||||||
rmBtn->setFixedWidth(70);
|
rmBtn->setFixedWidth(70);
|
||||||
@ -192,17 +192,20 @@ QWidget *SettingsDialog::setupButtons(QWidget *parent) {
|
|||||||
auto const lyt = new QHBoxLayout(root);
|
auto const lyt = new QHBoxLayout(root);
|
||||||
m_errLbl = new QLabel(root);
|
m_errLbl = new QLabel(root);
|
||||||
auto const okBtn = new QPushButton(tr("&OK"), root);
|
auto const okBtn = new QPushButton(tr("&OK"), root);
|
||||||
|
auto const applyBtn = new QPushButton(tr("&Apply"), root);
|
||||||
auto const cancelBtn = new QPushButton(tr("&Cancel"), root);
|
auto const cancelBtn = new QPushButton(tr("&Cancel"), root);
|
||||||
lyt->addWidget(m_errLbl);
|
lyt->addWidget(m_errLbl);
|
||||||
lyt->addSpacerItem(new QSpacerItem(1000, 0, QSizePolicy::Expanding, QSizePolicy::Ignored));
|
lyt->addSpacerItem(new QSpacerItem(1000, 0, QSizePolicy::Expanding, QSizePolicy::Ignored));
|
||||||
lyt->addWidget(okBtn);
|
lyt->addWidget(okBtn);
|
||||||
|
lyt->addWidget(applyBtn);
|
||||||
lyt->addWidget(cancelBtn);
|
lyt->addWidget(cancelBtn);
|
||||||
connect(okBtn, &QPushButton::clicked, this, &SettingsDialog::handleOK);
|
connect(okBtn, &QPushButton::clicked, this, &SettingsDialog::handleOK);
|
||||||
|
connect(applyBtn, &QPushButton::clicked, this, &SettingsDialog::handleApply);
|
||||||
connect(cancelBtn, &QPushButton::clicked, this, &SettingsDialog::reject);
|
connect(cancelBtn, &QPushButton::clicked, this, &SettingsDialog::reject);
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsDialog::handleOK() {
|
void SettingsDialog::handleApply() {
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
QVector<View> views;
|
QVector<View> views;
|
||||||
auto const viewsErr = collectViews(views);
|
auto const viewsErr = collectViews(views);
|
||||||
@ -224,6 +227,10 @@ void SettingsDialog::handleOK() {
|
|||||||
});
|
});
|
||||||
collectVideoConfig();
|
collectVideoConfig();
|
||||||
setVideoConfig(settings, m_videoConfig);
|
setVideoConfig(settings, m_videoConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialog::handleOK() {
|
||||||
|
handleApply();
|
||||||
accept();
|
accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -38,6 +38,7 @@ class SettingsDialog: public QDialog {
|
|||||||
QWidget *setupViewConfig(QWidget *parent);
|
QWidget *setupViewConfig(QWidget *parent);
|
||||||
QWidget *setupImageConfig(QWidget *parent);
|
QWidget *setupImageConfig(QWidget *parent);
|
||||||
QWidget *setupButtons(QWidget *parent);
|
QWidget *setupButtons(QWidget *parent);
|
||||||
|
void handleApply();
|
||||||
void handleOK();
|
void handleOK();
|
||||||
void setupViewRow(int row, View const&view = {});
|
void setupViewRow(int row, View const&view = {});
|
||||||
/**
|
/**
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2021 - 2023 gary@drinkingtea.net
|
* Copyright 2021 - 2024 gary@drinkingtea.net
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
Reference in New Issue
Block a user