ToggleBoolVconfKeyActivity template 75/158075/2
authorPawel Kurowski <p.kurowski2@samsung.com>
Fri, 27 Oct 2017 15:30:19 +0000 (17:30 +0200)
committerLukasz Oleksak <l.oleksak@samsung.com>
Mon, 30 Oct 2017 17:31:19 +0000 (17:31 +0000)
Refactor:
ToggleVoiceFeedbackEnabledActivity
ToggleSoundFeedbackEnabledActivity

Add:
ToggleAutoScrollEnabledActivity

Change-Id: I53b5046af34162f0f98671d5ecac96ea0fe420bc

src/MenuBuilder.cpp
src/ToggleBoolVconfKeyActivity.cpp [new file with mode: 0644]
src/ToggleSoundFeedbackEnabledActivity.cpp [deleted file]
src/ToggleVoiceFeedbackEnabledActivity.cpp [deleted file]

index 9d54bca..29d1d45 100644 (file)
@@ -341,8 +341,11 @@ MenuBuilderImplementation::MenuBuilderImplementation()
        auto turnOnOffAutoScroll        =       std::make_shared<VconfBoolTypeMenuItem>(
                                                                                std::vector<std::string> {"IDS_TURN_ON_AUTO_SCROLL", "IDS_TURN_OFF_AUTO_SCROLL"},
                                                                                defaultImg,
-                                                                               std::string {},/*TODO add activity*/
-                                                                               std::vector<std::string> {VCONF_KEY_AUTO_SCROLL_ENABLED});
+                                                                               "TOGGLE_AUTO_SCROLL_ENABLED_ACTIVITY",
+                                                                               std::vector<std::string> {VCONF_KEY_AUTO_SCROLL_ENABLED},
+                                                                               std::string {},
+                                                                               std::string {},
+                                                                               RepetitionPolicy::multiple);
        auto speedUpAutoScroll          =       std::make_shared<MenuItemImplementation>(
                                                                                std::vector<std::string> {"IDS_SPEED_UP_AUTO_SCROLL"},
                                                                                defaultImg);
diff --git a/src/ToggleBoolVconfKeyActivity.cpp b/src/ToggleBoolVconfKeyActivity.cpp
new file mode 100644 (file)
index 0000000..bcd7d2e
--- /dev/null
@@ -0,0 +1,41 @@
+#include "Activity.hpp"
+#include "ActivityFactory.hpp"
+#include "VConf.hpp"
+#include "VConfKeys.hpp"
+
+template <typename DerivedType>
+class ToggleBoolVconfKeyActivity : public Activity, private RegisterActivity<DerivedType>
+{
+public:
+       constexpr static const char *activityType = DerivedType::activityType;
+       ToggleBoolVconfKeyActivity() : Activity(activityType)
+       {}
+
+       void process() override
+       {
+               auto isEnabled = Singleton<VConfInterface>::instance().get(DerivedType::KEY, false);
+               Singleton<VConfInterface>::instance().set(DerivedType::KEY, !isEnabled);
+               markAsCompleted();
+       }
+};
+
+class ToggleVoiceFeedbackEnabledActivity : public ToggleBoolVconfKeyActivity<ToggleVoiceFeedbackEnabledActivity>
+{
+public:
+       static constexpr const char *activityType = "TOGGLE_VOICE_FEEDBACK_ENABLED_ACTIVITY";
+       static constexpr const char *KEY = VCONF_KEY_FEEDBACK_VOICE_ENABLED;
+};
+
+class ToggleSoundFeedbackEnabledActivity : public ToggleBoolVconfKeyActivity<ToggleSoundFeedbackEnabledActivity>
+{
+public:
+       static constexpr const char *activityType = "TOGGLE_SOUND_FEEDBACK_ENABLED_ACTIVITY";
+       static constexpr const char *KEY = VCONF_KEY_FEEDBACK_SOUND_ENABLED;
+};
+
+class ToggleAutoScrollEnabledActivity : public ToggleBoolVconfKeyActivity<ToggleAutoScrollEnabledActivity>
+{
+public:
+       static constexpr const char *activityType = "TOGGLE_AUTO_SCROLL_ENABLED_ACTIVITY";
+       static constexpr const char *KEY = VCONF_KEY_AUTO_SCROLL_ENABLED;
+};
diff --git a/src/ToggleSoundFeedbackEnabledActivity.cpp b/src/ToggleSoundFeedbackEnabledActivity.cpp
deleted file mode 100644 (file)
index ecc79d3..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "Activity.hpp"
-#include "ActivityFactory.hpp"
-#include "VConf.hpp"
-#include "VConfKeys.hpp"
-
-class ToggleSoundFeedbackEnabledActivity : public Activity, private RegisterActivity<ToggleSoundFeedbackEnabledActivity>
-{
-public:
-       constexpr static const char *activityType = "TOGGLE_SOUND_FEEDBACK_ENABLED_ACTIVITY";
-       ToggleSoundFeedbackEnabledActivity()
-               : Activity(activityType)
-       {}
-
-       void process() override
-       {
-               auto isEnabled = Singleton<VConfInterface>::instance().get(VCONF_KEY_FEEDBACK_SOUND_ENABLED, false);
-               Singleton<VConfInterface>::instance().set(VCONF_KEY_FEEDBACK_SOUND_ENABLED, !isEnabled);
-               markAsCompleted();
-       }
-};
diff --git a/src/ToggleVoiceFeedbackEnabledActivity.cpp b/src/ToggleVoiceFeedbackEnabledActivity.cpp
deleted file mode 100644 (file)
index 89d9d93..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "Activity.hpp"
-#include "ActivityFactory.hpp"
-#include "UniversalSwitchLog.hpp"
-#include "VConf.hpp"
-#include "VConfKeys.hpp"
-
-
-class ToggleVoiceFeedbackEnabledActivity : public Activity, private RegisterActivity<ToggleVoiceFeedbackEnabledActivity>
-{
-public:
-       constexpr static const char *activityType = "TOGGLE_VOICE_FEEDBACK_ENABLED_ACTIVITY";
-       ToggleVoiceFeedbackEnabledActivity()
-               : Activity(activityType)
-       {}
-
-       void process() override
-       {
-               auto isEnabled = Singleton<VConfInterface>::instance().get(VCONF_KEY_FEEDBACK_VOICE_ENABLED, true);
-               Singleton<VConfInterface>::instance().set(VCONF_KEY_FEEDBACK_VOICE_ENABLED, !isEnabled);
-               markAsCompleted();
-       }
-};