public MainViewModel(WebSiteViewModel webSite, FileSiteViewModel fileSite, ObservableCollection<BrowserViewModel> browsers) { AboutCommand = new RelayCommand(AboutCommandAction); SelectAllBrowsersCommand = new RelayCommand(SelectAllBrowsersCommandAction); UnselectAllBrowsersCommand = new RelayCommand(UnselectAllBrowsersCommandAction); LaunchAllWebSitesCommand = new RelayCommand(LaunchAllWebSitesCommandAction); LaunchAllFileSitesCommand = new RelayCommand(LaunchAllFileSitesCommandAction); StartAllBrowsersCommand = new RelayCommand(StartAllBrowsersCommandAction); LaunchAllBrowserWebsCommand = new RelayCommand(LaunchAllBrowserWebsCommandAction); if (webSite == null) { throw new ArgumentNullException("webSite"); } _webSite = webSite; if (fileSite == null) { throw new ArgumentNullException("fileSite"); } _fileSite = fileSite; if (browsers == null) { throw new ArgumentNullException("browsers"); } _browsers = browsers; }
private void OnContentRendered(object sender, EventArgs e) { WebSiteViewModel webSite = new WebSiteViewModel(new WebSiteModel(Settings.Default.WebSiteUrl)); FileSiteViewModel fileSite = new FileSiteViewModel(new FileSiteModel(Settings.Default.FileSitePath)); ObservableCollection<BrowserViewModel> browsers = new ObservableCollection<BrowserViewModel>(); string programFiles = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles).Replace(" (x86)", string.Empty); string programFilesX86 = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86); string localApplicationData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); browsers.Add(new BrowserViewModel(new BrowserModel("Internet Explorer", "http://windows.microsoft.com/en-US/internet-explorer/download-ie/", string.Format("{0}\\Internet Explorer\\iexplore.exe", programFiles), Settings.Default.InternetExplorerPath))); browsers.Add(new BrowserViewModel(new BrowserModel("Firefox", "http://www.mozilla.org/firefox/", string.Format("{0}\\Mozilla Firefox\\firefox.exe", programFilesX86), Settings.Default.FirefoxPath))); browsers.Add(new BrowserViewModel(new BrowserModel("Opera", "http://www.opera.com/", string.Format("{0}\\Opera\\Opera.exe", programFilesX86), Settings.Default.OperaPath))); browsers.Add(new BrowserViewModel(new BrowserModel("Chrome", "http://www.google.com/chrome/", string.Format("{0}\\Google\\Chrome\\Application\\chrome.exe", localApplicationData), Settings.Default.ChromePath))); browsers.Add(new BrowserViewModel(new BrowserModel("Safari", "http://www.apple.com/safari/", string.Format("{0}\\Safari\\Safari.exe", programFilesX86), Settings.Default.SafariPath))); browsers.Add(new BrowserViewModel(new BrowserModel("Maxthon", "http://www.maxthon.com/", string.Format("{0}\\Maxthon\\Bin\\Maxthon.exe", programFilesX86), Settings.Default.MaxthonPath))); DataContext = new MainViewModel(webSite, fileSite, browsers); InputBindings.Add(new KeyBinding(DataContext.AboutCommand, new KeyGesture(Key.F1))); }