namespace SettingWiFi
{
+ public enum MoreMenu
+ {
+ HiddenPage,
+ AdvancedPage,
+ WiFiDirectPage,
+ }
+
internal class MainPage : ContentPage
{
CollectionView mScanList;
APSource mApSource;
private static readonly string mImagePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "/images/";
- private static readonly int itemCount = 1;
+ private static readonly int itemCount = 3;
private MenuItem[] menuItems = new MenuItem[itemCount];
internal MainPage(WiFi wifi)
moreButton.Icon.ResourceUrl = Tizen.Applications.Application.Current.DirectoryInfo.Resource
+ "/images/menu.png";
- MenuItem[] menuItems = new MenuItem[itemCount];
- menuItems[0] = new MenuItem() { Text = Resources.IDS_WIFI_BUTTON_FIND_HIDDEN_NETWORK };
- menuItems[0].SelectedChanged += (object sender, SelectedChangedEventArgs args) =>
- {
- Navigator.Push(CreateHiddenConnectPage());
- var menuItem = sender as MenuItem;
- };
+ CreateMoreMenuItems();
moreButton.Clicked += (object sender, ClickedEventArgs args) =>
{
Content = mainView;
}
+ private void CreateMoreMenuItems()
+ {
+ menuItems[0] = CreateMenuButton(Resources.IDS_WIFI_BUTTON_FIND_HIDDEN_NETWORK, MoreMenu.HiddenPage);
+ menuItems[1] = CreateMenuButton(Resources.IDS_ST_BODY_ADVANCED, MoreMenu.AdvancedPage);
+ menuItems[2] = CreateMenuButton(Resources.IDS_WIFI_BODY_WI_FI_DIRECT_ABB, MoreMenu.WiFiDirectPage);
+ }
+
+ private MenuItem CreateMenuButton(string buttonName, MoreMenu pageId)
+ {
+ MenuItem menuItem = new MenuItem() { Text = buttonName };
+ menuItem.Clicked += (object sender, ClickedEventArgs args) =>
+ {
+ switch (pageId)
+ {
+ case MoreMenu.HiddenPage:
+ Navigator.Push(CreateHiddenConnectPage());
+ break;
+ case MoreMenu.AdvancedPage:
+ // Advanced page need to be added instead of HiddenConnect page
+ Navigator.Push(CreateHiddenConnectPage());
+ break;
+ case MoreMenu.WiFiDirectPage:
+ // WiFiDirect page need to be added instead of HiddenConnect page
+ Navigator.Push(CreateHiddenConnectPage());
+ break;
+ }
+ };
+ return menuItem;
+ }
+
private void OnWiFiStateChanged(object sender, WiFiStateChangedEventArgs e)
{
mApSource.UpdateApState(e.Bssid, e.State);