public static InternalLibraryPageLink Create(InternalLibraryPageLinkInfo linkInfo, LibraryFolder parentFolder)
		{
			var link = CreateEntity<InternalLibraryPageLink>();
			link.Name = linkInfo.Name;
			link.Folder = parentFolder;
			((InternalLibraryPageLinkSettings)link.Settings).LibraryName = linkInfo.LibraryName;
			((InternalLibraryPageLinkSettings)link.Settings).PageName = linkInfo.PageName;
			((InternalLibraryPageLinkSettings)link.Settings).HeaderIcon = linkInfo.HeaderIcon;
			((InternalLibraryPageLinkSettings)link.Settings).ShowHeaderText = linkInfo.ShowHeaderText;
			((InternalLibraryPageLinkSettings)link.Settings).PageViewType = linkInfo.PageViewType;
			((InternalLibraryPageLinkSettings)link.Settings).ShowLogo = linkInfo.ShowLogo;
			((InternalLibraryPageLinkSettings)link.Settings).ShowText = linkInfo.ShowText;
			((InternalLibraryPageLinkSettings)link.Settings).ShowWindowHeaders = linkInfo.ShowWindowHeaders;
			((InternalLibraryPageLinkSettings)link.Settings).TextColor = linkInfo.TextColor;
			((InternalLibraryPageLinkSettings)link.Settings).BackColor = linkInfo.BackColor;
			if (linkInfo.FormatAsBluelink)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Underline;
				link.Settings.ForeColor = Color.Blue;
			}
			if (linkInfo.FormatBold)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Bold;
			}
			return link;
		}
Example #2
0
        void EnumerateInstruments(string root)
        {
            var           files    = Directory.EnumerateFiles(root, "*.nki", SearchOption.AllDirectories).ToArray();
            var           lastPath = "";
            var           regex    = new Regex(@"^([\d.]* )");
            LibraryFolder folder   = null;

            foreach (var file in files)
            {
                var path = Path.GetDirectoryName(file);
                path = path.Replace(root + @"\", "");
                if (path.Contains("Instruments_old"))
                {
                    continue;
                }
                if (path.Contains(@"OT Berlin Strings\Instruments\1.0\"))
                {
                    continue;
                }
                path = path.Replace(@"\Instruments\", @"\");
                path = path.Replace(@"BST - Main Collection 2.1\", @"");
                path = path.Replace(@"Instruments_1_2\", @"");
                path = path.Replace(@"Instruments_1_2", @"\");
                path = path.Replace(@"BST A - Special Bows I 2.1\", @"");
                path = path.Replace(@"BST B - Special Bows II 2.1\", @"");
                path = path.Replace(@"BST E - SFX 1.1\", @"");
                //path = path.Replace(@"Instruments main mics\", @"");
                //path = path.Replace(@"Instruments alt mics 1.1\", @"");
                if (lastPath != path)
                {
                    var libraryName          = path.Split('\\')[0];
                    var shortenedLibraryName = libraryName.Length > 30
                                                                           ? libraryName.Substring(0, 30)
                                                                           : libraryName;
                    Library library;
                    if (!_libraries.TryGetValue(shortenedLibraryName, out library))
                    {
                        library = _libraries[shortenedLibraryName] = new Library(_excel, libraryName);
                    }

                    path   = path.Replace(libraryName + @"\", "");
                    folder = library.GetFolder(path);

                    if (_instrumentEntries.Any())
                    {
                        _instrumentEntries.Add("");
                    }
                    lastPath = path;
                    _instrumentEntries.Add(path);
                    _paths.Add(path);
                }
                var name = Path.GetFileNameWithoutExtension(file).Replace('_', ' ');
                name = regex.Replace(name, "");
                _instrumentEntries.Add("\t" + name);
                var tags       = FindMatchingTags(name);
                var instrument = new Instrument(name, tags);
                folder.Instruments.Add(instrument);
                _instrumentCount++;
            }
        }
 private XElement Write(LibraryFolder folder, string nodeName)
 {
     return new XElement(nodeName,
         new XAttribute("Path", folder.Path),
         _fileConverter.WriteChildren(folder.Files, "File")
     );
 }
        private void RefreshApps()
        {
            this.infosGrid.Visibility        = Visibility.Collapsed;
            this.welcomeLabelGrid.Visibility = Visibility.Visible;

            listBox.Items.Clear();
            steamApps.Clear();

            List <LibraryFolder> directories = LibraryFolder.GetAllLibraryFolders();

            foreach (LibraryFolder directory in directories)
            {
                foreach (SteamUtils.App app in directory.apps)
                {
                    steamApps.Add(app);
                }
            }

            //Sort steamApps
            steamApps = steamApps.OrderBy(o => o.appName).ToList();

            //Add to the List
            foreach (SteamUtils.App app in steamApps)
            {
                listBox.Items.Add(app.appName);
            }
        }
Example #5
0
        private async void AddLibraryButton_Click(object sender, RoutedEventArgs e)
        {
            FolderPicker Picker = new FolderPicker
            {
                ViewMode = PickerViewMode.List,
                SuggestedStartLocation = PickerLocationId.ComputerFolder
            };

            Picker.FileTypeFilter.Add("*");

            if (await Picker.PickSingleFolderAsync() is StorageFolder Folder)
            {
                if (CommonAccessCollection.LibraryFolderList.Any((Library) => Library.Folder.Path.Equals(Folder.Path, StringComparison.OrdinalIgnoreCase)))
                {
                    QueueContentDialog dialog = new QueueContentDialog
                    {
                        Title           = Globalization.GetString("Common_Dialog_TipTitle"),
                        Content         = Globalization.GetString("QueueDialog_RepeatAddToHomePage_Content"),
                        CloseButtonText = Globalization.GetString("Common_Dialog_CloseButton")
                    };
                    _ = await dialog.ShowAsync();
                }
                else
                {
                    CommonAccessCollection.LibraryFolderList.Add(await LibraryFolder.CreateAsync(Folder, LibraryType.UserCustom));
                    await SQLite.Current.SetLibraryPathAsync(Folder.Path, LibraryType.UserCustom).ConfigureAwait(false);

                    await JumpListController.Current.AddItemAsync(JumpListGroup.Library, Folder.Path).ConfigureAwait(false);
                }
            }
        }
Example #6
0
		public static LineBreak Create(LibraryFolder parentFolder)
		{
			return CreateEntity<LineBreak>(lineBreak =>
			{
				lineBreak.Folder = parentFolder;
			});
		}
		public static LinkBundleLink Create(LibraryFolder parentFolder, LinkBundle bundle)
		{
			return CreateEntity<LinkBundleLink>(linkBundleLink =>
			{
				linkBundleLink.Name = bundle.Name;
				linkBundleLink.Folder = parentFolder;
				((LinkBundleLinkSettings)linkBundleLink.Settings).BundleId = bundle.ExtId;
			});
		}
Example #8
0
            public LibraryFolder GetFolder(string path)
            {
                LibraryFolder result;

                if (!Folders.TryGetValue(path, out result))
                {
                    result = Folders[path] = new LibraryFolder();
                }
                return(result);
            }
        private void importButton_Click(object sender, RoutedEventArgs e)
        {
            System.Windows.MessageBox.Show("Please select an existing Steam library folder (containing /steamapps/).", "Information", MessageBoxButton.OK, MessageBoxImage.Information);

            FolderBrowserDialog dialog = new FolderBrowserDialog();
            DialogResult        result = dialog.ShowDialog();

            if (result == System.Windows.Forms.DialogResult.OK)
            {
                string selectedPath = dialog.SelectedPath;
                if (Directory.GetFiles(selectedPath, "steam.dll").Length == 0)
                {
                    MessageBoxResult msgResult = System.Windows.MessageBox.Show("This folder is missing steam.dll and doesn't seem to be a valid Steam library folder.\nImport it anyway?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning);
                    if (msgResult == MessageBoxResult.No)
                    {
                        return;
                    }
                }

                LibraryFolder folder = new LibraryFolder(selectedPath + "\\steamapps");

                if (folder.apps.Count == 0)
                {
                    MessageBoxResult msgResult = System.Windows.MessageBox.Show("This library folder doesn't contain any Steam apps.\nImport it anyway?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning);
                    if (msgResult == MessageBoxResult.No)
                    {
                        return;
                    }
                }

                if (LibraryFolder.AddLibraryFolderToVDF(selectedPath) == -1)
                {
                    System.Windows.MessageBox.Show("This library folder is already in your Steam library.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                string games = "";

                foreach (Steam_Apps_Manager.SteamUtils.App app in folder.apps)
                {
                    games += "\n" + app.appName;
                }

                if (folder.apps.Count == 0)
                {
                    System.Windows.MessageBox.Show("The library folder was successfully imported, but no apps were added to your library." + games, "Information", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    System.Windows.MessageBox.Show("The library folder was successfully imported. The following games were added to your library:" + games, "Information", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
        }
		public static NetworkLink Create(LanLinkInfo linkInfo, LibraryFolder parentFolder)
		{
			var link = Create(linkInfo.Path);
			link.Name = linkInfo.Name;
			link.Folder = parentFolder;
			if (linkInfo.FormatAsBluelink)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Underline;
				link.Settings.ForeColor = Color.Blue;
			}
			if (linkInfo.FormatBold)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Bold;
			}
			return link;
		}
        private void CopyWorkFolder()
        {
            WorkFolder workFolder = new WorkFolder();

            workFolder.DeleteAtClose          = true;
            workFolder.FolderNamePrefix       = "Lib_";
            workFolder.FolderNameFormatString = $"yyyyMMdd_HHmmss";
            workFolder.FolderNameSuffix       = $"_{Path.GetFileNameWithoutExtension(this.TargetFile.FileName)}";
            workFolder.Create();
            //作成した一時フォルダに各ファイルをコピー
            this.m_ModulePathList.ForEach(filename => {
                string dstName = Path.Combine(workFolder.Path, Path.GetFileName(filename));
                File.Copy(filename, dstName, true);
            });
            this.m_OutputFolder = workFolder;
        }
		public static InternalShortcutLink Create(InternalShortcutLinkInfo linkInfo, LibraryFolder parentFolder)
		{
			var link = CreateEntity<InternalShortcutLink>();
			link.Name = linkInfo.Name;
			link.Folder = parentFolder;
			((InternalShortcutLinkSettings)link.Settings).ShortcutId = linkInfo.ShortcutId;
			((InternalShortcutLinkSettings)link.Settings).OpenOnSamePage = linkInfo.OpenOnSamePage;
			if (linkInfo.FormatAsBluelink)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Underline;
				link.Settings.ForeColor = Color.Blue;
			}
			if (linkInfo.FormatBold)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Bold;
			}
			return link;
		}
Example #13
0
        public LibraryPageViewModel(IContext context)
            : base(context)
        {
            Importer = Context.Services.Utilise <ImporterService>();
            Player   = Context.Services.Utilise <PlayerService>();

            Folders = new BindableCollection <LibraryFolder>();
            Folders.Add(new LibraryFolder("Now Playing", Player.CurrentPlaylist.ToList()));
            Folders.Add(new LibraryFolder("All Tracks", Player.TracksCollection));
            Folders.Add(new LibraryFolder("Recent", Player.GetRecentTracks()));
            Folders.Add(new LibraryFolder("Unheard", Player.GetUnheardTracks()));
            Folders.Add(new LibraryFolder("Favourites", Player.GetFavouriteTracks()));

            _searchFolder = new LibraryFolder("Search", null, isEnabled: false);
            Folders.Add(_searchFolder);

            Folders.Refresh();
        }
		public static InternalLibraryObjectLink Create(InternalLibraryObjectLinkInfo linkInfo, LibraryFolder parentFolder)
		{
			var link = CreateEntity<InternalLibraryObjectLink>();
			link.Name = linkInfo.Name;
			link.Folder = parentFolder;
			((InternalLibraryObjectLinkSettings)link.Settings).LibraryName = linkInfo.LibraryName;
			((InternalLibraryObjectLinkSettings)link.Settings).PageName = linkInfo.PageName;
			((InternalLibraryObjectLinkSettings)link.Settings).WindowName = linkInfo.WindowName;
			((InternalLibraryObjectLinkSettings)link.Settings).LinkName = linkInfo.LinkName;
			if (linkInfo.FormatAsBluelink)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Underline;
				link.Settings.ForeColor = Color.Blue;
			}
			if (linkInfo.FormatBold)
			{
				((LibraryObjectLinkSettings)link.Settings).RegularFontStyle = ((LibraryObjectLinkSettings)link.Settings).RegularFontStyle | FontStyle.Bold;
			}
			return link;
		}
        private void button_Click(object sender, RoutedEventArgs e)
        {
            if (this.comboBox.SelectedIndex == libraryFolders.Count)
            {
                selectedFolder = LibraryFolder.CreateNew();
                if (selectedFolder == null)
                {
                    Refresh();
                    return;
                }
            }
            else
            {
                selectedFolder = libraryFolders[this.comboBox.SelectedIndex];
            }

            long totalBytes = 0;

            foreach (SteamUtils.App app in this.steamApps)
            {
                totalBytes += app.sizeOnDisk;
            }

            if (selectedFolder.GetAvailableFreeDiskSpace() <= totalBytes)
            {
                System.Windows.MessageBox.Show("You don't have enough free space on disk " + selectedFolder.path[0] + " to move the game(s).", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                Refresh();
                return;
            }

            //Beginning
            this.appNameMovingLabel.Content = "Moving " + this.formattedGameList + " to " + selectedFolder.path + "\\";

            this.progressBar.Value   = 0;
            this.progressBar.Maximum = 1000;

            this.folderSelectGrid.Visibility = Visibility.Collapsed;
            this.movingGrid.Visibility       = Visibility.Visible;

            this.worker.RunWorkerAsync();
        }
Example #16
0
        /// <summary>
        /// フォルダを巡回して、ノードを作成する。
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="library"></param>
        /// <param name="folder"></param>
        private void EnumerateFolder(ExplorerTreeNode parent, Library library, LibraryFolder folder)
        {
            //NOTE:parentはLibraryRootNodeも含めるため、ExplorerTreeNodeで宣言する
            string name = Path.GetFileName(folder.Path);
            //指定されたフォルダに対応するノードの存在有無を確認し、無ければ追加する。
            LibraryFolderTreeNode node = parent.Nodes.Cast <LibraryFolderTreeNode>().FirstOrDefault(x => x.LibraryFolder?.Path == folder.Path);

            if (node == null)
            {
                node = new LibraryFolderTreeNode(folder);
                parent.Nodes.Add(node);
            }


            //子ノードに不要なノードがないかの確認
            //NOTE:RootNodeにはこのチェックは不要のため、子ノードからスタートしている
            List <LibraryFolderTreeNode> cloneList = node.Nodes.Cast <LibraryFolderTreeNode>().ToList();

            cloneList.Where(child => library.Find(X => X.Path == child.LibraryFolder?.Path) == null).ToList()
            .ForEach(child => node.Nodes.Remove(child));

            //for (int i = node.Nodes.Count - 1; i >= 0; i--) {
            //    LibraryFolderTreeNode child = (LibraryFolderTreeNode)node.Nodes[i];
            //    LibraryFolder childFolder = library.Find(x => x.Path == child.LibraryFolder?.Path);
            //    if (childFolder == null) {
            //        node.Nodes.Remove(child);
            //    }
            //}


            //サブフォルダに対して再帰処理
            foreach (string subDirectory in Directory.GetDirectories(folder.Path))
            {
                LibraryFolder subFolder = library.Find(x => x.Path == subDirectory);
                this.EnumerateFolder(node, library, subFolder);
            }
        }
        private void Refresh()
        {
            this.movingGrid.Visibility       = Visibility.Collapsed;
            this.folderSelectGrid.Visibility = Visibility.Visible;

            selectedFolder = null;

            this.comboBox.Items.Clear();
            this.libraryFolders.Clear();

            List <LibraryFolder> tempLibraryFolders = LibraryFolder.GetAllLibraryFolders();

            foreach (LibraryFolder folder in tempLibraryFolders)
            {
                if (folder.path != steamApps[0].folder.path)
                {
                    this.comboBox.Items.Add(folder.path);
                    libraryFolders.Add(folder);
                }
            }

            this.comboBox.Items.Add("Create a new Steam library folder...");
            this.comboBox.SelectedIndex = 0;
        }
 /// <summary>
 /// ShowLibraryFolderPropertyRequestEventArgsオブジェクトの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="targetFolder"></param>
 /// <param name="ownerName"></param>
 public ShowLibraryFolderPropertyRequestEventArgs(LibraryFolder targetFolder, string ownerName) : base(new ShowLibraryFolderPropertyRequestData(targetFolder), ownerName)
 {
 }
 /// <summary>
 /// ShowLibraryFolderPropertyRequestEventArgsオブジェクトの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="targetFolder"></param>
 public ShowLibraryFolderPropertyRequestEventArgs(LibraryFolder targetFolder) : this(targetFolder, "")
 {
 }
 /// <summary>
 /// ShowLibraryFolderPropertyRequestDataオブジェクトの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="targetFolder"></param>
 public ShowLibraryFolderPropertyRequestData(LibraryFolder targetFolder)
 {
     this.m_TargetFolder = targetFolder;
 }
Example #21
0
        public async Task <IHttpActionResult> PostLibraryFolder(ViewModels.LibraryFolderDto dto)
        {
            // return Ok(client);
            if (dto == null)
            {
                return(Exceptions.getNullException(ModelState));
            }
            if (!ModelState.IsValid)
            {
                // return BadRequest(ModelState);
                return(Exceptions.getModelValidationException(ModelState));
            }
            var validate = unitOfWork.LibraryFolderRepository.Validate(dto);

            if (validate.Code != HttpStatusCode.OK)
            {
                return(validate);
            }

            LibraryFolder entity = null;

            if (dto.Id == -1)
            {
                entity = new LibraryFolder();
                unitOfWork.LibraryFolderRepository.Insert(entity);
            }

            else
            {
                entity = await unitOfWork.LibraryFolderRepository.GetByID(dto.Id);
            }

            if (entity == null)
            {
                return(Exceptions.getNotFoundException());
            }

            //ViewModels.Location.Fill(entity, dto);
            ViewModels.LibraryFolderDto.Fill(entity, dto);

            LibraryFolder parent = null;

            if (entity.ParentId != null)
            {
                parent = await unitOfWork.LibraryFolderRepository.GetByID(entity.ParentId);
            }


            var saveResult = await unitOfWork.SaveAsync();

            if (saveResult.Code != HttpStatusCode.OK)
            {
                return(saveResult);
            }

            dto.Id = entity.Id;

            if (parent == null)
            {
                entity.FullCode = entity.Id.ToString();
            }
            else
            {
                entity.FullCode = parent.FullCode + "-" + entity.Id.ToString();
            }
            saveResult = await unitOfWork.SaveAsync();

            if (saveResult.Code != HttpStatusCode.OK)
            {
                return(saveResult);
            }
            var view = unitOfWork.LibraryFolderRepository.GetViewLibraryFolder().FirstOrDefault(q => q.Id == entity.Id);

            return(Ok(view));
        }
Example #22
0
 /// <summary>
 /// NotifyWorkspaceFolderChangedRequestEventArgsオブジェクトの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="workspaceFolder"></param>
 /// <param name="args"></param>
 /// <param name="ownerName"></param>
 public NotifyWorkspaceFolderChangedRequestEventArgs(LibraryFolder workspaceFolder, FileSystemEventArgs args, string ownerName) : base(new NotifyWorkspaceFolderChangedRequestData(workspaceFolder, args), ownerName)
 {
 }
Example #23
0
 /// <summary>
 /// NotifyWorkspaceFolderChangedRequestEventArgsオブジェクトの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="workspaceFolder"></param>
 /// <param name="args"></param>
 public NotifyWorkspaceFolderChangedRequestEventArgs(LibraryFolder workspaceFolder, FileSystemEventArgs args) : this(workspaceFolder, args, "")
 {
 }
		public static LibraryFileLink Create(SourceLink sourceLink, LibraryFolder parentFolder)
		{
			var link = Create(sourceLink, parentFolder.Page.Library);
			link.Folder = parentFolder;
			link.AfterCreate();
			return link;
		}
Example #25
0
 /// <summary>
 /// LibraryFolderTreeNodeオブジェクトの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="folder"></param>
 public LibraryFolderTreeNode(LibraryFolder folder) : this()
 {
     this.LibraryFolder = folder;
 }
Example #26
0
 /// <summary>
 /// NotifyWorkspaceFolderChangedRequestDataオブジェクトの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="workspaceFolder"></param>
 /// <param name="args"></param>
 public NotifyWorkspaceFolderChangedRequestData(LibraryFolder workspaceFolder, FileSystemEventArgs args)
 {
     this.m_WorkspaceFolder     = workspaceFolder;
     this.m_FileSyatemEventArgs = args;
 }
 /// <summary>
 /// 指定したLibraryFolderをTargetFolderに設定します。
 /// </summary>
 /// <param name="folder"></param>
 public void SetTargetFolder(LibraryFolder folder)
 {
     this.TargetFolder = folder;
 }