replace from picker to radiobuttongroup 67/299667/1
authorulgal-park <ulgal.park@samsung.com>
Thu, 5 Oct 2023 02:26:32 +0000 (11:26 +0900)
committerSeongmin Park <ulgal.park@samsung.com>
Fri, 6 Oct 2023 08:16:37 +0000 (08:16 +0000)
Change-Id: I29fb51d3583fc556e0f5b9a941294b36400fc5d4
(cherry picked from commit 554bfac3812d84845d334622fd500b91be6aa120)

SettingVoiceControl/SettingVoiceControl/EngineMenu.cs
SettingVoiceControl/SettingVoiceControl/LanguageMenu.cs

index 883ea5b..d36da28 100644 (file)
@@ -4,6 +4,8 @@ using System.Collections.Generic;
 using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Components;
+using SettingCore;
+using SettingCore.Views;
 using SettingVoiceControl.TextResources;
 
 namespace SettingVoiceControl
@@ -16,7 +18,7 @@ namespace SettingVoiceControl
 
         private VoiceSettingManager mVoiceSettingManager;
         private Dictionary<string, string> engineDictionary = null;
-        private Picker mPicker;
+        private View content;
 
 
         protected override View OnCreate()
@@ -25,7 +27,7 @@ namespace SettingVoiceControl
 
             mVoiceSettingManager = VoiceSettingManager.Instance;
 
-            var scrollableContent = new ScrollableBase()
+            content = new ScrollableBase()
             {
                 WidthSpecification = LayoutParamPolicies.MatchParent,
                 HeightSpecification = LayoutParamPolicies.MatchParent,
@@ -34,7 +36,6 @@ namespace SettingVoiceControl
                 Layout = new LinearLayout()
                 {
                     LinearOrientation = LinearLayout.Orientation.Vertical,
-                    VerticalAlignment = VerticalAlignment.Center,
                     HorizontalAlignment = HorizontalAlignment.Center,
                 },
             };
@@ -42,73 +43,54 @@ namespace SettingVoiceControl
             TextLabel description = new TextLabel()
             {
                 Text = NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_OPT_ENGINE)),
-                HorizontalAlignment = HorizontalAlignment.Center,
             };
 
-            scrollableContent.Add(description);
+            content.Add(description);
 
             try {
                 List<Dictionary<string, string>> engs = mVoiceSettingManager.VcSettingMgrGetEngineList();
                 string selectedEngine = mVoiceSettingManager.VcSettingMgrGetCurrentEngine();
                 engineDictionary = new Dictionary<string, string>();
-                List<string> pickerDisplayedValues = new List<string>();
-                var currentPickerIdx = 0;
+                List<string> engineNameLists = new List<string>();
+                var currentIdx = -1;
                 for (int i = 0; i < engs.Count; i++)
                 {
                     string engineName, engineAppId;
                     engs[i].TryGetValue("engine_name", out engineName);
                     engs[i].TryGetValue("engine_appid", out engineAppId);
                     engineDictionary.Add(engineName, engineAppId);
-                    pickerDisplayedValues.Add(engineName);
+                    engineNameLists.Add(engineName);
                     if (selectedEngine == engineAppId)
                     {
-                        currentPickerIdx = i + 1;
+                        currentIdx = i;
                     }
                 }
-                mPicker = new Picker()
+
+                RadioButtonGroup radioButtonGroup = new RadioButtonGroup();
+                for (int i = 0; i < engineNameLists.Count; i++)
                 {
-                    MinValue = 1,
-                    MaxValue = pickerDisplayedValues.Count,
-                    CurrentValue = currentPickerIdx,
-                    DisplayedValues = new ReadOnlyCollection<string>(pickerDisplayedValues),
-                    SizeWidth = (float)(NUIApplication.GetDefaultWindow().Size.Width * 0.7),
-                    SizeHeight = (float)(NUIApplication.GetDefaultWindow().WindowSize.Height * 0.54),
-                };
+                    RadioButtonListItem item = new RadioButtonListItem(engineNameLists[i]);
+                    item.RadioButton.IsSelected = i.Equals(currentIdx);
+
+                    radioButtonGroup.Add(item.RadioButton);
+                    content.Add(item);
+                }
 
-                mPicker.ValueChanged += (sender, e) =>
+                radioButtonGroup.SelectedChanged += (sender, e) =>
                 {
-                    Tizen.Log.Debug(LogTag, "current index : " + e.Value.ToString());
+                    var selectedEngineName = engineNameLists[radioButtonGroup.SelectedIndex];
+                    mVoiceSettingManager.VcSettingMgrSetEngine(engineDictionary[selectedEngineName]);
                 };
-                scrollableContent.Add(mPicker);
-            } catch (Exception e)
+
+            }
+            catch (Exception e)
             {
                 Tizen.Log.Error(LogTag, e.Message);
             }
 
-            var button = new Button()
-            {
-                Text = "OK",
-            };
-
-            button.Clicked += (sender, e) =>
-            {
-                ReadOnlyCollection<string> displayedValuesList = mPicker.DisplayedValues;
-                try {
-                    if(mPicker.CurrentValue >= mPicker.MinValue || mPicker.CurrentValue <= mPicker.MaxValue)
-                    {
-                        var eng = displayedValuesList[mPicker.CurrentValue - 1];
-                        mVoiceSettingManager.VcSettingMgrSetEngine(engineDictionary[eng]);
-                    }
-                } catch (Exception exception) {
-                    Tizen.Log.Error(LogTag, exception.Message);
-                }
-
-                NavigateBack();
-            };
 
-            scrollableContent.Add(button);
 
-            return scrollableContent;
+            return content;
         }
     }
 }
\ No newline at end of file
index f0c6b67..79673fb 100644 (file)
@@ -4,6 +4,8 @@ using System.Collections.Generic;
 using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Components;
+using SettingCore;
+using SettingCore.Views;
 using SettingVoiceControl.TextResources;
 
 namespace SettingVoiceControl
@@ -16,9 +18,7 @@ namespace SettingVoiceControl
 
         private VoiceSettingManager mVoiceSettingManager;
         private VoiceSettingLanguageConverter mVoiceSettingLanguageConverter = null;
-        private Picker mPicker;
-        private int mPickerIdx = 0;
-        private int mCurrentIdx = -1;
+        private View content;
 
 
         protected override View OnCreate()
@@ -28,7 +28,7 @@ namespace SettingVoiceControl
             mVoiceSettingManager = VoiceSettingManager.Instance;
             mVoiceSettingLanguageConverter = new VoiceSettingLanguageConverter();
 
-            var scrollableContent = new ScrollableBase()
+            content = new ScrollableBase()
             {
                 WidthSpecification = LayoutParamPolicies.MatchParent,
                 HeightSpecification = LayoutParamPolicies.MatchParent,
@@ -37,7 +37,6 @@ namespace SettingVoiceControl
                 Layout = new LinearLayout()
                 {
                     LinearOrientation = LinearLayout.Orientation.Vertical,
-                    VerticalAlignment = VerticalAlignment.Center,
                     HorizontalAlignment = HorizontalAlignment.Center,
                 },
             };
@@ -45,84 +44,58 @@ namespace SettingVoiceControl
             TextLabel description = new TextLabel()
             {
                 Text = NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_OPT_LANGUAGE)),
-                HorizontalAlignment = HorizontalAlignment.Center,
             };
 
-            scrollableContent.Add(description);
+            content.Add(description);
 
             try {
                 List<string> langs = mVoiceSettingManager.VcSettingMgrGetLanguageList();
 
-                List<string> pickerDisplayedValues = new List<string>();
-                pickerDisplayedValues.Add(NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_USE_SYSTEM_LANGUAGE)));
+                List<string> languageNameLists = new List<string>();
+                languageNameLists.Add(NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_USE_SYSTEM_LANGUAGE)));
                 Tizen.Log.Debug(LogTag, "language count : " + langs.Count.ToString());
-
+                var currentIdx = -1;
                 for (int i = 0; i < langs.Count; i++)
                 {
-                    pickerDisplayedValues.Add(mVoiceSettingLanguageConverter.VoiceSettingLanguageConvertIdToLang(langs[i]));
+                    languageNameLists.Add(mVoiceSettingLanguageConverter.VoiceSettingLanguageConvertIdToLang(langs[i]));
                 }
 
                 if (mVoiceSettingManager.VcSettingMgrGetAutoLanguage())
                 {
-                    mPickerIdx = 1;
+                    currentIdx = 0;
                 }
                 else
                 {
                     string currentLanguage = mVoiceSettingLanguageConverter.VoiceSettingLanguageConvertIdToLang(mVoiceSettingManager.VcSettingMgrGetCurrentLanguage());
-                    mPickerIdx = pickerDisplayedValues.IndexOf(currentLanguage) + 1;
+                    currentIdx = languageNameLists.IndexOf(currentLanguage);
                 }
 
-                mPicker = new Picker()
+                RadioButtonGroup radioButtonGroup = new RadioButtonGroup();
+                for (int i = 0; i < languageNameLists.Count; i++)
                 {
-                    SizeWidth = (float)(NUIApplication.GetDefaultWindow().Size.Width * 0.7),
-                    SizeHeight = (float)(NUIApplication.GetDefaultWindow().WindowSize.Height * 0.54),
-                    MinValue = 1,
-                    MaxValue = pickerDisplayedValues.Count,
-                    CurrentValue = mPickerIdx,
-                    DisplayedValues = new ReadOnlyCollection<string>(pickerDisplayedValues),
-                };
+                    RadioButtonListItem item = new RadioButtonListItem(languageNameLists[i]);
+                    item.RadioButton.IsSelected = i.Equals(currentIdx);
 
-                mPicker.ValueChanged += (sender, e) =>
+                    radioButtonGroup.Add(item.RadioButton);
+                    content.Add(item);
+                }
+
+                radioButtonGroup.SelectedChanged += (sender, e) =>
                 {
-                    Tizen.Log.Debug(LogTag, "current index : " + e.Value.ToString());
-                    mCurrentIdx = e.Value - 1;
+                    if (radioButtonGroup.SelectedIndex == 0)
+                    {
+                        mVoiceSettingManager.VcSettingMgrSetAutoLanguage(true);
+                        return;
+                    }
+                    var selectedEngineName = languageNameLists[radioButtonGroup.SelectedIndex];
+                    mVoiceSettingManager.VcSettingMgrSetLanguage(mVoiceSettingLanguageConverter.VoiceSettingLanguageConvertLangToId(selectedEngineName));
                 };
+
             } catch (Exception e) {
                 Tizen.Log.Error(LogTag, e.Message);
             }
 
-            var button = new Button()
-            {
-                Text = "OK",
-            };
-
-            button.Clicked += (sender, e) =>
-            {
-                ReadOnlyCollection<string> displayedValuesList = mPicker.DisplayedValues;
-                try {
-                    if(mCurrentIdx > -1 || mCurrentIdx < displayedValuesList.Count)
-                    {
-                        var lang = displayedValuesList[mCurrentIdx];
-                        if (lang == NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_USE_SYSTEM_LANGUAGE)))
-                        {
-                            mVoiceSettingManager.VcSettingMgrSetAutoLanguage(true);
-                        }
-                        else
-                        {
-                            mVoiceSettingManager.VcSettingMgrSetLanguage(mVoiceSettingLanguageConverter.VoiceSettingLanguageConvertLangToId(lang));
-                        }
-                    }
-                } catch (Exception exception) {
-                    Tizen.Log.Error(LogTag, exception.Message);
-                }
-
-                NavigateBack();
-            };
-
-            scrollableContent.Add(mPicker);
-            scrollableContent.Add(button);
-
-            return scrollableContent;
+            return content;
         }
     }
 }
\ No newline at end of file