Example #1
0
        /// <summary>
        /// Handle lyric source removal.
        /// </summary>
        /// <param name="e">Param for removal operation.</param>
        private void OnRemoveLrcSourceButtonClicked(RoutedEventArgs e)
        {
            var ctx = (LrcSourceModel)((Button)e.OriginalSource).DataContext;

            SourceScriptManager.RemoveScript(ctx.Name);
            LrcSources.Remove(ctx);
        }
Example #2
0
        /// <summary>
        /// Method for loading lyric sources.
        /// </summary>
        public void LoadLyricsSources()
        {
            var scripts = SourceScriptManager.GetAllScripts();

            foreach (var s in scripts)
            {
                LrcSources.Add(new LrcSourceModel
                {
                    Name = s.Name,
                    RemoveLrcSourceButtonClickedRelayCommand = _removeLrcSourceButtonClickedRelayCommand
                });
            }
        }
Example #3
0
        /// <summary>
        /// Handle adding lyric source.
        /// </summary>
        private async void AddLrcSourceStub()
        {
            try
            {
                FileOpenPicker picker = new FileOpenPicker
                {
                    ViewMode = PickerViewMode.List,
                    SuggestedStartLocation = PickerLocationId.DocumentsLibrary,
                };
                picker.FileTypeFilter.Add(CommonSharedStrings.JavaScriptFileFormatSuffix);

                var files = await picker.PickMultipleFilesAsync();

                foreach (var file in files)
                {
                    var name = file.DisplayName;
                    if (LrcSources.Any(source => source.Name == name))
                    {
                        // TODO: let user choose to rename or overwrite.
                    }

                    var text = await FileIO.ReadTextAsync(file);

                    SourceScriptManager.AddScript(name, text);
                    LrcSources.Add(new LrcSourceModel
                    {
                        Name = name,
                        RemoveLrcSourceButtonClickedRelayCommand = _removeLrcSourceButtonClickedRelayCommand
                    });
                }
            }
            catch (SecurityException)
            {
                // Ignore, notify user
            }
            catch (COMException)
            {
                // Ignore, notify user
            }
            catch (FileNotFoundException)
            {
                // Ignore, notify user
            }
        }
Example #4
0
 /// <summary>
 /// Method for clean up.
 /// </summary>
 public override void Cleanup()
 {
     LrcSources.Clear();
     base.Cleanup();
 }