private void ApplyPrinterMappings() { if (_printerMappingProvider?.Settings != null) { var mappingWrappers = new List <PrinterMappingWrapper>(); foreach (var printerMapping in _printerMappingProvider.Settings) { var mappingWrapper = new PrinterMappingWrapper(printerMapping, PrinterMappingProfiles); if (mappingWrapper.Profile == null) { mappingWrapper.Profile = _defaultProfile; } mappingWrappers.Add(mappingWrapper); } _printerMappings = new Helper.SynchronizedCollection <PrinterMappingWrapper>(mappingWrappers); _printerMappings.ObservableCollection.CollectionChanged += PrinterMappings_OnCollectionChanged; _printerMappingView = CollectionViewSource.GetDefaultView(_printerMappings.ObservableCollection); _printerMappingView.CurrentChanged += PrinterMappingView_OnCurrentChanged; } RaisePropertyChanged(nameof(PrinterMappings)); }
public ManagePrintJobsViewModel(IJobInfoQueue jobInfoQueue, DragAndDropEventHandler dragAndDrop, IJobInfoManager jobInfoManager, IDispatcher dispatcher, ITranslationUpdater translationUpdater, ApplicationNameProvider applicationNameProvider) : base(translationUpdater) { _jobInfoQueue = jobInfoQueue; _dragAndDrop = dragAndDrop; _jobInfoManager = jobInfoManager; _dispatcher = dispatcher; _applicationNameProvider = applicationNameProvider; _jobInfoQueue.OnNewJobInfo += OnNewJobInfo; ListSelectionChangedCommand = new DelegateCommand(ListSelectionChanged); DeleteJobCommand = new DelegateCommand(ExecuteDeleteJob); MergeJobsCommand = new DelegateCommand(ExecuteMergeJobs, CanExecuteMergeJobs); MergeAllJobsCommand = new DelegateCommand(ExecuteMergeAllJobs, CanExecuteMergeAllJobs); DoNothingCommand = new DelegateCommand(o => { }, CanExecuteMergeAllJobs); WindowClosedCommand = new DelegateCommand(OnWindowClosed); WindowActivatedCommand = new DelegateCommand(OnWindowActivated); DragEnterCommand = new DelegateCommand <DragEventArgs>(OnDragEnter); DropCommand = new DelegateCommand <DragEventArgs>(OnDrop); KeyDownCommand = new DelegateCommand <KeyEventArgs>(OnKeyDown); SortCommand = new DelegateCommand(o => OnSortCommand(MergeSortingEnum.AlphabeticalDescending)); SetupSortCommands(); _synchronizedJobs = new Helper.SynchronizedCollection <JobInfo>(_jobInfoQueue.JobInfos); _jobInfos = _synchronizedJobs.ObservableCollection; JobInfos = new CollectionView(_jobInfos); JobListSelectionChanged = new DelegateCommand(ListItemChange); }
private void ApplyPrinterMappings() { if (_applicationSettings?.PrinterMappings != null) { var mappingWrappers = new List <PrinterMappingWrapper>(); foreach (var printerMapping in _applicationSettings.PrinterMappings) { var mappingWrapper = new PrinterMappingWrapper(printerMapping, ConversionProfiles); if (printerMapping.ProfileGuid == _dummyLastUsedProfile.Guid) { mappingWrapper.Profile = _dummyLastUsedProfile; } else if (mappingWrapper.Profile == null) { mappingWrapper.Profile = _defaultProfile; } mappingWrappers.Add(mappingWrapper); } _printerMappings = new Helper.SynchronizedCollection <PrinterMappingWrapper>(mappingWrappers); _printerMappings.ObservableCollection.CollectionChanged += PrinterMappings_OnCollectionChanged; _printerMappingView = CollectionViewSource.GetDefaultView(_printerMappings.ObservableCollection); _printerMappingView.CurrentChanged += PrinterMappingView_OnCurrentChanged; } RaisePropertyChanged(nameof(PrinterMappings)); }
protected void SetAccounts(Conversion.Settings.Accounts accounts) { _accountsCollection = new Helper.SynchronizedCollection <DropboxAccount>(Accounts.DropboxAccounts); _accountsCollection.ObservableCollection.CollectionChanged += (sender, args) => RemoveDropboxAccountCommand.RaiseCanExecuteChanged(); RaisePropertyChanged(nameof(DropboxAccounts)); RemoveDropboxAccountCommand.RaiseCanExecuteChanged(); }
public ManagePrintJobsViewModel(IJobInfoQueue jobInfoQueue, DragAndDropEventHandler dragAndDrop, IJobInfoManager jobInfoManager, IDispatcher dispatcher, ITranslationUpdater translationUpdater) { _jobInfoQueue = jobInfoQueue; _dragAndDrop = dragAndDrop; _jobInfoManager = jobInfoManager; _dispatcher = dispatcher; _jobInfoQueue.OnNewJobInfo += OnNewJobInfo; ListSelectionChangedCommand = new DelegateCommand(ListSelectionChanged); DeleteJobCommand = new DelegateCommand(ExecuteDeleteJob); MergeJobsCommand = new DelegateCommand(ExecuteMergeJobs, CanExecuteMergeJobs); MergeAllJobsCommand = new DelegateCommand(ExecuteMergeAllJobs, CanExecuteMergeAllJobs); WindowClosedCommand = new DelegateCommand(OnWindowClosed); WindowActivatedCommand = new DelegateCommand(OnWindowActivated); DragEnterCommand = new DelegateCommand <DragEventArgs>(OnDragEnter); DropCommand = new DelegateCommand <DragEventArgs>(OnDrop); KeyDownCommand = new DelegateCommand <KeyEventArgs>(OnKeyDown); var synchronizedJobs = new Helper.SynchronizedCollection <JobInfo>(_jobInfoQueue.JobInfos); _jobInfos = synchronizedJobs.ObservableCollection; JobInfos = new CollectionView(_jobInfos); JobListSelectionChanged = new DelegateCommand(ListItemChange); translationUpdater.RegisterAndSetTranslation(tf => Translation = tf.UpdateOrCreateTranslation(Translation)); }
public DropBoxControlViewModel(IInteractionInvoker interactionInvoker, IDropboxService dropboxService, TokenHelper tokenHelper, ITranslationUpdater translationUpdater, ISelectedProfileProvider profile) : base(translationUpdater, profile) { _interactionInvoker = interactionInvoker; _dropboxService = dropboxService; AddDropboxAccountCommand = new DelegateCommand(AuthoriseDropboxUser); _accountsCollection = new Helper.SynchronizedCollection <DropboxAccount>(new List <DropboxAccount>()); RemoveDropboxAccountCommand = new DelegateCommand(RemoveDropboxAccount, RemoveDropboxCanExecute); if (tokenHelper != null) { TokenReplacer = tokenHelper.TokenReplacerWithPlaceHolders; TokenViewModel = new TokenViewModel(x => CurrentProfile.DropboxSettings.SharedFolder = x, () => CurrentProfile?.DropboxSettings.SharedFolder, tokenHelper.GetTokenListForDirectory(), ReplaceTokens); } }