/// <summary> /// The Test. /// </summary> /// <param name="testWindow">The testWindow<see cref="Window"/>.</param> protected override void Test(Window testWindow) { var globalBrowserData = new GlobalBrowserData(); var viewModel = new WebBrowserTabControlViewModel(globalBrowserData); var cefWindowData = viewModel.CefWindowData; var view = new WebBrowserTabControlView { DataContext = viewModel }; var window = WindowFactory.Create(view, testWindow); viewModel.TabItems.Add(new WebBrowserHeaderedItemViewModel(globalBrowserData, cefWindowData, null)); cefWindowData.MainWindow = window;; window.ShowDialog(); }
/// <summary> /// The Save. /// </summary> /// <param name="settings">The settings<see cref="BrowserSettings"/>.</param> /// <param name="browserModel">The browserModel<see cref="WebBrowserTabControlViewModel"/>.</param> internal static void Save(BrowserSettings settings, WebBrowserTabControlViewModel browserModel) { settings.BookmarkModels.Clear(); settings.DownloadItems.Clear(); settings.TabSettingModels.Clear(); foreach (var tabItem in browserModel.TabItems) { if (tabItem.Content is FrameworkElement element && element.DataContext is VideoBrowserViewModel videoModel) { var tabModel = new TabSettingsModel { Title = videoModel.Header, Url = videoModel.Url }; settings.TabSettingModels.Add(tabModel); } } foreach (var downloadItem in browserModel.GlobalBrowserData.DownloadItemModels) { if (downloadItem.Status == "Completed") { settings.DownloadItems.Add(new DownloadItemModel(downloadItem)); } } settings.SelectedTabSettingIndex = browserModel.SelectedTabIndex; var settingsFolder = Path.GetDirectoryName(UserJsonSettingsPath); if (!Directory.Exists(settingsFolder)) { Directory.CreateDirectory(settingsFolder); } var serializer = new JsonSerializer(); serializer.Converters.Add(new JavaScriptDateTimeConverter()); serializer.NullValueHandling = NullValueHandling.Ignore; using (var sw = new StreamWriter(UserJsonSettingsPath)) using (var writer = new JsonTextWriter(sw)) { serializer.Serialize(writer, settings); } Logger.Info($"Browser setting is saved in {UserJsonSettingsPath}"); }
/// <summary> /// The Execute. /// </summary> /// <param name="viewModel">The viewModel<see cref="WebBrowserTabControlViewModel"/>.</param> protected override void Execute(WebBrowserTabControlViewModel viewModel) { if (viewModel.IsTabItemExist(this.Guid)) { viewModel.SetActiveTab(this.Guid); return; } UIThreadHelper.InvokeAsync(() => { var view = this.CreateView(); var tab = new TabItem(this.Guid) { Content = view, Icon = this.Icon, Title = this.Title }; viewModel.AddTab(tab); }); }
/// <summary> /// The Execute. /// </summary> /// <param name="viewModel">The viewModel<see cref="WebBrowserTabControlViewModel"/>.</param> protected override void Execute(WebBrowserTabControlViewModel viewModel) { ProcessHelper.Start(this.SettingsViewModel.OutputFolder); }
/// <summary> /// The Execute. /// </summary> /// <param name="viewModel">The viewModel<see cref="WebBrowserTabControlViewModel"/>.</param> protected override void Execute(WebBrowserTabControlViewModel viewModel) { // Write the code to test here. }