Exemple #1
0
        private void ListViewDoubleClick(StoreListViewItemInfo target)
        {
            this.TabSelectedItem.Value.IsExpanded.Value = true;

            if (target.Model is StoreCategoryInfo categoryInfo)
            {
                if (this.TabSelectedItem.Value is StoreCategoryViewModel categoryViewModel)
                {
                    var item = categoryViewModel.CategoryViewModels.FirstOrDefault(n => n.Model == categoryInfo);
                    if (item == null)
                    {
                        return;
                    }

                    item.IsSelected.Value = true;
                }
            }
            else if (target.Model is StoreSignatureInfo signatureInfo)
            {
                if (this.TabSelectedItem.Value is StoreCategoryViewModel categoryViewModel)
                {
                    var item = categoryViewModel.SignatureViewModels.FirstOrDefault(n => n.Model == signatureInfo);
                    if (item == null)
                    {
                        return;
                    }

                    item.IsSelected.Value = true;
                }
            }
            else if (target.Model is StoreBoxInfo boxInfo)
            {
                if (this.TabSelectedItem.Value is StoreSignatureViewModel signatureViewModel)
                {
                    var item = signatureViewModel.BoxViewModels.FirstOrDefault(n => n.Model == boxInfo);
                    if (item == null)
                    {
                        return;
                    }

                    item.IsSelected.Value = true;
                }
                else if (this.TabSelectedItem.Value is StoreBoxViewModel boxViewModel)
                {
                    var item = boxViewModel.BoxViewModels.FirstOrDefault(n => n.Model == boxInfo);
                    if (item == null)
                    {
                        return;
                    }

                    item.IsSelected.Value = true;
                }
            }
        }
Exemple #2
0
        private IEnumerable <StoreListViewItemInfo> GetListViewItems(IEnumerable <StoreCategoryInfo> categoryInfos, IEnumerable <StoreSignatureInfo> signatureInfos,
                                                                     IEnumerable <StoreBoxInfo> boxInfos, IEnumerable <Seed> seeds, string propertyName, ListSortDirection direction)
        {
            var list = new List <StoreListViewItemInfo>();

            foreach (var item in categoryInfos)
            {
                var vm = new StoreListViewItemInfo();
                vm.Icon         = AmoebaEnvironment.Icons.Box;
                vm.Name         = item.Name;
                vm.Length       = item.Length;
                vm.CreationTime = item.CreationTime;

                vm.Model = item;

                list.Add(vm);
            }

            foreach (var item in signatureInfos)
            {
                var vm = new StoreListViewItemInfo();
                vm.Icon         = AmoebaEnvironment.Icons.Box;
                vm.Name         = item.AuthorSignature.ToString();
                vm.Length       = item.Length;
                vm.CreationTime = item.CreationTime;

                vm.Model = item;

                list.Add(vm);
            }

            foreach (var item in boxInfos)
            {
                var vm = new StoreListViewItemInfo();
                vm.Icon         = AmoebaEnvironment.Icons.Box;
                vm.Name         = item.Name;
                vm.Length       = item.Length;
                vm.CreationTime = item.CreationTime;

                vm.Model = item;

                list.Add(vm);
            }

            foreach (var item in seeds)
            {
                var vm = new StoreListViewItemInfo();
                vm.Icon         = IconUtils.GetImage(item.Name);
                vm.Name         = item.Name;
                vm.Length       = item.Length;
                vm.CreationTime = item.CreationTime;

                _cacheStates.TryGetValue(item.Metadata, out var state);
                vm.State = state;

                vm.Model = item;

                list.Add(vm);
            }

            return(this.Sort(list, propertyName, direction, 100000));
        }