From f2faf7acf4445fef2a149ebbdecb569a2d119d94 Mon Sep 17 00:00:00 2001
From: Stanislaw Halik <sthalik@misaki.pl>
Date: Mon, 2 Jul 2018 08:20:47 +0200
Subject: nothing important

---
 options/base-value.cpp   |  4 +---
 options/bundle.cpp       | 19 +++++++++---------
 options/bundle.hpp       | 51 ++++++++++++++++++++++++++++--------------------
 options/connector.cpp    |  7 ++-----
 options/connector.hpp    |  9 ++++-----
 options/defs.hpp         |  5 ++---
 options/slider.cpp       | 15 +++++++++++++-
 options/slider.hpp       |  2 ++
 options/value-traits.hpp |  7 +++----
 9 files changed, 67 insertions(+), 52 deletions(-)

(limited to 'options')

diff --git a/options/base-value.cpp b/options/base-value.cpp
index dbeabbea..d900ad0f 100644
--- a/options/base-value.cpp
+++ b/options/base-value.cpp
@@ -26,8 +26,7 @@ void value_::store(const QVariant& datum)
     b->store_kv(self_name, datum);
 }
 
-namespace options {
-namespace detail {
+namespace options::detail {
 
 void set_base_value_to_default(value_* val)
 {
@@ -35,5 +34,4 @@ void set_base_value_to_default(value_* val)
 }
 
 } // ns options::detail
-} // ns options
 
diff --git a/options/bundle.cpp b/options/bundle.cpp
index e0db3fb3..b722338b 100644
--- a/options/bundle.cpp
+++ b/options/bundle.cpp
@@ -14,10 +14,7 @@
 
 using options::value_;
 
-namespace options
-{
-
-namespace detail {
+namespace options::detail {
 
 bundle::bundle(const QString& group_name)
     : mtx(QMutex::Recursive),
@@ -152,7 +149,7 @@ void bundler::after_profile_changed_()
 
 void bundler::refresh_all_bundles()
 {
-    singleton().after_profile_changed_();
+    bundler_singleton().after_profile_changed_();
 }
 
 bundler::bundler() : implsgl_mtx(QMutex::Recursive)
@@ -164,7 +161,7 @@ bundler::~bundler()
     //qDebug() << "exit: bundle singleton";
 }
 
-std::shared_ptr<bundler::v> bundler::make_bundle(const bundler::k& key)
+std::shared_ptr<bundler::v> bundler::make_bundle_(const bundler::k& key)
 {
     QMutexLocker l(&implsgl_mtx);
 
@@ -193,7 +190,7 @@ std::shared_ptr<bundler::v> bundler::make_bundle(const bundler::k& key)
     return shr;
 }
 
-OTR_OPTIONS_EXPORT bundler& singleton()
+bundler& bundler::bundler_singleton()
 {
     static bundler ret;
     return ret;
@@ -201,14 +198,16 @@ OTR_OPTIONS_EXPORT bundler& singleton()
 
 QMutex* bundle::get_mtx() const { return mtx; }
 
-} // end options::detail
+} // ns options::detail
+
+namespace options {
 
 OTR_OPTIONS_EXPORT std::shared_ptr<bundle_> make_bundle(const QString& name)
 {
     if (name.size())
-        return detail::singleton().make_bundle(name);
+        return detail::bundler::bundler_singleton().make_bundle_(name);
     else
         return std::make_shared<bundle_>(QString());
 }
 
-} // end options
+} // ns options
diff --git a/options/bundle.hpp b/options/bundle.hpp
index 98e194db..a12a335c 100644
--- a/options/bundle.hpp
+++ b/options/bundle.hpp
@@ -27,11 +27,17 @@
 
 #include "export.hpp"
 
-namespace options {
+namespace options::detail {
+    class bundle;
+} // ns options::detail
 
-namespace detail {
+namespace options {
+    using bundle_ = detail::bundle;
+    using bundle = std::shared_ptr<bundle_>;
+    OTR_OPTIONS_EXPORT std::shared_ptr<detail::bundle> make_bundle(const QString& name);
+} // ns options
 
-void set_base_value_to_default(value_* val);
+namespace options::detail {
 
 struct bundler;
 
@@ -52,17 +58,18 @@ private:
     group saved;
     group transient;
 
+signals:
+    void reloading();
+    void saving() const;
+    void changed() const;
+
+public:
     bundle(const bundle&) = delete;
     bundle(bundle&&) = delete;
     bundle& operator=(bundle&&) = delete;
     bundle& operator=(const bundle&) = delete;
     QMutex* get_mtx() const override;
 
-signals:
-    void reloading();
-    void saving() const;
-    void changed() const;
-public:
     cc_noinline bundle(const QString& group_name);
     cc_noinline ~bundle() override;
     QString name() const { return group_name; }
@@ -82,32 +89,34 @@ public slots:
     void set_all_to_default();
 };
 
-OTR_OPTIONS_EXPORT bundler& singleton();
-
-struct OTR_OPTIONS_EXPORT bundler
+struct OTR_OPTIONS_EXPORT bundler final
 {
-public:
     using k = QString;
     using v = bundle;
     using weak = std::weak_ptr<v>;
     using shared = std::shared_ptr<v>;
+
 private:
     QMutex implsgl_mtx;
     std::map<k, weak> implsgl_data;
     void after_profile_changed_();
+
 public:
+    static void refresh_all_bundles();
+
+private:
+    friend OTR_OPTIONS_EXPORT
+    std::shared_ptr<v> options::make_bundle(const QString& name);
+
+    std::shared_ptr<v> make_bundle_(const k& key);
+
+    static bundler& bundler_singleton();
+
     bundler();
     ~bundler();
-    std::shared_ptr<v> make_bundle(const k& key);
-    static void refresh_all_bundles();
 };
 
-OTR_OPTIONS_EXPORT bundler& singleton();
-} // ns options::detail
-
-using bundle_ = detail::bundle;
-using bundle = std::shared_ptr<bundle_>;
+void set_base_value_to_default(value_* val);
 
-OTR_OPTIONS_EXPORT std::shared_ptr<bundle_> make_bundle(const QString& name);
+} // ns options::detail
 
-} // ns options
diff --git a/options/connector.cpp b/options/connector.cpp
index 2d039ccf..0efac8f1 100644
--- a/options/connector.cpp
+++ b/options/connector.cpp
@@ -11,8 +11,7 @@
 
 #include <utility>
 
-namespace options {
-namespace detail {
+namespace options::detail {
 
 static bool generic_is_equal(const QVariant& val1, const QVariant& val2)
 {
@@ -129,6 +128,4 @@ connector::connector()
 {
 }
 
-}
-
-}
+} // ns options::detail
diff --git a/options/connector.hpp b/options/connector.hpp
index 68e86096..26812e7f 100644
--- a/options/connector.hpp
+++ b/options/connector.hpp
@@ -21,10 +21,10 @@
 #include "export.hpp"
 
 namespace options {
+    class value_;
+}
 
-class value_;
-
-namespace detail {
+namespace options::detail {
 
 class OTR_OPTIONS_EXPORT connector
 {
@@ -67,5 +67,4 @@ public:
     connector& operator=(connector&&) = default;
 };
 
-} // ns detail
-} // ns options
+} // ns options::detail
diff --git a/options/defs.hpp b/options/defs.hpp
index 58846cc3..2467a7a0 100644
--- a/options/defs.hpp
+++ b/options/defs.hpp
@@ -24,8 +24,7 @@
 
 #define OPENTRACK_DEFINE_METATYPE(t) OPENTRACK_DEFINE_METATYPE2(t, __COUNTER__)
 
-namespace options {
-namespace detail {
+namespace options::detail {
 
 struct custom_type_initializer final
 {
@@ -39,4 +38,4 @@ struct custom_type_initializer final
 };
 
 } // ns options::detail
-} // ns options
+
diff --git a/options/slider.cpp b/options/slider.cpp
index 4f4124c6..56d9ba16 100644
--- a/options/slider.cpp
+++ b/options/slider.cpp
@@ -24,8 +24,21 @@ slider_value::slider_value(double cur, double min, double max) :
         cur_ = min_;
 }
 
-slider_value::slider_value(const slider_value& v) : slider_value(v.cur(), v.min(), v.max())
+slider_value& slider_value::operator=(const slider_value& v)
 {
+    if (this != &v)
+    {
+        cur_ = v.cur();
+        min_ = v.min();
+        max_ = v.max();
+    }
+
+    return *this;
+}
+
+slider_value::slider_value(const slider_value& v)
+{
+    *this = v;
 }
 
 slider_value::slider_value() : slider_value(0, 0, 0)
diff --git a/options/slider.hpp b/options/slider.hpp
index 6c9c5a23..360c85b8 100644
--- a/options/slider.hpp
+++ b/options/slider.hpp
@@ -40,6 +40,8 @@ namespace options
             return t(cur_);
         }
 
+        slider_value& operator=(const slider_value& v);
+
         slider_value(const slider_value& v);
         slider_value();
         bool operator==(const slider_value& v) const;
diff --git a/options/value-traits.hpp b/options/value-traits.hpp
index 0b30248e..b507874c 100644
--- a/options/value-traits.hpp
+++ b/options/value-traits.hpp
@@ -8,8 +8,7 @@
 
 #include <type_traits>
 
-namespace options {
-namespace detail {
+namespace options::detail {
 
 template<typename t, typename u = t, typename Enable = void>
 struct default_value_traits
@@ -49,5 +48,5 @@ struct value_traits<float> : public default_value_traits<float, double, void>
 {
 };
 
-} // ns detail
-} // ns options
+} // ns options::detail
+
-- 
cgit v1.2.3