/// <summary> /// On profile selection changed /// -- prompt for new profile if "--New--" is selected /// </summary> private void listSiteProfileIds_SelectionChanged(object sender, SelectionChangedEventArgs e) { SiteProfileFolder selectedItem = listSiteProfileIds.SelectedValue as SiteProfileFolder; if (selectedItem != null) { if (!String.IsNullOrEmpty(selectedItem.Name)) { txtSourceTitle.Text = "Current Profile:"; txtSourceId.IsReadOnly = true; txtSourceId.Text = App.SiteProfileId; if (selectedItem.Name != App.SiteProfileId) { btnProfileDelete.IsEnabled = true; btnAppSetupSave.IsEnabled = true; } else { btnProfileDelete.IsEnabled = false; btnAppSetupSave.IsEnabled = false; } } else { txtSourceTitle.Text = "New Profile Name:"; txtSourceId.IsReadOnly = false; txtSourceId.Text = ""; btnProfileDelete.IsEnabled = false; btnAppSetupSave.IsEnabled = true; } } }
/// <summary> /// On app-setup-save button clicked /// -- save changes made in app-setup to app storage /// -- load new app settings accordingly /// </summary> private async void btnAppSetupSave_Click(object sender, RoutedEventArgs e) { SiteProfileFolder selectedItem = listSiteProfileIds.SelectedValue as SiteProfileFolder; App.SiteProfileId = (selectedItem == null) ? String.Empty : selectedItem.Name; if (selectedItem != null && String.IsNullOrEmpty(selectedItem.Name)) { if (!String.IsNullOrEmpty(txtSourceId.Text)) { // create new profile App.SiteProfileId = txtSourceId.Text; } } App.SaveAppSettings(); bool forceReload = false; bool createIfNotExist = true; await OpenSiteProfile(forceReload, createIfNotExist); UpdateTitle(); if (SiteProfileManager.DefaultSiteProfileManager != null) { btnAppSetup.Visibility = Visibility.Visible; panelAppSetup.Visibility = Visibility.Collapsed; panelFunctionMenu.Visibility = Visibility.Visible; ContentFrame.Navigate(typeof(SessionMgmtPage)); } btnAppSetupCancel.IsEnabled = true; }
/// <summary> /// Enumerate profiles in app storage /// </summary> private async Task <List <SiteProfileFolder> > GetSiteProfileFolderList() { List <SiteProfileFolder> siteFolderList = new List <SiteProfileFolder>(); try { StorageFolder localFolder = ApplicationData.Current.LocalFolder; StorageFolder sitesFolder = await localFolder.CreateFolderAsync(SiteProfileManager.PROFILEROOT, CreationCollisionOption.OpenIfExists); var folders = await sitesFolder.GetFoldersAsync(); foreach (var folder in folders) { SiteProfileFolder siteFolderInfo = new SiteProfileFolder(); siteFolderInfo.Name = folder.Name; siteFolderInfo.Path = SiteProfileManager.PROFILEROOT + "/" + siteFolderInfo.Name + "/"; siteFolderInfo.Title = String.Format("{0}", siteFolderInfo.Name); siteFolderList.Add(siteFolderInfo); } } catch (Exception ex) { Debug.WriteLine("GetSiteProfileFolderList Exception! " + ex.Message); } return(siteFolderList); }
/// <summary> /// On app-setup button clicked /// -- expand panel with app-setup UI items /// </summary> private async void btnAppSetup_Click(object sender, RoutedEventArgs e) { if (panelAppSetup.Visibility == Visibility.Collapsed) { panelAppSetup.Visibility = Visibility.Visible; btnAppSetup.Visibility = Visibility.Collapsed; panelFunctionMenu.Visibility = Visibility.Collapsed; txtSourceId.Text = ""; var siteFolderList = await GetSiteProfileFolderList(); SiteProfileFolder newProfile = new SiteProfileFolder() { Name = "", Path = "", Title = "-- New Profile --" }; siteFolderList.Insert(0, newProfile); listSiteProfileIds.Items.Clear(); foreach (var item in siteFolderList) { listSiteProfileIds.Items.Add(item); } listSiteProfileIds.SelectedIndex = -1; var searchName = App.SiteProfileId; if (!String.IsNullOrEmpty(App.SiteProfileId)) { for (int i = 1; i < siteFolderList.Count; i++) { if (App.SiteProfileId == siteFolderList[i].Name) { listSiteProfileIds.SelectedIndex = i; break; } } } else { listSiteProfileIds.SelectedIndex = 0; txtSourceId.Text = ""; } } }
/// <summary> /// On profile-delete button clicked /// -- delete selected profile from app storage /// </summary> private async void btnProfileDelete_Click(object sender, RoutedEventArgs e) { var delIndex = listSiteProfileIds.SelectedIndex; SiteProfileFolder selectedItem = listSiteProfileIds.SelectedValue as SiteProfileFolder; var siteProfileId = (selectedItem == null) ? String.Empty : selectedItem.Name; if (listSiteProfileIds.SelectedIndex == 0 || String.IsNullOrEmpty(siteProfileId)) { // nothing to delete return; } btnProfileDelete.IsEnabled = false; MessageDialog showDialog = new MessageDialog("This will delete all settings in this profile. Are you sure to delete profile - '" + siteProfileId + "' ?"); showDialog.Commands.Add(new UICommand("Delete") { Id = 0 }); showDialog.Commands.Add(new UICommand("Cancel") { Id = 1 }); showDialog.DefaultCommandIndex = 1; showDialog.CancelCommandIndex = 1; var result = await showDialog.ShowAsync(); if ((int)result.Id == 0) { bool isDeleted = await DeleteProfile(siteProfileId); if (isDeleted) { listSiteProfileIds.SelectedIndex = -1; listSiteProfileIds.Items.RemoveAt(delIndex); listSiteProfileIds.UpdateLayout(); } btnAppSetupCancel.IsEnabled = false; } }