public MainViewModel(IEnumerable <IPlugin> plugins, ObservableProgress progress, EventSink eventSink, MainSettings settings, string logPath) { Plugins = plugins.OrderBy(a => a.Order); Settings = settings; SettingsList = new List <SettingsViewModel>() { new SettingsViewModel("View settings", new MainSettingsView { DataContext = settings }) }.Concat(ReadSettings(Plugins)); Progress = progress; LogPath = logPath; eventSink.NotifyEvent += (s, e) => { Notification = e; }; }
public MainViewModel(IEnumerable <IPlugin> plugins, ObservableProgress progress, EventSink eventSink, MainSettings settings, CommandManagerSettings commandSettings, string logPath, IDialogCoordinator dialogCoordinator, ChocoUpdater chocoUpdater) { _dialogCoordinator = dialogCoordinator; CommandSettings = commandSettings; #if DEBUG CheckUpdates(chocoUpdater); #endif Plugins = plugins.OrderBy(a => a.Order); Settings = settings; // build settings list SettingsList = new List <SettingsViewModel>() { new SettingsViewModel("View settings", new MainSettingsView { DataContext = settings }) } .Concat(ReadSettings(Plugins)); Progress = progress; LogPath = logPath; // subscribe to errors from serilog eventSink.NotifyEvent += (s, e) => { Notification = e; }; foreach (var plugin in Plugins) { plugin.OnStarted(); } Services.CommandManager.Settings = commandSettings; }