Esempio n. 1
0
        public StagingSessionViewModel(IRepository repository, IWindowService windowService, ShortcutService shortcutService, IStatusService statusService)
            : base(repository, windowService, shortcutService, statusService)
        {
            StagedItems   = new ObservableCollection <StagedItem>();
            SelectedItems = new BatchObservableCollection <MediaItem>();
            SelectedItems.CollectionChanged += async(s, a) => await SelectedItemsOnCollectionChanged(s, a);

            EditMediaInfoViewModel = new EditMediaInfoViewModel(Repository, ShortcutService, StatusService, false);
        }
        public QuerySessionViewModel(IWindowService windowService, IRepository repository, ShortcutService shortcutService, IStatusService statusService, bool readOnly)
            : base(repository, windowService, shortcutService, statusService)
        {
            ReadOnly = readOnly;
            InitializeViewModesList();

            FilterCollection = new FilterCollectionViewModel(Repository.Tags);
            FilterCollection.FilterChanged += async(sender, args) => await UpdateMatchCount();

            UpdateMatchCount().Wait();

            DetailItem = new MediaItemViewModel(Repository);

            QueryResultViewModel = new QueryResultViewModel(Repository, ShortcutService, StatusService);
            QueryResultViewModel.SelectionChanged += async(s, a) =>
            {
                await QueryResultViewModelOnSelectionChanged(s, a);
            };

            EditMediaInfoViewModel = new EditMediaInfoViewModel(Repository, ShortcutService, StatusService, true, ReadOnly);

            ToolWindowState  = QueryToolWindowState.Filters;
            SelectedViewMode = ViewMode.Detail;
        }
Esempio n. 3
0
 private async Task SelectedItemsOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
 {
     EditMediaInfoViewModel.LoadItems(SelectedItems.ToList());
 }
 public override async Task Close()
 {
     QueryResultViewModel.Close();
     await EditMediaInfoViewModel.Close();
 }