From 3d6d690583c39f222353132153aca8665dccffad Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Wed, 22 Feb 2023 14:26:25 +0100 Subject: [PATCH] Add variable support for custom screenshot path --- src/macro-core/macro-action-screenshot.cpp | 8 ++++---- src/macro-core/macro-action-screenshot.hpp | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/macro-core/macro-action-screenshot.cpp b/src/macro-core/macro-action-screenshot.cpp index a86a78f8..a9608f7e 100644 --- a/src/macro-core/macro-action-screenshot.cpp +++ b/src/macro-core/macro-action-screenshot.cpp @@ -87,7 +87,7 @@ bool MacroActionScreenshot::Save(obs_data_t *obj) const _source.Save(obj); obs_data_set_int(obj, "saveType", static_cast(_saveType)); obs_data_set_int(obj, "targetType", static_cast(_targetType)); - obs_data_set_string(obj, "savePath", _path.c_str()); + _path.Save(obj, "savePath"); obs_data_set_int(obj, "version", _version); return true; } @@ -100,7 +100,7 @@ bool MacroActionScreenshot::Load(obs_data_t *obj) _saveType = static_cast(obs_data_get_int(obj, "saveType")); _targetType = static_cast(obs_data_get_int(obj, "targetType")); - _path = obs_data_get_string(obj, "savePath"); + _path.Load(obj, "savePath"); // TODO: Remove fallback for older versions if (!obs_data_has_user_value(obj, "version")) { @@ -200,7 +200,7 @@ void MacroActionScreenshotEdit::UpdateEntryData() _scenes->SetScene(_entryData->_scene); _saveType->setCurrentIndex(static_cast(_entryData->_saveType)); _targetType->setCurrentIndex(static_cast(_entryData->_targetType)); - _savePath->SetPath(QString::fromStdString(_entryData->_path)); + _savePath->SetPath(_entryData->_path); SetWidgetVisibility(); } @@ -243,7 +243,7 @@ void MacroActionScreenshotEdit::PathChanged(const QString &text) } std::lock_guard lock(switcher->m); - _entryData->_path = text.toUtf8().constData(); + _entryData->_path = text.toStdString(); } void MacroActionScreenshotEdit::SourceChanged(const SourceSelection &source) diff --git a/src/macro-core/macro-action-screenshot.hpp b/src/macro-core/macro-action-screenshot.hpp index a86dbb32..d4690c80 100644 --- a/src/macro-core/macro-action-screenshot.hpp +++ b/src/macro-core/macro-action-screenshot.hpp @@ -33,7 +33,8 @@ public: TargetType _targetType = TargetType::SOURCE; SceneSelection _scene; SourceSelection _source; - std::string _path = obs_module_text("AdvSceneSwitcher.enterPath"); + VariableResolvingString _path = + obs_module_text("AdvSceneSwitcher.enterPath"); private: void FrontendScreenshot(OBSWeakSource &);