Example #1
0
        /// <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;
                }
            }
        }
Example #2
0
        /// <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;
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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 = "";
                }
            }
        }
Example #5
0
        /// <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;
            }
        }