Add edit box of device name in Detail View. 45/285345/4
authorAnuj Kumar Singh <anujk.singh@samsung.com>
Fri, 9 Dec 2022 08:20:10 +0000 (13:50 +0530)
committerAnuj Kumar Singh <anujk.singh@samsung.com>
Thu, 15 Dec 2022 10:21:46 +0000 (15:51 +0530)
Change-Id: I34d31ecfb1a1ef20e2ee056bd99be4474e8a3189
Signed-off-by: Anuj Kumar Singh <anujk.singh@samsung.com>
SettingBluetooth/SettingBluetooth/View/BtDetailView.cs
packaging/org.tizen.cssetting-bluetooth-1.0.0.tpk

index f2b7aa2e25f997734752073b4bb40cf5f1d8e8ae..92c1a9fabab9c52cc2f17588165331d2da9cbf9f 100644 (file)
@@ -14,6 +14,7 @@ namespace SettingBluetooth
     {
         static View mDetailView;
         static ContentPage mDetailPage;
+        static string mBtDeviceName;
 
         internal static void CreateDetailView(Device device)
         {
@@ -41,6 +42,8 @@ namespace SettingBluetooth
                 Text = device.Name,
                 SubText = Resources.IDS_BT_BODY_DEVICENAME,
             };
+            mBtDeviceName = device.Name;
+            deviceName.Clicked += OnDeviceNameClicked;
             mDetailView.Add(deviceName);
 
             var unpairButton = new DefaultLinearItem()
@@ -97,5 +100,86 @@ namespace SettingBluetooth
 
             window.GetDefaultNavigator().Push(mDetailPage);
         }
+
+        private static void OnDeviceNameClicked(object sender, ClickedEventArgs e)
+        {
+            DefaultLinearItem deviceItem = (DefaultLinearItem)sender;
+            var device = deviceItem.BindingContext as Device;
+            Window window = NUIApplication.GetDefaultWindow();
+            var connectPage = new RenamePage(device);
+            mBtDeviceName =  connectPage.CreateComponents(mBtDeviceName);
+            window.GetDefaultNavigator().Push(connectPage);
+        }
+    }
+
+    internal class RenamePage : DialogPage
+    {
+        TextField mRenameField;
+        Device mDevice;
+        private static void PopDialog()
+        {
+            Navigator navigator = NUIApplication.GetDefaultWindow().GetDefaultNavigator();
+            navigator?.Pop();
+        }
+
+        internal RenamePage(Device device)
+        {
+            mDevice = device;
+        }
+
+        internal TextField CreateRenameField(string deviceName)
+        {
+            var mRenameField = new TextField()
+            {
+                Text = deviceName,
+                WidthSpecification = 400,
+            };
+            return mRenameField;
+        }
+
+        internal string CreateComponents(string deviceName)
+        {
+            mRenameField = CreateRenameField(deviceName);
+            var cancelButton = new Button()
+            {
+                Text = "Cancel",
+            };
+            cancelButton.Clicked += OnCancelClicked;
+
+            var renameButton = new Button()
+            {
+                Text = "Rename",
+            };
+            renameButton.Clicked += OnRenameClicked;
+
+            Content = new AlertDialog()
+            {
+                Title = "Rename device",
+                Content = mRenameField,
+                Actions = new View[] { cancelButton, renameButton,},
+            };
+            return mRenameField.Text;
+        }
+
+        private void OnCancelClicked(object source, ClickedEventArgs args)
+        {
+            Navigator.Pop();
+        }
+
+        private void OnRenameClicked(object source, ClickedEventArgs args)
+        {
+            try
+            {
+                Log.Debug(Program.LogTag, "Old Name " + mDevice.Name + " field value; " + mRenameField.Text);
+                mDevice.Name = mRenameField.Text;
+                Log.Debug(Program.LogTag, "New Name " + mDevice.Name);
+                Navigator.Pop();
+            }
+            catch(Exception e)
+            {
+                Log.Debug(Program.LogTag, "Exception : " + e.Message);
+            }
+            Navigator.Pop();
+        }
     }
 }
index ed1d5eef91ecdb694100050846f82a300978ba50..3db2709ecf038afe234316b46b32df0391de9f9c 100644 (file)
Binary files a/packaging/org.tizen.cssetting-bluetooth-1.0.0.tpk and b/packaging/org.tizen.cssetting-bluetooth-1.0.0.tpk differ