Esempio n. 1
0
 internal GeneralSettingsViewModel(GlobalSettingsContainer globalSettingsContainer, UpdateChecker updateChecker, IBuildMonitorAdvanced buildMonitor)
 {
     this.globalSettingsContainer = globalSettingsContainer;
     GeneralSettings    = this.globalSettingsContainer.GeneralSettings.Clone();
     this.updateChecker = updateChecker;
     this.buildMonitor  = buildMonitor;
     SaveCommand        = new DelegateCommand(OnSave);
 }
        internal ServerSettingsViewModel(GlobalSettingsContainer globalSettingsContainer,
                                         ExportFactoryContainer <IBuildProviderView, IIdentifierMetadata> buildProviderViews,
                                         IBuildMonitorAdvanced buildMonitor)
        {
            this.globalSettingsContainer = globalSettingsContainer;
            this.buildMonitor            = buildMonitor;
            BuildProviderViews           = buildProviderViews;

            Views = new ObservableCollection <IBuildProviderView>();

            InitializeSettings();

            SaveCommand           = new DelegateCommand(OnSave);
            AddProviderCommand    = new DelegateCommand <IIdentifierMetadata>(OnAddProvider);
            RemoveProviderCommand = new DelegateCommand <IBuildProviderView>(OnRemoveView);
            EditCommand           = new DelegateCommand <IBuildProviderView>(OnEdit);
        }
        internal NotifyIconViewModel(ExportFactory <IBuildsStatusView> buildsExportFactory,
                                     ExportFactory <ISettingsView> settingsExportFactory,
                                     BuildCache buildCache,
                                     NotificationManager notificationManager,
                                     UpdateChecker updateChecker,
                                     GlobalSettingsContainer settingsContainer)
        {
            if (buildCache.CacheStatus == BuildCacheStatus.NotConfigured)
            {
                TrayIcon = IconProvider.SettingsIcon;
            }
            else
            {
                TrayIcon = IconProvider.LoadingIcon;
            }

            this.buildsExportFactory   = buildsExportFactory;
            this.settingsExportFactory = settingsExportFactory;
            this.updateChecker         = updateChecker;
            globalSettingsContainer    = settingsContainer;
            buildCache.CacheUpdated   += (sender, args) => { TrayIcon = buildCache.CurrentIcon; };

            Initialize();
        }