mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-08-15 22:04:17 -05:00
Add option to ignore time component in simple check
This commit is contained in:
@@ -269,7 +269,7 @@ AdvSceneSwitcher.condition.date.ignoreDate="If unchecked the date component will
|
||||
AdvSceneSwitcher.condition.date.ignoreTime="If unchecked the time component will be ignored"
|
||||
AdvSceneSwitcher.condition.date.showAdvancedSettings="Show advanced settings"
|
||||
AdvSceneSwitcher.condition.date.showSimpleSettings="Show simple settings"
|
||||
AdvSceneSwitcher.condition.date.entry.simple="On {{dayOfWeek}} at {{weekTime}}"
|
||||
AdvSceneSwitcher.condition.date.entry.simple="On {{dayOfWeek}} at {{ignoreWeekTime}}{{weekTime}}"
|
||||
AdvSceneSwitcher.condition.date.entry.advanced="{{condition}} {{ignoreDate}}{{date}} {{ignoreTime}}{{time}} {{separator}} {{date2}} {{time2}}"
|
||||
AdvSceneSwitcher.condition.date.entry.repeat="{{repeat}} Repeat every {{duration}} on date match"
|
||||
AdvSceneSwitcher.condition.date.entry.nextMatchDate="Next match at: %1"
|
||||
|
||||
@@ -267,7 +267,7 @@ AdvSceneSwitcher.condition.date.ignoreDate="Si no se marca, se ignorará el comp
|
||||
AdvSceneSwitcher.condition.date.ignoreTime="Si no se marca, se ignorará el componente de tiempo"
|
||||
AdvSceneSwitcher.condition.date.showAdvancedSettings="Mostrar configuración avanzada"
|
||||
AdvSceneSwitcher.condition.date.showSimpleSettings="Mostrar configuración simple"
|
||||
AdvSceneSwitcher.condition.date.entry.simple="El {{dayOfWeek}} a las {{weekTime}}"
|
||||
AdvSceneSwitcher.condition.date.entry.simple="El {{dayOfWeek}} a las {{ignoreWeekTime}}{{weekTime}}"
|
||||
AdvSceneSwitcher.condition.date.entry.advanced="{{condition}} {{ignoreDate}}{{date}} {{ignoreTime}}{{time}} {{separator}} {{date2}} {{time2}}"
|
||||
AdvSceneSwitcher.condition.date.entry.repeat="{{repeat}} Repetir cada {{duration}} en la coincidencia de fechas"
|
||||
AdvSceneSwitcher.condition.date.entry.nextMatchDate="Próxima coincidencia en: %1"
|
||||
|
||||
@@ -251,7 +251,7 @@ AdvSceneSwitcher.condition.date.ignoreDate="如果未选中,日期组件将被
|
||||
AdvSceneSwitcher.condition.date.ignoreTime="如果未选中,时间组件将被忽略"
|
||||
AdvSceneSwitcher.condition.date.showAdvancedSettings="显示高级设置"
|
||||
AdvSceneSwitcher.condition.date.showSimpleSettings="显示简单设置"
|
||||
AdvSceneSwitcher.condition.date.entry.simple="在 {{dayOfWeek}} 的 {{weekTime}}"
|
||||
AdvSceneSwitcher.condition.date.entry.simple="在 {{dayOfWeek}} 的 {{ignoreWeekTime}}{{weekTime}}"
|
||||
AdvSceneSwitcher.condition.date.entry.advanced="{{condition}} {{ignoreDate}}{{date}} {{ignoreTime}}{{time}} {{separator}} {{date2}} {{time2}}"
|
||||
AdvSceneSwitcher.condition.date.entry.repeat="{{repeat}} 在匹配到日期时间后,每隔 {{duration}} 重复一次"
|
||||
AdvSceneSwitcher.condition.sceneTransform="场景项目被改变"
|
||||
|
||||
@@ -105,6 +105,7 @@ signals:
|
||||
|
||||
protected:
|
||||
QComboBox *_dayOfWeek;
|
||||
QCheckBox *_ignoreWeekTime;
|
||||
QTimeEdit *_weekTime;
|
||||
|
||||
QComboBox *_condition;
|
||||
|
||||
@@ -42,6 +42,9 @@ bool MacroConditionDate::CheckDayOfWeek(int64_t msSinceLastCheck)
|
||||
cur.date().dayOfWeek() != static_cast<int>(_dayOfWeek)) {
|
||||
return false;
|
||||
}
|
||||
if (_ignoreTime) {
|
||||
return true;
|
||||
}
|
||||
_dateTime.setDate(cur.date());
|
||||
return _dateTime <= cur && _dateTime >= cur.addMSecs(-msSinceLastCheck);
|
||||
}
|
||||
@@ -163,6 +166,9 @@ std::string MacroConditionDate::GetShortDesc()
|
||||
return "";
|
||||
}
|
||||
std::string dayName = obs_module_text(it->second.c_str());
|
||||
if (_ignoreTime) {
|
||||
return dayName;
|
||||
}
|
||||
return dayName + " " +
|
||||
_dateTime.time().toString().toStdString();
|
||||
} else {
|
||||
@@ -234,6 +240,7 @@ MacroConditionDateEdit::MacroConditionDateEdit(
|
||||
QWidget *parent, std::shared_ptr<MacroConditionDate> entryData)
|
||||
: QWidget(parent),
|
||||
_dayOfWeek(new QComboBox()),
|
||||
_ignoreWeekTime(new QCheckBox()),
|
||||
_weekTime(new QTimeEdit()),
|
||||
_condition(new QComboBox()),
|
||||
_date(new QDateEdit()),
|
||||
@@ -255,6 +262,8 @@ MacroConditionDateEdit::MacroConditionDateEdit(
|
||||
_repeatLayout(new QVBoxLayout()),
|
||||
_repeatUpdateLayout(new QHBoxLayout())
|
||||
{
|
||||
_ignoreWeekTime->setToolTip(
|
||||
obs_module_text("AdvSceneSwitcher.condition.date.ignoreTime"));
|
||||
_weekTime->setDisplayFormat("hh:mm:ss");
|
||||
_date->setDisplayFormat("yyyy.MM.dd ");
|
||||
_date->setCalendarPopup(true);
|
||||
@@ -273,6 +282,8 @@ MacroConditionDateEdit::MacroConditionDateEdit(
|
||||
|
||||
QWidget::connect(_dayOfWeek, SIGNAL(currentIndexChanged(int)), this,
|
||||
SLOT(DayOfWeekChanged(int)));
|
||||
QWidget::connect(_ignoreWeekTime, SIGNAL(stateChanged(int)), this,
|
||||
SLOT(IgnoreTimeChanged(int)));
|
||||
QWidget::connect(_weekTime, SIGNAL(timeChanged(const QTime &)), this,
|
||||
SLOT(TimeChanged(const QTime &)));
|
||||
QWidget::connect(_condition, SIGNAL(currentIndexChanged(int)), this,
|
||||
@@ -305,6 +316,7 @@ MacroConditionDateEdit::MacroConditionDateEdit(
|
||||
|
||||
std::unordered_map<std::string, QWidget *> widgetPlaceholders = {
|
||||
{"{{dayOfWeek}}", _dayOfWeek},
|
||||
{"{{ignoreWeekTime}}", _ignoreWeekTime},
|
||||
{"{{weekTime}}", _weekTime},
|
||||
{"{{condition}}", _condition},
|
||||
{"{{date}}", _date},
|
||||
@@ -523,6 +535,7 @@ void MacroConditionDateEdit::UpdateEntryData()
|
||||
|
||||
_dayOfWeek->setCurrentIndex(
|
||||
static_cast<int>(static_cast<int>(_entryData->_dayOfWeek)));
|
||||
_ignoreWeekTime->setChecked(!_entryData->_ignoreTime);
|
||||
_weekTime->setDateTime(_entryData->GetDateTime1());
|
||||
_condition->setCurrentIndex(static_cast<int>(_entryData->_condition));
|
||||
_date->setDateTime(_entryData->GetDateTime1());
|
||||
@@ -555,6 +568,7 @@ void MacroConditionDateEdit::SetWidgetStatus()
|
||||
if (_entryData->_dayOfWeekCheck) {
|
||||
_advancedSettingsTooggle->setText(obs_module_text(
|
||||
"AdvSceneSwitcher.condition.date.showAdvancedSettings"));
|
||||
_weekTime->setDisabled(_entryData->_ignoreTime);
|
||||
} else {
|
||||
_advancedSettingsTooggle->setText(obs_module_text(
|
||||
"AdvSceneSwitcher.condition.date.showSimpleSettings"));
|
||||
|
||||
Reference in New Issue
Block a user