diff --git a/src/utils/duration-control.cpp b/src/utils/duration-control.cpp index 92f235e0..43926602 100644 --- a/src/utils/duration-control.cpp +++ b/src/utils/duration-control.cpp @@ -6,6 +6,11 @@ #include #include +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, diff --git a/src/utils/duration-control.hpp b/src/utils/duration-control.hpp index 07c43fc5..6e739749 100644 --- a/src/utils/duration-control.hpp +++ b/src/utils/duration-control.hpp @@ -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);