コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
 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();
 }
コード例 #5
0
        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));
        }
コード例 #6
0
 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);
     }
 }