示例#1
0
        public void LoadFavorites()
        {
            if (Settings.Default.Favorites != null)
            {
                this.favoriteFiles.Clear();
                foreach (var s in Settings.Default.Favorites)
                {
                    if (!File.Exists(s))
                    {
                        continue;
                    }

                    try
                    {
                        XmlSerializer  deserializer = new XmlSerializer(typeof(FavoriteEntity));
                        FavoriteEntity foundFavorite;
                        using (FileStream favStream = new FileStream(s, FileMode.Open, FileAccess.Read))
                        {
                            foundFavorite = (FavoriteEntity)deserializer.Deserialize(favStream);
                        }

                        FavoriteFile f = new FavoriteFile(s, foundFavorite);
                        this.favoriteFiles.Add(f);
                    }
                    catch (Exception)
                    {
                        // do nothing
                    }
                }
            }
        }
        private void MenuItem_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            FavoriteFile ff = this.treeViewFavorites.SelectedItem as FavoriteFile;

            if (ff != null)
            {
                StringCollection favs = Settings.Default.Favorites;
                favs.Remove(ff.FullPath);
                Settings.Default.Save();
                this.LoadFavorites();
                return;
            }

            FavoriteFileGroup ffg = this.treeViewFavorites.SelectedItem as FavoriteFileGroup;

            if (ffg != null)
            {
                if (MessageBox.Show("Are you sure you would like to close this whole Favorite group?", "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes)
                {
                    return;
                }

                StringCollection favs = Settings.Default.Favorites;
                foreach (FavoriteFile f in ffg.Files)
                {
                    favs.Remove(f.FullPath);
                }

                Settings.Default.Save();
                this.LoadFavorites();
            }
        }
        public void LoadFavorites()
        {
            StringCollection favs = new StringCollection();

            if (Settings.Default.Favorites != null)
            {
                this.favoriteFiles.Clear();
                this.favoriteFileFroups.Clear();
                foreach (var s in Settings.Default.Favorites)
                {
                    if (!File.Exists(s))
                    {
                        continue;
                    }

                    try
                    {
                        XmlSerializer  deserializer = new XmlSerializer(typeof(FavoriteEntity));
                        FavoriteEntity foundFavourite;
                        using (FileStream favStream = new FileStream(s, FileMode.Open, FileAccess.Read))
                        {
                            foundFavourite = (FavoriteEntity)deserializer.Deserialize(favStream);
                        }

                        FavoriteFile f = new FavoriteFile(s, foundFavourite);
                        this.favoriteFiles.Add(f);
                        favs.Add(s);
                    }
                    catch (Exception ex)
                    {
                        string inner = string.Empty;
                        if (ex.InnerException != null)
                        {
                            inner = ex.InnerException.Message;
                        }

                        MessageBox.Show(string.Format("There was an error opening the Favorite\n{0}\n\n{1} {2}", s, ex.Message, inner), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }

                this.ResolveFavoriteGroups();
                this.favoriteFileFroups.BubbleSort();
                this.treeViewFavorites.ItemsSource = this.favoriteFileFroups;

                Settings.Default.Favorites = favs;
                Settings.Default.Save();
            }
        }
        private void treeViewFavorites_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            TargetSet ts = this.treeViewFavorites.SelectedItem as TargetSet;

            if (ts != null)
            {
                this.ActiveTargetSet = ts;
                RaiseEvent(new RoutedEventArgs(Favorites.TargetSetClick, this));
                return;
            }

            FavoriteFile ff = this.treeViewFavorites.SelectedItem as FavoriteFile;

            if (ff != null)
            {
                this.ActiveFavoriteFile = ff;
                RaiseEvent(new RoutedEventArgs(Favorites.FavoriteClick, this));
            }
        }
        private void treeViewFavorites_SelectedItemChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs <object> e)
        {
            TargetSet ts = this.treeViewFavorites.SelectedItem as TargetSet;

            if (ts != null)
            {
                this.ActiveTargetSet = ts;
                RaiseEvent(new RoutedEventArgs(Favorites.TargetSetClick, this));
                return;
            }

            FavoriteFile ff = this.treeViewFavorites.SelectedItem as FavoriteFile;

            if (ff != null)
            {
                this.ActiveFavoriteFile = ff;
                RaiseEvent(new RoutedEventArgs(Favorites.FavoriteClick, this));
            }
        }
示例#6
0
        private void buttonSave_Click(object sender, RoutedEventArgs e)
        {
            TargetSet tset = new TargetSet {
                file = this.favFileName, Name = this.txtTargetSetName.Text, Parameters = this.favParameters, Strapper = this.favStrapper, Targets = this.favTargets
            };

            if (this.listBoxExistingFavorites.SelectedIndex >= 0)
            {
                FavoriteFile   f            = this.listBoxExistingFavorites.SelectedItem as FavoriteFile;
                XmlSerializer  deserializer = new XmlSerializer(typeof(FavoriteEntity));
                FavoriteEntity foundFavorite;
                using (FileStream favStream = new FileStream(f.FullPath, FileMode.Open, FileAccess.Read))
                {
                    foundFavorite = (FavoriteEntity)deserializer.Deserialize(favStream);
                }

                TargetSet[] temp = new TargetSet[foundFavorite.TargetSet.Length + 1];
                int         i    = 0;
                foreach (TargetSet t in foundFavorite.TargetSet)
                {
                    temp[i] = t;
                    i++;
                }

                temp[i] = tset;
                foundFavorite.TargetSet = temp;

                XmlSerializer serializer = new XmlSerializer(typeof(FavoriteEntity));
                using (FileStream fs = new FileStream(f.FullPath, FileMode.Create))
                {
                    TextWriter writer = new StreamWriter(fs, new UTF8Encoding());
                    serializer.Serialize(writer, foundFavorite);
                }

                this.Close();
                return;
            }

            SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog {
                DefaultExt = ".msbef", Filter = "MSBuild Explorer Favorite (.msbef)|*.msbef"
            };

            if (dlg.ShowDialog() == true)
            {
                FavoriteEntity fe = new FavoriteEntity();
                fe.groupName = this.txtFavoriteGroupName.Text;
                TargetSet[] tsetcol = new TargetSet[1];
                tsetcol[0]      = tset;
                fe.TargetSet    = tsetcol;
                fe.file         = this.favFileName;
                fe.friendlyName = this.txtFavoriteName.Text;

                XmlSerializer serializer = new XmlSerializer(typeof(FavoriteEntity));
                using (FileStream fs = new FileStream(dlg.FileName, FileMode.Create))
                {
                    TextWriter writer = new StreamWriter(fs, new UTF8Encoding());
                    serializer.Serialize(writer, fe);
                }

                StringCollection favs = new StringCollection();
                foreach (string s in from string s in Settings.Default.Favorites where !favs.Contains(s) select s)
                {
                    favs.Add(s);
                }

                if (!favs.Contains(dlg.FileName))
                {
                    favs.Add(dlg.FileName);
                }

                Settings.Default.Favorites = favs;

                Settings.Default.Save();

                this.Close();
            }
        }