diff --git a/data/locale/de-DE.ini b/data/locale/de-DE.ini index 63fa5449..67d3e4d0 100644 --- a/data/locale/de-DE.ini +++ b/data/locale/de-DE.ini @@ -152,9 +152,6 @@ AdvSceneSwitcher.condition.file.type.contentChange="Inhalt geändert" AdvSceneSwitcher.condition.file.type.dateChange="Änderungsdatum geändert" AdvSceneSwitcher.condition.file.remote="Entfernte Datei" AdvSceneSwitcher.condition.file.local="Lokale Datei" -AdvSceneSwitcher.condition.file.entry.line1="{{fileType}}{{filePath}}{{conditions}}{{useRegex}}" -AdvSceneSwitcher.condition.file.entry.line2="{{matchText}}" -AdvSceneSwitcher.condition.file.entry.line3="{{checkModificationDate}}{{checkFileContent}}" AdvSceneSwitcher.condition.media="Medien" AdvSceneSwitcher.condition.media.source="Quelle" AdvSceneSwitcher.condition.media.anyOnScene="Beliebige Medienquelle in" diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini index 60776611..9f6e931b 100644 --- a/data/locale/en-US.ini +++ b/data/locale/en-US.ini @@ -202,7 +202,6 @@ AdvSceneSwitcher.condition.file.remote="Remote file" AdvSceneSwitcher.condition.file.local="Local file" AdvSceneSwitcher.condition.file.entry.line1="{{fileType}}{{filePath}}{{conditions}}{{useRegex}}" AdvSceneSwitcher.condition.file.entry.line2="{{matchText}}" -AdvSceneSwitcher.condition.file.entry.line3="{{checkModificationDate}}{{checkFileContent}}" AdvSceneSwitcher.condition.media="Media" AdvSceneSwitcher.condition.media.source="Source" AdvSceneSwitcher.condition.media.anyOnScene="Any media source on" diff --git a/data/locale/es-ES.ini b/data/locale/es-ES.ini index 0ecab8b2..8e27c679 100644 --- a/data/locale/es-ES.ini +++ b/data/locale/es-ES.ini @@ -123,9 +123,6 @@ AdvSceneSwitcher.condition.scene.entry.line1="{{sceneType}}{{scenes}}{{pattern}} AdvSceneSwitcher.condition.scene.entry.line2="{{useTransitionTargetScene}}" AdvSceneSwitcher.condition.window="Ventana" AdvSceneSwitcher.condition.file="Archivo" -AdvSceneSwitcher.condition.file.entry.line1="Contenido de{{fileType}}{{filePath}}{{conditions}}{{useRegex}}" -AdvSceneSwitcher.condition.file.entry.line2="{{matchText}}" -AdvSceneSwitcher.condition.file.entry.line3="{{checkModificationDate}}{{checkFileContent}}" AdvSceneSwitcher.condition.media="Medios" AdvSceneSwitcher.condition.media.anyOnScene="Cualquier fuente multimedia activada" AdvSceneSwitcher.condition.media.allOnScene="Todas las fuentes de medios activadas" diff --git a/data/locale/ru-RU.ini b/data/locale/ru-RU.ini index dcb6dd55..7787408a 100644 --- a/data/locale/ru-RU.ini +++ b/data/locale/ru-RU.ini @@ -87,8 +87,6 @@ AdvSceneSwitcher.condition.scene.type.current="Текущий" AdvSceneSwitcher.condition.scene.type.previous="Предыдущий" AdvSceneSwitcher.condition.window="Окно" AdvSceneSwitcher.condition.file="Файл" -AdvSceneSwitcher.condition.file.entry.line2="{{matchText}}" -AdvSceneSwitcher.condition.file.entry.line3="{{checkModificationDate}}{{checkFileContent}}" AdvSceneSwitcher.condition.media="Медиа" AdvSceneSwitcher.condition.video="Видео" AdvSceneSwitcher.condition.video.condition.match="точно соответствует" diff --git a/data/locale/tr-TR.ini b/data/locale/tr-TR.ini index 31066cf1..2d00a017 100644 --- a/data/locale/tr-TR.ini +++ b/data/locale/tr-TR.ini @@ -113,9 +113,6 @@ AdvSceneSwitcher.condition.scene.entry.line1="{{sceneType}}{{scenes}}{{pattern}} AdvSceneSwitcher.condition.scene.entry.line2="{{useTransitionTargetScene}}" AdvSceneSwitcher.condition.window="Pencere" AdvSceneSwitcher.condition.file="Dosya" -AdvSceneSwitcher.condition.file.entry.line1="İçerik{{fileType}}{{filePath}}{{conditions}}{{useRegex}}" -AdvSceneSwitcher.condition.file.entry.line2="{{matchText}}" -AdvSceneSwitcher.condition.file.entry.line3="{{checkModificationDate}}{{checkFileContent}}" AdvSceneSwitcher.condition.media="Medya" AdvSceneSwitcher.condition.media.anyOnScene="Herhangi bir medya kaynağı" AdvSceneSwitcher.condition.media.allOnScene="Tüm medya kaynakları " diff --git a/data/locale/zh-CN.ini b/data/locale/zh-CN.ini index 5c323ce8..6d92a3d2 100644 --- a/data/locale/zh-CN.ini +++ b/data/locale/zh-CN.ini @@ -178,9 +178,6 @@ AdvSceneSwitcher.condition.file.type.contentChange="内容已更改" AdvSceneSwitcher.condition.file.type.dateChange="修改日期已更改" AdvSceneSwitcher.condition.file.remote="远程文件" AdvSceneSwitcher.condition.file.local="本地文件" -AdvSceneSwitcher.condition.file.entry.line1="{{fileType}}{{filePath}}{{conditions}}{{useRegex}}" -AdvSceneSwitcher.condition.file.entry.line2="{{matchText}}" -AdvSceneSwitcher.condition.file.entry.line3="{{checkModificationDate}}{{checkFileContent}}" AdvSceneSwitcher.condition.media="媒体" AdvSceneSwitcher.condition.media.source="源" AdvSceneSwitcher.condition.media.anyOnScene="任何媒体源" diff --git a/src/macro-core/macro-condition-file.cpp b/src/macro-core/macro-condition-file.cpp index 13bf44bd..7a198172 100644 --- a/src/macro-core/macro-condition-file.cpp +++ b/src/macro-core/macro-condition-file.cpp @@ -41,16 +41,8 @@ static std::string getRemoteData(std::string &url) return readBuffer; } -bool MacroConditionFile::MatchFileContent(QString &filedata) +bool MacroConditionFile::MatchFileContent(QString &filedata) const { - if (_onlyMatchIfChanged) { - size_t newHash = strHash(filedata.toUtf8().constData()); - if (newHash == _lastHash) { - return false; - } - _lastHash = newHash; - } - if (_regex.Enabled()) { auto expr = _regex.GetRegularExpression(_text); if (!expr.isValid()) { @@ -80,14 +72,6 @@ bool MacroConditionFile::CheckLocalFileContent() return false; } - if (_useTime) { - QDateTime newLastMod = QFileInfo(file).lastModified(); - if (_lastMod == newLastMod) { - return false; - } - _lastMod = newLastMod; - } - QString filedata = QTextStream(&file).readAll(); SetVariableValue(filedata.toStdString()); bool match = MatchFileContent(filedata); @@ -174,8 +158,6 @@ bool MacroConditionFile::Save(obs_data_t *obj) const _text.Save(obj, "text"); obs_data_set_int(obj, "fileType", static_cast(_fileType)); obs_data_set_int(obj, "condition", static_cast(_condition)); - obs_data_set_bool(obj, "useTime", _useTime); - obs_data_set_bool(obj, "onlyMatchIfChanged", _onlyMatchIfChanged); return true; } @@ -193,8 +175,6 @@ bool MacroConditionFile::Load(obs_data_t *obj) _fileType = static_cast(obs_data_get_int(obj, "fileType")); _condition = static_cast(obs_data_get_int(obj, "condition")); - _useTime = obs_data_get_bool(obj, "useTime"); - _onlyMatchIfChanged = obs_data_get_bool(obj, "onlyMatchIfChanged"); return true; } @@ -227,11 +207,7 @@ MacroConditionFileEdit::MacroConditionFileEdit( _conditions(new QComboBox()), _filePath(new FileSelection()), _matchText(new VariableTextEdit(this)), - _regex(new RegexConfigWidget(parent)), - _checkModificationDate(new QCheckBox(obs_module_text( - "AdvSceneSwitcher.fileTab.checkfileContentTime"))), - _checkFileContent(new QCheckBox( - obs_module_text("AdvSceneSwitcher.fileTab.checkfileContent"))) + _regex(new RegexConfigWidget(parent)) { populateFileTypes(_fileTypes); populateConditions(_conditions); @@ -246,41 +222,27 @@ MacroConditionFileEdit::MacroConditionFileEdit( SLOT(MatchTextChanged())); QWidget::connect(_regex, SIGNAL(RegexConfigChanged(RegexConfig)), this, SLOT(RegexChanged(RegexConfig))); - QWidget::connect(_checkModificationDate, SIGNAL(stateChanged(int)), - this, SLOT(CheckModificationDateChanged(int))); - QWidget::connect(_checkFileContent, SIGNAL(stateChanged(int)), this, - SLOT(OnlyMatchIfChangedChanged(int))); - std::unordered_map widgetPlaceholders = { - {"{{fileType}}", _fileTypes}, - {"{{conditions}}", _conditions}, - {"{{filePath}}", _filePath}, - {"{{matchText}}", _matchText}, + const std::unordered_map widgetPlaceholders = { + {"{{fileType}}", _fileTypes}, {"{{conditions}}", _conditions}, + {"{{filePath}}", _filePath}, {"{{matchText}}", _matchText}, {"{{useRegex}}", _regex}, - {"{{checkModificationDate}}", _checkModificationDate}, - {"{{checkFileContent}}", _checkFileContent}, }; - QVBoxLayout *mainLayout = new QVBoxLayout; - QHBoxLayout *line1Layout = new QHBoxLayout; - QHBoxLayout *line2Layout = new QHBoxLayout; - QHBoxLayout *line3Layout = new QHBoxLayout; + auto line1Layout = new QHBoxLayout; line1Layout->setContentsMargins(0, 0, 0, 0); - line2Layout->setContentsMargins(0, 0, 0, 0); - line3Layout->setContentsMargins(0, 0, 0, 0); PlaceWidgets( obs_module_text("AdvSceneSwitcher.condition.file.entry.line1"), line1Layout, widgetPlaceholders); + auto line2Layout = new QHBoxLayout; + line2Layout->setContentsMargins(0, 0, 0, 0); PlaceWidgets( obs_module_text("AdvSceneSwitcher.condition.file.entry.line2"), line2Layout, widgetPlaceholders, false); - PlaceWidgets( - obs_module_text("AdvSceneSwitcher.condition.file.entry.line3"), - line3Layout, widgetPlaceholders); + + auto mainLayout = new QVBoxLayout; mainLayout->addLayout(line1Layout); mainLayout->addLayout(line2Layout); - mainLayout->addLayout(line3Layout); - setLayout(mainLayout); _entryData = entryData; @@ -299,16 +261,6 @@ void MacroConditionFileEdit::UpdateEntryData() _filePath->SetPath(_entryData->_file); _matchText->setPlainText(_entryData->_text); _regex->SetRegexConfig(_entryData->_regex); - _checkModificationDate->setChecked(_entryData->_useTime); - _checkFileContent->setChecked(_entryData->_onlyMatchIfChanged); - - // TODO: Remove in future version - if (!_entryData->_useTime) { - _checkModificationDate->hide(); - } - if (!_entryData->_onlyMatchIfChanged) { - _checkFileContent->hide(); - } SetWidgetVisibility(); } @@ -319,17 +271,9 @@ void MacroConditionFileEdit::FileTypeChanged(int index) return; } - MacroConditionFile::FileType type = - static_cast(index); - - if (type == MacroConditionFile::FileType::LOCAL) { - _filePath->Button()->setDisabled(false); - _checkModificationDate->setDisabled(false); - } else { - _filePath->Button()->setDisabled(true); - _checkModificationDate->setDisabled(true); - } - + auto type = static_cast(index); + _filePath->Button()->setEnabled(type == + MacroConditionFile::FileType::LOCAL); auto lock = LockContext(); _entryData->_fileType = type; } @@ -383,26 +327,6 @@ void MacroConditionFileEdit::RegexChanged(RegexConfig conf) updateGeometry(); } -void MacroConditionFileEdit::CheckModificationDateChanged(int state) -{ - if (_loading || !_entryData) { - return; - } - - auto lock = LockContext(); - _entryData->_useTime = state; -} - -void MacroConditionFileEdit::OnlyMatchIfChangedChanged(int state) -{ - if (_loading || !_entryData) { - return; - } - - auto lock = LockContext(); - _entryData->_onlyMatchIfChanged = state; -} - void MacroConditionFileEdit::SetWidgetVisibility() { if (!_entryData) { @@ -413,14 +337,6 @@ void MacroConditionFileEdit::SetWidgetVisibility() MacroConditionFile::ConditionType::MATCH); _regex->setVisible(_entryData->_condition == MacroConditionFile::ConditionType::MATCH); - _checkModificationDate->setVisible( - _entryData->_useTime && - _entryData->_condition == - MacroConditionFile::ConditionType::MATCH); - _checkFileContent->setVisible( - _entryData->_onlyMatchIfChanged && - _entryData->_condition == - MacroConditionFile::ConditionType::MATCH); adjustSize(); updateGeometry(); } diff --git a/src/macro-core/macro-condition-file.hpp b/src/macro-core/macro-condition-file.hpp index b4630c44..a401fe8e 100644 --- a/src/macro-core/macro-condition-file.hpp +++ b/src/macro-core/macro-condition-file.hpp @@ -43,12 +43,8 @@ public: ConditionType _condition = ConditionType::MATCH; RegexConfig _regex; - // TODO: Remove in future version - bool _useTime = false; - bool _onlyMatchIfChanged = false; - private: - bool MatchFileContent(QString &filedata); + bool MatchFileContent(QString &filedata) const; bool CheckRemoteFileContent(); bool CheckLocalFileContent(); bool CheckChangeContent(); @@ -82,8 +78,6 @@ private slots: void PathChanged(const QString &text); void MatchTextChanged(); void RegexChanged(RegexConfig); - void CheckModificationDateChanged(int state); - void OnlyMatchIfChangedChanged(int state); signals: void HeaderInfoChanged(const QString &); @@ -93,8 +87,6 @@ protected: FileSelection *_filePath; VariableTextEdit *_matchText; RegexConfigWidget *_regex; - QCheckBox *_checkModificationDate; - QCheckBox *_checkFileContent; std::shared_ptr _entryData; private: