Esempio n. 1
0
        async Task AddLocalFolder()
        {
            var path = await _dialogManager.BrowseForFolder();

            if (string.IsNullOrWhiteSpace(path))
            {
                return;
            }

            await Task.Run(async() => {
                bool hasAny;
                lock (LibrarySetup.LocalGroup.Children)
                    hasAny = LibrarySetup.GetLocalMissions()
                             .Any(x => Tools.FileUtil.ComparePathsOsCaseSensitive(x.Model.Path, path));
                if (hasAny)
                {
                    await _dialogManager.MessageBox(new MessageBoxDialogParams("You've already added this folder")).ConfigureAwait(false);
                    return;
                }

                if (!GetMissionSubfolders(path).Any(Directory.Exists))
                {
                    await
                    _dialogManager.MessageBox(
                        new MessageBoxDialogParams(
                            "Please select a folder that contains a Missions and/or MPMissions subfolder",
                            "Invalid folder, aborting")).ConfigureAwait(false);
                    return;
                }

                var item = LibrarySetup.CreateLocalItem(Path.GetFileName(path), false, path);
                _missionList.LocalMissionsContainers.AddLocked(item.Model);
                DomainEvilGlobal.Settings.RaiseChanged();
            });
        }
Esempio n. 2
0
        public async Task <string> Handle(BrowseFolder request)
        {
            // open dialog, ask for folder
            var folder =
                await
                _dialogManager.BrowseForFolder(request.Options.DefaultPath, "Select folder for setting")
                .ConfigureAwait(false);

            if (folder == null)
            {
                throw new OperationCanceledException("The user cancelled the operation");
            }
            return(folder);
        }
Esempio n. 3
0
        public async Task <string> Handle(PrepareFolder request)
        {
            // open dialog, ask for folder
            var folder =
                await
                _dialogManager.BrowseForFolder(title : "Select folder to upload to the withSIX network")
                .ConfigureAwait(false);

            if (folder == null)
            {
                throw new OperationCanceledException("The user cancelled the operation");
            }
            // TODO: Restructure suggestions etc?
            _folderHandler.WhiteListFolder(folder.ToAbsoluteDirectoryPath());
            return(folder);
        }