private void CloseTab(BrowserTabViewModel browserViewModel)
 {
     if (BrowserTabs.Remove(browserViewModel))
     {
         browserViewModel.WebBrowser?.Dispose();
     }
 }
Example #2
0
        public void AddTab(Uri uri)
        {
            var model = new BrowserTabViewModel();

            model.SourceUri = uri;
            BrowserWindowViewModel.BrowserTabViewModels.Add(model);
        }
Example #3
0
        private static void CreateWarmupView()
        {
            Window warmupView = new WarmupView()
            {
                WindowStyle   = WindowStyle.None,
                WindowState   = WindowState.Normal,
                ResizeMode    = ResizeMode.NoResize,
                ShowInTaskbar = false,
                ShowActivated = false,
                Height        = 0,
                Width         = 0,
            };

            warmupView.Loaded += async(s, e) =>
            {
                await ThemeManager.PreloadThemeResourceAsync(Settings.Default.ThemeName);

                warmupView.Close();
            };

            BrowserTabViewModel viewModel = ViewModelSource.Create <BrowserTabViewModel>();

            viewModel.OpenItem(FileSystemHelper.QuickAccess);

            warmupView.DataContext = viewModel;
            warmupView.Show();
            warmupView.Hide();
        }
Example #4
0
        private void CloseTab(object sender, ExecutedRoutedEventArgs e)
        {
            if (BrowserTabs.Count > 0)
            {
                //Obtain the original source element for this event
                var originalSource = (FrameworkElement)e.OriginalSource;

                BrowserTabViewModel browserViewModel = null;

                if (originalSource is MainWindow)
                {
                    browserViewModel = BrowserTabs[TabControl.SelectedIndex];
                    BrowserTabs.RemoveAt(TabControl.SelectedIndex);
                }
                else
                {
                    //Remove the matching DataContext from the BrowserTabs collection
                    browserViewModel = (BrowserTabViewModel)originalSource.DataContext;
                    BrowserTabs.Remove(browserViewModel);
                }

                browserViewModel.WebBrowser.Dispose();
            }
        }
 public CloseTabCommand Create(BrowserTabViewModel currentTab)
 {
     return(new CloseTabCommand(_browserTabSelector, currentTab));
 }