summaryrefslogtreecommitdiffhomepage
path: root/options/connector.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2018-07-08 23:29:49 +0200
committerStanislaw Halik <sthalik@misaki.pl>2018-07-08 23:29:49 +0200
commitfa1801471c2708ed8266ec7b99bd4cec886ccc1b (patch)
treeaa56218c2c7e4939aaf11a2046b0f12760326545 /options/connector.cpp
parent90940a774eab876c38d5cef981b4be5bae67a462 (diff)
options: fix 2 issues
1. Calling valueChanged didn't invoke machinery in value<t>, only base_value aka value_. There's a fast path in value<t>::type() despite the pessimization. 2. Split global scope stuff into options::globals from the options::globals stuff 3. Adjust usages
Diffstat (limited to 'options/connector.cpp')
-rw-r--r--options/connector.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/options/connector.cpp b/options/connector.cpp
index 0efac8f1..73aefed8 100644
--- a/options/connector.cpp
+++ b/options/connector.cpp
@@ -18,7 +18,7 @@ static bool generic_is_equal(const QVariant& val1, const QVariant& val2)
return val1 == val2;
}
-connector::~connector() {}
+connector::~connector() = default;
bool connector::is_equal(const QString& name, const QVariant& val1, const QVariant& val2) const
{
@@ -109,23 +109,17 @@ void connector::notify_values(const QString& name) const
{
auto it = connected_values.find(name);
if (it != connected_values.cend())
- {
for (value_type val : std::get<0>((*it).second))
- {
val->bundle_value_changed();
- }
- }
}
void connector::notify_all_values() const
{
- for (auto& pair : connected_values)
- for (value_type val : std::get<0>(pair.second))
+ for (auto& [k, v] : connected_values)
+ for (value_type val : std::get<0>(v))
val->bundle_value_changed();
}
-connector::connector()
-{
-}
+connector::connector() = default;
} // ns options::detail