mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-05-09 04:32:13 -05:00
Merge a09a381c9c into 7fd2979e86
This commit is contained in:
commit
be4cde5f67
|
|
@ -8,9 +8,13 @@ namespace advss {
|
|||
|
||||
static void populateUnits(QComboBox *list)
|
||||
{
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.seconds"));
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.minutes"));
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.hours"));
|
||||
list->addItems({obs_module_text("AdvSceneSwitcher.unit.seconds"),
|
||||
obs_module_text("AdvSceneSwitcher.unit.minutes"),
|
||||
obs_module_text("AdvSceneSwitcher.unit.hours"),
|
||||
obs_module_text("AdvSceneSwitcher.unit.days"),
|
||||
obs_module_text("AdvSceneSwitcher.unit.weeks"),
|
||||
obs_module_text("AdvSceneSwitcher.unit.months"),
|
||||
obs_module_text("AdvSceneSwitcher.unit.years")});
|
||||
}
|
||||
|
||||
DurationSelection::DurationSelection(QWidget *parent, bool showUnitSelection,
|
||||
|
|
@ -57,27 +61,12 @@ void DurationSelection::_DurationChanged(const NumberVariable<double> &value)
|
|||
emit DurationChanged(_current);
|
||||
}
|
||||
|
||||
static int durationUnitToMultiplier(Duration::Unit u)
|
||||
{
|
||||
switch (u) {
|
||||
case Duration::Unit::SECONDS:
|
||||
return 1;
|
||||
case Duration::Unit::MINUTES:
|
||||
return 60;
|
||||
case Duration::Unit::HOURS:
|
||||
return 3600;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void DurationSelection::_UnitChanged(int idx)
|
||||
{
|
||||
Duration::Unit unit = static_cast<Duration::Unit>(idx);
|
||||
double prevMultiplier = durationUnitToMultiplier(_current._unit);
|
||||
double newMultiplier = durationUnitToMultiplier(unit);
|
||||
double prevMultiplier =
|
||||
Duration::ConvertUnitToMultiplier(_current._unit);
|
||||
double newMultiplier = Duration::ConvertUnitToMultiplier(unit);
|
||||
_current._unit = unit;
|
||||
_duration->SetFixedValue(_duration->Value() *
|
||||
(prevMultiplier / newMultiplier));
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ void Duration::Save(obs_data_t *obj, const char *name) const
|
|||
obs_data_release(data);
|
||||
}
|
||||
|
||||
static int durationUnitToMultiplier(Duration::Unit u);
|
||||
|
||||
void Duration::Load(obs_data_t *obj, const char *name)
|
||||
{
|
||||
auto data = obs_data_get_obj(obj, name);
|
||||
|
|
@ -49,7 +47,7 @@ void Duration::Load(obs_data_t *obj, const char *name)
|
|||
_unit = Duration::Unit::SECONDS;
|
||||
}
|
||||
|
||||
_value = _value / durationUnitToMultiplier(_unit);
|
||||
_value = _value / ConvertUnitToMultiplier(_unit);
|
||||
|
||||
obs_data_release(data);
|
||||
return;
|
||||
|
|
@ -78,7 +76,7 @@ bool Duration::IsReset() const
|
|||
|
||||
double Duration::Seconds() const
|
||||
{
|
||||
return _value.GetValue() * durationUnitToMultiplier(_unit);
|
||||
return _value.GetValue() * ConvertUnitToMultiplier(_unit);
|
||||
}
|
||||
|
||||
double Duration::Milliseconds() const
|
||||
|
|
@ -121,6 +119,14 @@ static std::string durationUnitToString(Duration::Unit u)
|
|||
return obs_module_text("AdvSceneSwitcher.unit.minutes");
|
||||
case Duration::Unit::HOURS:
|
||||
return obs_module_text("AdvSceneSwitcher.unit.hours");
|
||||
case Duration::Unit::DAYS:
|
||||
return obs_module_text("AdvSceneSwitcher.unit.days");
|
||||
case Duration::Unit::WEEKS:
|
||||
return obs_module_text("AdvSceneSwitcher.unit.weeks");
|
||||
case Duration::Unit::MONTHS:
|
||||
return obs_module_text("AdvSceneSwitcher.unit.months");
|
||||
case Duration::Unit::YEARS:
|
||||
return obs_module_text("AdvSceneSwitcher.unit.years");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -139,18 +145,23 @@ std::string Duration::ToString() const
|
|||
return ss.str();
|
||||
}
|
||||
|
||||
// TODO: Remove the code below
|
||||
// Only used for backwards compatibility
|
||||
|
||||
static int durationUnitToMultiplier(Duration::Unit u)
|
||||
int Duration::ConvertUnitToMultiplier(Unit unit)
|
||||
{
|
||||
switch (u) {
|
||||
case Duration::Unit::SECONDS:
|
||||
switch (unit) {
|
||||
case Unit::SECONDS:
|
||||
return 1;
|
||||
case Duration::Unit::MINUTES:
|
||||
case Unit::MINUTES:
|
||||
return 60;
|
||||
case Duration::Unit::HOURS:
|
||||
case Unit::HOURS:
|
||||
return 3600;
|
||||
case Unit::DAYS:
|
||||
return 86400;
|
||||
case Unit::WEEKS:
|
||||
return 604800;
|
||||
case Unit::MONTHS:
|
||||
return 2629746;
|
||||
case Unit::YEARS:
|
||||
return 31556952;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -160,8 +171,8 @@ static int durationUnitToMultiplier(Duration::Unit u)
|
|||
|
||||
void Duration::SetUnit(Unit u)
|
||||
{
|
||||
double prevMultiplier = durationUnitToMultiplier(_unit);
|
||||
double newMultiplier = durationUnitToMultiplier(u);
|
||||
double prevMultiplier = ConvertUnitToMultiplier(_unit);
|
||||
double newMultiplier = ConvertUnitToMultiplier(u);
|
||||
_unit = u;
|
||||
_value = _value * (prevMultiplier / newMultiplier);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,8 +27,13 @@ public:
|
|||
SECONDS,
|
||||
MINUTES,
|
||||
HOURS,
|
||||
DAYS,
|
||||
WEEKS,
|
||||
MONTHS,
|
||||
YEARS,
|
||||
};
|
||||
EXPORT Unit GetUnit() const { return _unit; }
|
||||
EXPORT static int ConvertUnitToMultiplier(Unit unit);
|
||||
|
||||
// TODO: Remove
|
||||
// Only use this function if you intend to convert old settings formats
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user