Implement Ip Settings detail input dialog in "Add network" 35/292535/1
authorAkash Kumar <akash1.kumar@samsung.com>
Tue, 9 May 2023 10:43:02 +0000 (16:13 +0530)
committerAkash Kumar <akash1.kumar@samsung.com>
Tue, 9 May 2023 10:47:51 +0000 (16:17 +0530)
Change-Id: I4d0db6b902bca6c88e4b90fddbddf34d42b7c878
Signed-off-by: Akash Kumar <akash1.kumar@samsung.com>
SettingWiFi/SettingWiFi/view/AddNetworkInfoInputPage.cs
SettingWiFi/SettingWiFi/view/AddNetworkInfoSource.cs
SettingWiFi/SettingWiFi/view/Resources.cs
packaging/org.tizen.cssetting-wifi-1.1.3.rpk

index 564db59a0f5f3b855912ece359b5b5f64d591bef..a5dc0c69e01be84d2a155351708281fa4eaeeef8 100644 (file)
@@ -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();
+        }
+    }
 }
index e5246815450aae21c2d57f760f2a9d0292d309e8..76e3c9bed90c6f8bd9c5faae0d0dfc10a7bf9c8f 100644 (file)
@@ -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;
index 4043fb6b7d4ca4bb734e7b141e764cb705f9e9a9..227faed6e23f764e4f529412161ba920d3ce6c5e 100755 (executable)
         static public string IDS_WIFI_BODY_NETWORK_NAME = "Network name";\r
         static public string IDS_WIFI_BODY_IP_SETTINGS = "IP settings";\r
         static public string IDS_WIFI_BODY_PROXY = "Proxy";\r
+        static public string IDS_WIFI_BODY_DONE = "Done";\r
+        static public string IDS_WIFI_BODY_GATEWAY = "Gateway";\r
     }\r
 }\r
index 63d38b43a0affe422b70ecfd62aae7931273ad7b..63d23df7a264fcdbb9608e9273800226e8869af3 100644 (file)
Binary files a/packaging/org.tizen.cssetting-wifi-1.1.3.rpk and b/packaging/org.tizen.cssetting-wifi-1.1.3.rpk differ