#include "AccessoriesSwitchesPage.hpp"
#include "setting-accessibility.h"
-#include "setting-accessibility-universal-switch-action.h"
#include <app.h>
return;
}
- setting_accessibility_universal_switch_action_page_create(ad);
+ ad->actionPage_ = std::make_unique<ActionPage>(ad);
elm_naviframe_item_pop_cb_set(elm_naviframe_top_item_get(ad->md.getNaviframe()), renewCaptureSwitchCb, ad);
- setting_accessibility_universal_switch_action_callback_attach(ad, accessorySwitchActionCb, (void *)strdup(switch_name));
+ ActionPage::attachCallback(ad, accessorySwitchActionCb, (void *)strdup(switch_name));
} else {
renewCaptureSwitchCb(ad, NULL);
}
--- /dev/null
+#include "ActionPage.hpp"
+
+#include "setting-accessibility.h"
+#include "setting-accessibility-universal-switch-settings-set-value.h"
+
+#include <app.h>
+
+static switch_action_cb _action_cb;
+static void *_action_user_data = NULL;
+
+ActionPage::ActionPage(SettingAccessibility *ad)
+{
+ retm_if(ad == NULL, "Input parameter is NULL");
+
+ setting_accessibility_universal_switch_settings_set_value_page_create(ad, VT_RADIOS, _(DEVOPTION_STR_ACCESSIBILITY_UNIVERSAL_SWITCH_SELECT_ACTION));
+ setting_accessibility_universal_switch_settings_set_value_add_radio_item_change_cb(ad, actionChangedCb);
+
+ for (auto i = 0u; i < ad->config.activity_types.size(); ++i)
+ setting_accessibility_universal_switch_settings_set_value_radio_item_add(ad, ad->config.activity_types[i]->name, i, false);
+}
+
+void ActionPage::actionChangedCb(SettingAccessibility *ad, int item_id)
+{
+ retm_if(ad == NULL, "Input parameter is NULL");
+
+ if (item_id < 0 || item_id >= ad->config.activity_types.size()) {
+ SETTING_TRACE_END;
+ return;
+ }
+
+ auto activity = ad->config.activity_types[item_id];
+ // SETTING_TRACE_DEBUG("Selected activity type, id: %s, name: %s, description: %s", activity->id, activity->name, activity->description);
+ if (_action_cb)
+ _action_cb(ad, activity->id, _action_user_data);
+}
+
+void ActionPage::attachCallback(SettingAccessibility *ad, switch_action_cb cb, void *user_data)
+{
+ _action_cb = cb;
+ _action_user_data = user_data;
+}
--- /dev/null
+#ifndef ACTION_PAGE_HPP
+#define ACTION_PAGE_HPP
+
+#include "SettingAccessibility.hpp"
+
+class ActionPage
+{
+public:
+ using switch_action_cb = void (*)(SettingAccessibility *ad, const std::string& action, void *user_data); //TODO probably to remove
+ ActionPage(SettingAccessibility *ad);
+ static void attachCallback(SettingAccessibility *ad, switch_action_cb cb, void *user_data);
+
+private:
+ static void actionChangedCb(SettingAccessibility *ad, int item_id);
+
+};
+
+#endif
#include "CameraSwitchesPage.hpp"
-#include "setting-accessibility-universal-switch-action.h"
+#include "setting-accessibility.h"
#include <app.h>
SETTING_TRACE_DEBUG("Camera switch, id: %s, name: %s", camera_switch->id, camera_switch->name);
- setting_accessibility_universal_switch_action_page_create(ad);
- setting_accessibility_universal_switch_action_callback_attach(ad, switchActionCb, camera_switch);
+ ad->actionPage_ = std::make_unique<ActionPage>(ad);
+ ActionPage::attachCallback(ad, switchActionCb, camera_switch);
}
void CameraSwitchesPage::switchActionCb(SettingAccessibility *ad, const std::string& action, void *user_data)
#include "ScreenSwitchPage.hpp"
#include "setting-accessibility.h"
-#include "setting-accessibility-universal-switch-action.h"
ScreenSwitchPage::ScreenSwitchPage(SettingAccessibility *ad)
{
retm_if(ad == NULL, "Input parameter is NULL");
- setting_accessibility_universal_switch_action_page_create(ad);
- setting_accessibility_universal_switch_action_callback_attach(ad, actionCb, NULL);
+ ad->actionPage_ = std::make_unique<ActionPage>(ad);
+ ActionPage::attachCallback(ad, actionCb, NULL);
}
void ScreenSwitchPage::attachActionCallback(SettingAccessibility *ad, UniversalSwitchUpdateCb cb)
#include "UpdateSwitchPage.hpp"
#include "RemoveSwitchPage.hpp"
#include "SwitchesPage.hpp"
+#include "ActionPage.hpp"
#include <tts.h>
class UpdateSwitchPage;
class RemoveSwitchPage;
class SwitchesPage;
+class ActionPage;
+
+typedef void (*switch_action_cb)(SettingAccessibility *ad, const std::string& action, void *user_data);
typedef void (*back_cb)(SettingAccessibility *ad);
std::unique_ptr<UpdateSwitchPage> updateSwitchPage_;
std::unique_ptr<RemoveSwitchPage> removeSwitchPage_;
std::unique_ptr<SwitchesPage> switchesPage_;
+ std::unique_ptr<ActionPage> actionPage_;
};
#endif
#include "setting-accessibility.h"
#include "setting-accessibility-universal-switch-settings-set-value.h"
-#include "setting-accessibility-universal-switch-action.h"
UpdateSwitchPage::UpdateSwitchPage(SettingAccessibility *ad, UniversalSwitchConfigurationItem *config_item)
{
ad->config_item_to_update.user_name = config_item->user_name;
setting_accessibility_universal_switch_settings_create_update_accesories_switch_page(ad);
} else {
- setting_accessibility_universal_switch_action_page_create(ad);
- setting_accessibility_universal_switch_action_callback_attach(ad, onActionUpdate, config_item);
+ ad->actionPage_ = std::make_unique<ActionPage>(ad);
+ ActionPage::attachCallback(ad, onActionUpdate, config_item);
}
}
+++ /dev/null
-/*
- * accessibility
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Contact: Michal Pawluk <m.pawluk@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <efl_extension.h>
-
-#include "setting-accessibility-universal-switch-action.h"
-#include "setting-accessibility-universal-switch-settings-set-value.h"
-#include "setting-accessibility-universal-switch-dbus.h"
-
-#include <app.h>
-
-static switch_action_cb _action_cb;
-static void *_action_user_data = NULL;
-
-static void __action_changed_cb(SettingAccessibility *ad, int item_id)
-{
-
- retm_if(ad == NULL, "Input parameter is NULL");
-
- if (item_id < 0 || item_id >= ad->config.activity_types.size()) {
- SETTING_TRACE_END;
- return;
- }
-
- auto activity = ad->config.activity_types[item_id];
- // SETTING_TRACE_DEBUG("Selected activity type, id: %s, name: %s, description: %s", activity->id, activity->name, activity->description);
- if (_action_cb)
- _action_cb(ad, activity->id, _action_user_data);
-
-
-}
-
-void setting_accessibility_universal_switch_action_page_create(SettingAccessibility *ad)
-{
-
- retm_if(ad == NULL, "Input parameter is NULL");
-
- setting_accessibility_universal_switch_settings_set_value_page_create(ad, VT_RADIOS, _(DEVOPTION_STR_ACCESSIBILITY_UNIVERSAL_SWITCH_SELECT_ACTION));
- setting_accessibility_universal_switch_settings_set_value_add_radio_item_change_cb(ad, __action_changed_cb);
-
- for (auto i = 0u; i < ad->config.activity_types.size(); ++i)
- setting_accessibility_universal_switch_settings_set_value_radio_item_add(ad, ad->config.activity_types[i]->name, i, false);
-}
-
-void setting_accessibility_universal_switch_action_callback_attach(SettingAccessibility *ad, switch_action_cb cb, void *user_data)
-{
-
-
- _action_cb = cb;
- _action_user_data = user_data;
-
-
-}
+++ /dev/null
-#ifndef SETTINGACCESSIBILITYUNIVERSALSWITCHACTION_H
-#define SETTINGACCESSIBILITYUNIVERSALSWITCHACTION_H
-
-#include "setting-accessibility.h"
-
-void setting_accessibility_universal_switch_action_page_create(SettingAccessibility *ad);
-void setting_accessibility_universal_switch_action_callback_attach(SettingAccessibility *ad, switch_action_cb cb, void *user_data);
-
-#endif /* SETTINGACCESSIBILITYUNIVERSALSWITCHACTION_H */
-
#include <efl_extension.h>
#include "setting-accessibility-universal-switch-settings-set-value.h"
-#include "setting-accessibility-universal-switch-action.h"
#include "setting-accessibility-universal-switch-settings.h"
#include <app.h>
SettingAccessibility *ad = (SettingAccessibility *)data;
retm_if(ad == NULL, "Data argument is NULL");
- setting_accessibility_universal_switch_action_page_create(ad);
- setting_accessibility_universal_switch_action_callback_attach(ad, __update_accessible_switch_choose_action, ad);
+ ad->actionPage_ = std::make_unique<ActionPage>(ad);
+ ActionPage::attachCallback(ad, __update_accessible_switch_choose_action, NULL);
}
#include <app_preference.h>
#include "setting-accessibility-universal-switch.h"
#include "setting-accessibility-universal-switch-settings.h"
-#include "setting-accessibility-universal-switch-action.h"
#include <vconf.h>
#include <app.h>
typedef enum {MANAGE_GESTURES, MANAGE_ACTIONS, MANAGE_SETTINGS, MANAGE_RECENT_APPS,
MANAGE_HOME_SCREEN, MANAGE_BACK, MANAGE_BUTTONS_AND_KEYS, MANAGE_CONTEXTUAL_MENU} manage_options_type_t;
-struct SettingAccessibility;
-
-typedef void (*switch_action_cb)(SettingAccessibility *ad, const std::string& action, void *user_data);
-
extern setting_view setting_view_accessibility_main;
#endif /*__SETTING_ACCESSIBILITY_H__ */