From c2fb0b15f86115dfe2c79c3dff82b59bba0cf8c8 Mon Sep 17 00:00:00 2001 From: Martin Piatka Date: Thu, 11 Mar 2021 16:39:34 +0100 Subject: [PATCH] GUI: Allow adding only unique suboptions --- gui/QT/option/settings.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gui/QT/option/settings.cpp b/gui/QT/option/settings.cpp index bb9f2356b..8bc39e043 100644 --- a/gui/QT/option/settings.cpp +++ b/gui/QT/option/settings.cpp @@ -92,8 +92,14 @@ void Option::setEnabled(bool enable, bool suppressCallback){ } void Option::addSuboption(Option *sub, const std::string &limit){ + auto pair = std::make_pair(limit, sub); + auto it = std::find(suboptions.begin(), suboptions.end(), pair); + + if(it != suboptions.end()) + return; + sub->addOnChangeCallback(Callback(&Option::suboptionChanged, this)); - suboptions.push_back(std::make_pair(limit, sub)); + suboptions.push_back(pair); } void Option::addOnChangeCallback(Callback callback){