From: Akash Kumar Date: Tue, 9 May 2023 10:43:02 +0000 (+0530) Subject: Implement Ip Settings detail input dialog in "Add network" X-Git-Tag: accepted/tizen/unified/20230528.171046~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F35%2F292535%2F1;p=profile%2Fiot%2Fapps%2Fdotnet%2Fsetting-wifi.git Implement Ip Settings detail input dialog in "Add network" Change-Id: I4d0db6b902bca6c88e4b90fddbddf34d42b7c878 Signed-off-by: Akash Kumar --- diff --git a/SettingWiFi/SettingWiFi/view/AddNetworkInfoInputPage.cs b/SettingWiFi/SettingWiFi/view/AddNetworkInfoInputPage.cs index 564db59..a5dc0c6 100644 --- a/SettingWiFi/SettingWiFi/view/AddNetworkInfoInputPage.cs +++ b/SettingWiFi/SettingWiFi/view/AddNetworkInfoInputPage.cs @@ -238,6 +238,18 @@ namespace SettingWiFi { mSelectedIndex = i; Debug("Selected index: " + mSelectedIndex); + CreateIpSettingsInfoPage(); + } + } + + private void CreateIpSettingsInfoPage() + { + if (mTitle == Resources.IDS_WIFI_BODY_IP_SETTINGS && mSelectedIndex == 0) + { + Debug(""); + IPSettingsInfoPage page = new IPSettingsInfoPage(mAddItem); + page.CreateComponents(Resources.IDS_WIFI_BODY_IP_SETTINGS); + NUIApplication.GetDefaultWindow().GetDefaultNavigator().Push(page); } } @@ -298,4 +310,91 @@ namespace SettingWiFi } } } + + class IPSettingsInfoPage : DialogPage + { + private AddNetworkItem mAddNetworkItem; + private string mTitle; + TextField[] infoFields; + string[] infoFieldTitles; + internal IPSettingsInfoPage(AddNetworkItem item) + { + Debug("IPSettingsInfoPage"); + mAddNetworkItem = item; + infoFields = new TextField[5]; + infoFieldTitles = new string[] + { + Resources.IDS_WIFI_BODY_IP_ADDRESS, + Resources.IDS_WIFI_BODY_GATEWAY, + Resources.IDS_ST_BODY_NETWORK_PREFIX_LENGTH, + Resources.IDS_WIFI_BODY_DNS_1, + Resources.IDS_WIFI_BODY_DNS_2 + }; + } + + internal void CreateComponents(string title) + { + mTitle = title; + var infoView = new View() + { + Layout = new LinearLayout() + { + LinearOrientation = LinearLayout.Orientation.Vertical, + }, + WidthSpecification = LayoutParamPolicies.WrapContent, + HeightSpecification = LayoutParamPolicies.WrapContent, + }; + + TextLabel label = new TextLabel("Static") { + HorizontalAlignment = HorizontalAlignment.Center, + }; + + infoView.Add(label); + + CreateInfoFields(infoView); + + var okButton = new Button() + { + Text = Resources.IDS_WIFI_BODY_DONE, + }; + okButton.Clicked += OnOkClicked; + + Content = new AlertDialog() + { + Title = mTitle, + Content = infoView, + Actions = new View[] { okButton }, + }; + } + + void CreateInfoFields(View infoView) + { + for(int i = 0; i < infoFields.Length; i++) + { + TextLabel label = new TextLabel(infoFieldTitles[i]); + infoFields[i] = new TextField() + { + Name = infoFieldTitles[i], + WidthSpecification = 250, + PlaceholderText = "0.0.0.0", + BackgroundColor = Color.LightGrey, + }; + + infoView.Add(label); + infoView.Add(infoFields[i]); + } + } + private void OnOkClicked(object sender, ClickedEventArgs e) + { + Debug("OnOkClicked "); + // Update values + mAddNetworkItem.IPv4 = infoFields[0].Text; + mAddNetworkItem.GatewayAddress = infoFields[0].Text; + mAddNetworkItem.NetworkPrefixLength = infoFields[0].Text; + mAddNetworkItem.Dns1 = infoFields[0].Text; + mAddNetworkItem.Dns2 = infoFields[0].Text; + + NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop(); + } + } } diff --git a/SettingWiFi/SettingWiFi/view/AddNetworkInfoSource.cs b/SettingWiFi/SettingWiFi/view/AddNetworkInfoSource.cs index e524681..76e3c9b 100644 --- a/SettingWiFi/SettingWiFi/view/AddNetworkInfoSource.cs +++ b/SettingWiFi/SettingWiFi/view/AddNetworkInfoSource.cs @@ -78,7 +78,38 @@ namespace SettingWiFi get; set; } + + public string IPv4 + { + get; + set; + } + + public string GatewayAddress + { + get; + set; + } + + public string Dns1 + { + get; + set; + } + + public string Dns2 + { + get; + set; + } + + public string NetworkPrefixLength + { + get; + set; + } } + public class AddNetworkInfoText : INotifyPropertyChanged { private string mInfoTitle; diff --git a/SettingWiFi/SettingWiFi/view/Resources.cs b/SettingWiFi/SettingWiFi/view/Resources.cs index 4043fb6..227faed 100755 --- a/SettingWiFi/SettingWiFi/view/Resources.cs +++ b/SettingWiFi/SettingWiFi/view/Resources.cs @@ -130,5 +130,7 @@ static public string IDS_WIFI_BODY_NETWORK_NAME = "Network name"; static public string IDS_WIFI_BODY_IP_SETTINGS = "IP settings"; static public string IDS_WIFI_BODY_PROXY = "Proxy"; + static public string IDS_WIFI_BODY_DONE = "Done"; + static public string IDS_WIFI_BODY_GATEWAY = "Gateway"; } } diff --git a/packaging/org.tizen.cssetting-wifi-1.1.3.rpk b/packaging/org.tizen.cssetting-wifi-1.1.3.rpk index 63d38b4..63d23df 100644 Binary files a/packaging/org.tizen.cssetting-wifi-1.1.3.rpk and b/packaging/org.tizen.cssetting-wifi-1.1.3.rpk differ