mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-09-09 18:16:15 -05:00
Enable setting a minimum and initial duration
This commit is contained in:
@@ -6,6 +6,11 @@
|
||||
#include <iomanip>
|
||||
#include <QHBoxLayout>
|
||||
|
||||
Duration::Duration(double initialValueInSeconds)
|
||||
: seconds(initialValueInSeconds)
|
||||
{
|
||||
}
|
||||
|
||||
void Duration::Save(obs_data_t *obj, const char *secondsName,
|
||||
const char *unitName) const
|
||||
{
|
||||
@@ -111,13 +116,16 @@ static void populateUnits(QComboBox *list)
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.hours"));
|
||||
}
|
||||
|
||||
DurationSelection::DurationSelection(QWidget *parent, bool showUnitSelection)
|
||||
: QWidget(parent), _unitMultiplier(1)
|
||||
DurationSelection::DurationSelection(QWidget *parent, bool showUnitSelection,
|
||||
double minValue)
|
||||
: QWidget(parent),
|
||||
_duration(new QDoubleSpinBox(parent)),
|
||||
_unitSelection(new QComboBox()),
|
||||
_unitMultiplier(1)
|
||||
{
|
||||
_duration = new QDoubleSpinBox(parent);
|
||||
_duration->setMinimum(minValue);
|
||||
_duration->setMaximum(86400); // 24 hours
|
||||
|
||||
_unitSelection = new QComboBox();
|
||||
populateUnits(_unitSelection);
|
||||
|
||||
QWidget::connect(_duration, SIGNAL(valueChanged(double)), this,
|
||||
|
||||
@@ -15,6 +15,9 @@ enum class DurationUnit {
|
||||
|
||||
class Duration {
|
||||
public:
|
||||
Duration() = default;
|
||||
Duration(double initialValueInSeconds);
|
||||
|
||||
void Save(obs_data_t *obj, const char *secondsName = "seconds",
|
||||
const char *unitName = "displayUnit") const;
|
||||
void Load(obs_data_t *obj, const char *secondsName = "seconds",
|
||||
@@ -39,7 +42,7 @@ class DurationSelection : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
DurationSelection(QWidget *parent = nullptr,
|
||||
bool showUnitSelection = true);
|
||||
bool showUnitSelection = true, double minValue = 0.0);
|
||||
void SetValue(double value);
|
||||
void SetUnit(DurationUnit u);
|
||||
void SetDuration(Duration d);
|
||||
|
||||
Reference in New Issue
Block a user