public void SetOptions()
        {
            if (this.DataOptions.Cache.Size < _serviceManager.Size)
            {
                var viewModel = new ConfirmWindowViewModel(LanguagesManager.Instance.DataOptionsControl_CacheResize_Message);
                viewModel.Callback += () =>
                {
                    ProgressDialog.Instance.Increment();

                    _serviceManager.Resize(this.DataOptions.Cache.Size);

                    ProgressDialog.Instance.Decrement();
                };

                _dialogService.Show(viewModel);
            }
            else if (this.DataOptions.Cache.Size > _serviceManager.Size)
            {
                ProgressDialog.Instance.Increment();

                _serviceManager.Resize(this.DataOptions.Cache.Size);

                ProgressDialog.Instance.Decrement();
            }

            lock (_serviceManager.LockObject)
            {
                var oldConfig = _serviceManager.Config;
                _serviceManager.SetConfig(new ServiceConfig(new CoreConfig(oldConfig.Core.Network, new DownloadConfig(this.DataOptions.Download.DirectoryPath, this.DataOptions.Download.ProtectedPercentage)), oldConfig.Connection, oldConfig.Message));
            }
        }
Beispiel #2
0
        private void Delete()
        {
            var viewModel = new ConfirmWindowViewModel(ConfirmWindowType.Delete);

            viewModel.Callback += () =>
            {
                var categoryInfos  = this.SelectedItems.OfType <StoreListViewItemInfo>().Select(n => n.Model).OfType <StoreCategoryInfo>().ToArray();
                var signatureInfos = this.SelectedItems.OfType <StoreListViewItemInfo>().Select(n => n.Model).OfType <StoreSignatureInfo>().ToArray();

                if (this.TabSelectedItem.Value is StoreCategoryViewModel categoryViewModel)
                {
                    foreach (var categoryInfo in categoryInfos)
                    {
                        categoryViewModel.Model.CategoryInfos.Remove(categoryInfo);
                    }

                    foreach (var signatureInfo in signatureInfos)
                    {
                        categoryViewModel.Model.SignatureInfos.Remove(signatureInfo);
                    }
                }

                this.Refresh();
            };

            _dialogService.Show(viewModel);
        }
Beispiel #3
0
 public void Show(ConfirmWindowViewModel viewModel)
 {
     if (MessageBox.Show(viewModel.Message, LanguagesManager.Instance.ConfirmWindow_Title, MessageBoxButton.OKCancel, MessageBoxImage.Question, MessageBoxResult.Cancel) == MessageBoxResult.OK)
     {
         viewModel.Ok();
     }
 }
Beispiel #4
0
        private void TabDelete()
        {
            var viewModel = new ConfirmWindowViewModel(ConfirmWindowType.Delete);

            viewModel.Callback += () =>
            {
                if (this.TabSelectedItem.Value is SearchViewModel searchViewModel)
                {
                    if (searchViewModel.Parent == null)
                    {
                        return;
                    }
                    searchViewModel.Parent.TryRemove(searchViewModel);
                }
            };

            _dialogService.Show(viewModel);
        }
Beispiel #5
0
        private void TabDelete()
        {
            var viewModel = new ConfirmWindowViewModel(ConfirmWindowType.Delete);

            viewModel.Callback += () =>
            {
                if (this.TabSelectedItem.Value is StoreCategoryViewModel categoryViewModel)
                {
                    if (categoryViewModel.Parent == null)
                    {
                        return;
                    }
                    categoryViewModel.Parent.TryRemove(categoryViewModel);
                }
                else if (this.TabSelectedItem.Value is StoreSignatureViewModel signatureViewModel)
                {
                    signatureViewModel.Parent.TryRemove(signatureViewModel);
                }
            };

            _dialogService.Show(viewModel);
        }
Beispiel #6
0
        private void TabDelete()
        {
            var viewModel = new ConfirmWindowViewModel(ConfirmWindowType.Delete);

            viewModel.Callback += () =>
            {
                if (this.TabSelectedItem.Value is ChatCategoryViewModel chatCategoryViewModel)
                {
                    if (chatCategoryViewModel.Parent == null)
                    {
                        return;
                    }
                    chatCategoryViewModel.Parent.TryRemove(chatCategoryViewModel);
                }
                else if (this.TabSelectedItem.Value is ChatThreadViewModel chatViewModel)
                {
                    chatViewModel.Parent.TryRemove(chatViewModel);
                }
            };

            _dialogService.Show(viewModel);
        }
Beispiel #7
0
        private void RemoveCacheItem()
        {
            var hashSet = new HashSet <Metadata>(this.SelectedItems.OfType <SearchListViewItemInfo>()
                                                 .Where(n => n.State.HasFlag(SearchState.Cache))
                                                 .Select(n => n.Model.Metadata).ToArray());

            if (hashSet.Count == 0)
            {
                return;
            }

            var viewModel = new ConfirmWindowViewModel(ConfirmWindowType.Delete);

            viewModel.Callback += () =>
            {
                Task.Run(() =>
                {
                    try
                    {
                        foreach (var(metadata, path) in _serviceManager.GetCacheContentReports()
                                 .Select(n => (n.Metadata, n.Path)).ToArray())
                        {
                            if (!hashSet.Contains(metadata))
                            {
                                continue;
                            }
                            _serviceManager.RemoveContent(path);
                        }
                    }
                    catch (Exception)
                    {
                    }
                });
            };

            _dialogService.Show(viewModel);
        }
Beispiel #8
0
        private void RemoveDownloadingItem()
        {
            var hashSet = new HashSet <Seed>(this.SelectedItems.OfType <SearchListViewItemInfo>()
                                             .Where(n => n.State.HasFlag(SearchState.Downloading))
                                             .Select(n => n.Model).ToArray());

            if (hashSet.Count == 0)
            {
                return;
            }

            var viewModel = new ConfirmWindowViewModel(ConfirmWindowType.Delete);

            viewModel.Callback += () =>
            {
                Task.Run(() =>
                {
                    try
                    {
                        foreach (var item in SettingsManager.Instance.DownloadItemInfos.ToArray())
                        {
                            if (!hashSet.Contains(item.Seed))
                            {
                                continue;
                            }
                            SettingsManager.Instance.DownloadItemInfos.Remove(item);
                        }
                    }
                    catch (Exception)
                    {
                    }
                });
            };

            _dialogService.Show(viewModel);
        }