From 8f90bf88467df9f15af670f9fb0e5a8223ff0ac6 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Fri, 1 Sep 2023 20:18:40 +0200 Subject: [PATCH] Move splitter save/load helpers to utility --- src/general.cpp | 28 ---------------------------- src/utils/utility.cpp | 27 +++++++++++++++++++++++++++ src/utils/utility.hpp | 4 ++++ 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/src/general.cpp b/src/general.cpp index 0c57c79e..fdfee314 100644 --- a/src/general.cpp +++ b/src/general.cpp @@ -676,34 +676,6 @@ void SwitcherData::LoadGeneralSettings(obs_data_t *obj) lastImportPath = obs_data_get_string(obj, "lastImportPath"); } -static void saveSplitterPos(QList &sizes, obs_data_t *obj, - const std::string name) -{ - auto array = obs_data_array_create(); - for (int i = 0; i < sizes.count(); ++i) { - obs_data_t *array_obj = obs_data_create(); - obs_data_set_int(array_obj, "pos", sizes[i]); - obs_data_array_push_back(array, array_obj); - obs_data_release(array_obj); - } - obs_data_set_array(obj, name.c_str(), array); - obs_data_array_release(array); -} - -static void loadSplitterPos(QList &sizes, obs_data_t *obj, - const std::string name) -{ - sizes.clear(); - obs_data_array_t *array = obs_data_get_array(obj, name.c_str()); - size_t count = obs_data_array_count(array); - for (size_t i = 0; i < count; i++) { - obs_data_t *item = obs_data_array_item(array, i); - sizes << obs_data_get_int(item, "pos"); - obs_data_release(item); - } - obs_data_array_release(array); -} - void SwitcherData::SaveUISettings(obs_data_t *obj) { obs_data_set_int(obj, "generalTabPos", tabOrder[0]); diff --git a/src/utils/utility.cpp b/src/utils/utility.cpp index 5dd11fd1..fbecc8fe 100644 --- a/src/utils/utility.cpp +++ b/src/utils/utility.cpp @@ -651,6 +651,33 @@ QString GetMacroSegmentDescription(Macro *macro, int idx, bool isCondition) return result; } +void SaveSplitterPos(const QList &sizes, obs_data_t *obj, + const std::string name) +{ + auto array = obs_data_array_create(); + for (int i = 0; i < sizes.count(); ++i) { + obs_data_t *array_obj = obs_data_create(); + obs_data_set_int(array_obj, "pos", sizes[i]); + obs_data_array_push_back(array, array_obj); + obs_data_release(array_obj); + } + obs_data_set_array(obj, name.c_str(), array); + obs_data_array_release(array); +} + +void LoadSplitterPos(QList &sizes, obs_data_t *obj, const std::string name) +{ + sizes.clear(); + obs_data_array_t *array = obs_data_get_array(obj, name.c_str()); + size_t count = obs_data_array_count(array); + for (size_t i = 0; i < count; i++) { + obs_data_t *item = obs_data_array_item(array, i); + sizes << obs_data_get_int(item, "pos"); + obs_data_release(item); + } + obs_data_array_release(array); +} + QStringList GetSourceNames() { auto sourceEnum = [](void *param, obs_source_t *source) -> bool /* -- */ diff --git a/src/utils/utility.hpp b/src/utils/utility.hpp index 0c6a44f7..682edb2f 100644 --- a/src/utils/utility.hpp +++ b/src/utils/utility.hpp @@ -129,6 +129,10 @@ std::string GetPathInProfileDir(const char *filePath); QStringList GetMonitorNames(); bool IsValidMacroSegmentIndex(Macro *m, const int idx, bool isCondition); QString GetMacroSegmentDescription(Macro *, int idx, bool isCondition); +void SaveSplitterPos(const QList &sizes, obs_data_t *obj, + const std::string name); +void LoadSplitterPos(QList &sizes, obs_data_t *obj, + const std::string name); /* Legacy helpers */