private async void Button_AddBookmark(object sender, RoutedEventArgs e) { var vm = new TabPickerViewModel { IsDeletable = false }; var result = await this.GetMetroWindow().ShowDialogAsync(vm, new TabPicker()); if (result == TabPickerResult.Affirmative) { AddBookmark(new StashBookmark(vm.Name, PageTop + 1, vm.Color)); RedrawItems(); } }
private async void ButtonStashTabMouseDown(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Right) { var bm = (StashBookmark)((Button)sender).DataContext; var vm = new TabPickerViewModel { Name = bm.Name, Color = bm.Color }; var result = await this.GetMetroWindow().ShowDialogAsync(vm, new TabPicker()); switch (result) { case TabPickerResult.Delete: Bookmarks.Remove(bm); RedrawItems(); if (_usedBMarks.ContainsKey(bm)) { gcontent.Children.Remove(_usedBMarks[bm]); _usedBMarks.Remove(bm); } ResizeScrollbarThumb(); break; case TabPickerResult.DeleteIncludingItems: if (await this.GetMetroWindow().ShowQuestionAsync( L10n.Message("This will delete all items between this and the next bookmark and can not be undone.\nDo you want to continue?"), title: L10n.Message("Delete items")) == MessageBoxResult.Yes) { DeleteBookmarkAndItems(bm); } break; case TabPickerResult.Affirmative: bm.Name = vm.Name; bm.Color = vm.Color; if (_usedBMarks.ContainsKey(bm)) { _usedBMarks[bm].Fill = new SolidColorBrush(bm.Color); } break; } } }