private void SaveBookmarksButton_Click(object sender, EventArgs e) { BookmarksDataGridView.EndEdit(); BookmarkManager.Instance.ClearBookmarks(); Bookmarks.ForEach(bookmark => { BookmarkManager.Instance.AddBookmark(bookmark); }); BookmarkManager.Instance.SaveBookmarks(); NotificationCenter.Instance.PostNotification("vagrant-manager.bookmarks-updated"); this.Close(); }
private void ManageBookmarksWindow_Load(object sender, EventArgs e) { CancelScan = new CancellationTokenSource(); Bookmarks = new List <Bookmark>(BookmarkManager.Instance.GetBookmarks().Select(bookmark => (Bookmark)bookmark.Clone())); ((DataGridViewComboBoxColumn)BookmarksDataGridView.Columns["ProviderIdentifier"]).Items.AddRange(VagrantManager.Instance.GetProviderIdentifiers()); BookmarksBindingSource = new BindingSource() { DataSource = Bookmarks }; BookmarksDataGridView.DataSource = BookmarksBindingSource; BookmarksDataGridView.ColumnHeaderMouseClick += (s, args) => { BookmarksDataGridView.EndEdit(); foreach (DataGridViewColumn column in BookmarksDataGridView.Columns) { if (column == BookmarksDataGridView.Columns[args.ColumnIndex]) { column.Tag = column.Tag != null && ((SortOrder)column.Tag) == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending; column.HeaderCell.SortGlyphDirection = (SortOrder)column.Tag; Bookmarks.Sort((a, b) => { PropertyInfo bookmarkProperty = typeof(Bookmark).GetProperty(column.DataPropertyName); return(String.Compare(bookmarkProperty.GetValue(a).ToString(), bookmarkProperty.GetValue(b).ToString())); }); if (column.HeaderCell.SortGlyphDirection == SortOrder.Descending) { Bookmarks.Reverse(); } } else { column.HeaderCell.SortGlyphDirection = SortOrder.None; column.Tag = null; } } BookmarksDataGridView.Refresh(); }; BookmarksDataGridView.CellValueChanged += (s, args) => { if (BookmarksDataGridView.Columns["ProviderIdentifier"].Index == args.ColumnIndex) { Bookmarks.ElementAt(args.RowIndex).ProviderIdentifier = (string)BookmarksDataGridView.Rows[args.RowIndex].Cells[args.ColumnIndex].Value; BookmarksDataGridView.Refresh(); } }; RecursiveScanCheckbox.Checked = Properties.Settings.Default.RecursiveBookmarkScan; }