From: Anuj Kumar Singh Date: Fri, 9 Dec 2022 08:20:10 +0000 (+0530) Subject: Add edit box of device name in Detail View. X-Git-Tag: accepted/tizen/unified/20230103.054909~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F45%2F285345%2F4;p=profile%2Fiot%2Fapps%2Fdotnet%2Fsetting-bluetooth.git Add edit box of device name in Detail View. Change-Id: I34d31ecfb1a1ef20e2ee056bd99be4474e8a3189 Signed-off-by: Anuj Kumar Singh --- diff --git a/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs b/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs index f2b7aa2..92c1a9f 100644 --- a/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs +++ b/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs @@ -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(); + } } } diff --git a/packaging/org.tizen.cssetting-bluetooth-1.0.0.tpk b/packaging/org.tizen.cssetting-bluetooth-1.0.0.tpk index ed1d5ee..3db2709 100644 Binary files a/packaging/org.tizen.cssetting-bluetooth-1.0.0.tpk and b/packaging/org.tizen.cssetting-bluetooth-1.0.0.tpk differ