예제 #1
0
        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();
            }
        }
예제 #2
0
        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;
                }
            }
        }