Exemplo n.º 1
0
        private void LoadTablatureData(TablatureLibraryItem <TablatureFile> libraryItem)
        {
            //tablature information
            UpdateInfoLabel(lblCurrentArtist, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Artist);
            UpdateInfoLabel(lblCurrentTitle, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Title);
            UpdateInfoLabel(lblCurrentType, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Type.Name);
            UpdateInfoLabel(lblCurrentTuning, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Tuning.Name);
            UpdateInfoLabel(lblCurrentSubtitle, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Subtitle);
            UpdateInfoLabel(lblCurrentDifficulty, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Difficulty.Name);
            UpdateInfoLabel(lblCurrentAuthor, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Author);
            UpdateInfoLabel(lblCurrentCopyright, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Copyright);
            UpdateInfoLabel(lblCurrentAlbum, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Album);
            UpdateInfoLabel(lblCurrentGenre, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Genre);
            UpdateInfoLabel(lblCurrentComment, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Comment);

            txtLyrics.Text = libraryItem == null ? "" : libraryItem.File.Lyrics;

            //file information
            UpdateInfoLabel(lblCurrentLocation, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.FileInfo.FullName);
            UpdateInfoLabel(lblCurrentLength, libraryItem == null ? Resources.NotAvailableAbbreviation : string.Format("{0:n0} {1}", libraryItem.FileInfo.Length, Resources.Bytes));
            UpdateInfoLabel(lblCurrentFormat, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.FileHeader.Version.ToString());
            UpdateInfoLabel(lblCurrentCreated, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.FileInfo.CreationTime.ToString());
            UpdateInfoLabel(lblCurrentModified, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.FileInfo.LastWriteTime.ToString());
            UpdateInfoLabel(lblCurrentCompressed, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.FileHeader.Compression == CompressionMode.None ? Resources.No : Resources.Yes);
            UpdateInfoLabel(lblCurrentEncoding, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.FileAttributes.Encoding.EncodingName);
        }
Exemplo n.º 2
0
        public TabDetailsDialog(TablatureLibraryItem<TablatureFile> libraryItem, PlaylistManager playlistManager)
        {
            InitializeComponent();
            _libraryItem = libraryItem;
            _playlistManager = playlistManager;

            LoadTablatureData();
            LoadLibraryInformation();
        }
Exemplo n.º 3
0
        public TabDetailsDialog(TablatureLibraryItem <TablatureFile> libraryItem, PlaylistManager playlistManager)
        {
            InitializeComponent();
            _libraryItem     = libraryItem;
            _playlistManager = playlistManager;

            LoadTablatureData();
            LoadLibraryInformation();
        }
Exemplo n.º 4
0
        private void BuildLibraryCache(bool persistSelectedItem = true)
        {
            var selectedLibrary = SelectedLibrary();

            var items = new List <TablatureLibraryItem <TablatureFile> >();

            if (selectedLibrary == LibraryType.Playlist)
            {
                var selectedPlaylist = GetSelectedPlaylist();

                //todo improve this so we aren't creating arbitary items
                foreach (var tab in selectedPlaylist)
                {
                    var file = (TablatureFile)tab.File;

                    var dummyItem = new TablatureLibraryItem <TablatureFile>(file, tab.FileInfo);
                    items.Add(dummyItem);
                }
            }

            else
            {
                items.AddRange(_libraryManager.GetTablatureItems());
            }

            var currentItem = GetSelectedLibraryItem();

            _libraryCache.Clear();

            foreach (var item in items)
            {
                var visible = TablatureLibraryItemVisible(selectedLibrary, item);

                if (visible)
                {
                    _libraryCache.Add(item);
                }
            }

            listViewLibrary.SetObjects(_libraryCache);

            if (listViewLibrary.Items.Count > 0)
            {
                //persistant library selection
                if (persistSelectedItem && currentItem != null && _libraryCache.Contains(currentItem))
                {
                    listViewLibrary.SelectObject(currentItem);
                }

                else
                {
                    listViewLibrary.Items[0].Selected = true;
                }
            }
        }
Exemplo n.º 5
0
        public override bool Remove(TablatureLibraryItem <TablatureFile> libraryItem)
        {
            using (var cmd = new SQLiteCommand(_databaseHelper.GetConnection()))
            {
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = string.Format(@"DELETE FROM {0} WHERE id=@id", TabsterDatabaseHelper.TableLibraryItems);
                cmd.Parameters.Add(new SQLiteParameter("@id", libraryItem.Id));
                cmd.ExecuteNonQuery();
            }

            return(base.Remove(libraryItem));
        }
Exemplo n.º 6
0
        public void Update(TablatureLibraryItem <TablatureFile> libraryItem)
        {
            using (var cmd = new SQLiteCommand(_databaseHelper.GetConnection()))
            {
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = string.Format(@"INSERT OR REPLACE INTO {0} (id, filename, favorite, views, rating) VALUES (@id, @filename, @favorite, @views, @rating)", TabsterDatabaseHelper.TableLibraryItems);
                cmd.Parameters.Add(new SQLiteParameter("@id", libraryItem.Id));
                cmd.Parameters.Add(new SQLiteParameter("@filename", libraryItem.FileInfo.FullName));
                cmd.Parameters.Add(new SQLiteParameter("@favorite", libraryItem.Favorited));
                cmd.Parameters.Add(new SQLiteParameter("@views", libraryItem.Views));
                cmd.Parameters.Add(new SQLiteParameter("@rating", TablatureRatingUtilities.ToInt(libraryItem.Rating)));
                cmd.ExecuteNonQuery();

                libraryItem.Id = _databaseHelper.GetConnection().LastInsertRowId;
            }
        }
Exemplo n.º 7
0
        public void Load(bool useFileSystem)
        {
            if (useFileSystem)
            {
                LoadTablatureFiles();
            }

            else
            {
                using (var cmd = new SQLiteCommand(string.Format("SELECT * FROM {0}", TabsterDatabaseHelper.TableLibraryItems), _databaseHelper.GetConnection()))
                {
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var id       = long.Parse(reader["id"].ToString());
                            var filename = reader["filename"].ToString();
                            var favorite = bool.Parse(reader["favorite"].ToString());
                            var views    = int.Parse(reader["views"].ToString());
                            var rating   = TablatureRatingUtilities.FromString(reader["rating"].ToString());

                            var file = _fileProcessor.Load(filename);

                            if (file != null)
                            {
                                var fileInfo = new FileInfo(filename);
                                var item     = new TablatureLibraryItem <TablatureFile>(file, fileInfo)
                                {
                                    Id        = id,
                                    Favorited = favorite,
                                    Views     = views,
                                    Rating    = rating
                                };

                                base.Add(item);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 8
0
        private bool TablatureLibraryItemVisible(LibraryType selectedLibrary, TablatureLibraryItem <TablatureFile> item)
        {
            var libraryMatch =
                selectedLibrary == LibraryType.Playlist ||
                selectedLibrary == LibraryType.AllTabs ||
                (selectedLibrary == LibraryType.MyTabs && item.File.SourceType == TablatureSourceType.UserCreated) ||
                (selectedLibrary == LibraryType.MyDownloads && item.File.SourceType == TablatureSourceType.Download) ||
                (selectedLibrary == LibraryType.MyImports && item.File.SourceType == TablatureSourceType.FileImport) ||
                (selectedLibrary == LibraryType.MyFavorites && item.Favorited) ||
                (selectedLibrary == LibraryType.TabType && sidemenu.SelectedNode.Tag.ToString() == item.File.Type.ToString());

            var searchValue = txtLibraryFilter.Text;

            if (libraryMatch)
            {
                return(searchValue == null || (item.File.Artist.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0 ||
                                               item.File.Title.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0 ||
                                               item.FileInfo.FullName.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0 ||
                                               (item.File.Comment != null && item.File.Comment.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0) ||
                                               item.File.Contents.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0));
            }

            return(false);
        }
Exemplo n.º 9
0
        private bool TablatureLibraryItemVisible(LibraryType selectedLibrary, TablatureLibraryItem<TablatureFile> item)
        {
            var libraryMatch =
                selectedLibrary == LibraryType.Playlist ||
                selectedLibrary == LibraryType.AllTabs ||
                (selectedLibrary == LibraryType.MyTabs && item.File.SourceType == TablatureSourceType.UserCreated) ||
                (selectedLibrary == LibraryType.MyDownloads && item.File.SourceType == TablatureSourceType.Download) ||
                (selectedLibrary == LibraryType.MyImports && item.File.SourceType == TablatureSourceType.FileImport) ||
                (selectedLibrary == LibraryType.MyFavorites && item.Favorited) ||
                (selectedLibrary == LibraryType.TabType && sidemenu.SelectedNode.Tag.ToString() == item.File.Type.ToString());

            var searchValue = txtLibraryFilter.Text;

            if (libraryMatch)
            {
                return searchValue == null || (item.File.Artist.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0 ||
                                               item.File.Title.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0 ||
                                               item.FileInfo.FullName.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0 ||
                                               (item.File.Comment != null && item.File.Comment.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0) ||
                                               item.File.Contents.IndexOf(searchValue, StringComparison.OrdinalIgnoreCase) >= 0);
            }

            return false;
        }
Exemplo n.º 10
0
        private void LoadTablatureData(TablatureLibraryItem<TablatureFile> libraryItem)
        {
            //tablature information
            UpdateInfoLabel(lblCurrentArtist, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Artist);
            UpdateInfoLabel(lblCurrentTitle, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Title);
            UpdateInfoLabel(lblCurrentType, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Type.Name);
            UpdateInfoLabel(lblCurrentTuning, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Tuning.Name);
            UpdateInfoLabel(lblCurrentSubtitle, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Subtitle);
            UpdateInfoLabel(lblCurrentDifficulty, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Difficulty.Name);
            UpdateInfoLabel(lblCurrentAuthor, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Author);
            UpdateInfoLabel(lblCurrentCopyright, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Copyright);
            UpdateInfoLabel(lblCurrentAlbum, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Album);
            UpdateInfoLabel(lblCurrentGenre, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Genre);
            UpdateInfoLabel(lblCurrentComment, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.Comment);

            txtLyrics.Text = libraryItem == null ? "" : libraryItem.File.Lyrics;

            //file information
            UpdateInfoLabel(lblCurrentLocation, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.FileInfo.FullName);
            UpdateInfoLabel(lblCurrentLength, libraryItem == null ? Resources.NotAvailableAbbreviation : string.Format("{0:n0} {1}", libraryItem.FileInfo.Length, Resources.Bytes));
            UpdateInfoLabel(lblCurrentFormat, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.FileHeader.Version.ToString());
            UpdateInfoLabel(lblCurrentCreated, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.FileInfo.CreationTime.ToString());
            UpdateInfoLabel(lblCurrentModified, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.FileInfo.LastWriteTime.ToString());
            UpdateInfoLabel(lblCurrentCompressed, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.FileHeader.Compression == CompressionMode.None ? Resources.No : Resources.Yes);
            UpdateInfoLabel(lblCurrentEncoding, libraryItem == null ? Resources.NotAvailableAbbreviation : libraryItem.File.FileAttributes.Encoding.EncodingName);
        }
Exemplo n.º 11
0
        private void BuildLibraryCache(bool persistSelectedItem = true)
        {
            var selectedLibrary = SelectedLibrary();

            var items = new List<TablatureLibraryItem<TablatureFile>>();

            if (selectedLibrary == LibraryType.Playlist)
            {
                var selectedPlaylist = GetSelectedPlaylist();

                //todo improve this so we aren't creating arbitary items
                foreach (var tab in selectedPlaylist)
                {
                    var file = (TablatureFile) tab.File;

                    var dummyItem = new TablatureLibraryItem<TablatureFile>(file, tab.FileInfo);
                    items.Add(dummyItem);
                }
            }

            else
            {
                items.AddRange(_libraryManager.GetTablatureItems());
            }

            var currentItem = GetSelectedLibraryItem();

            _libraryCache.Clear();

            foreach (var item in items)
            {
                var visible = TablatureLibraryItemVisible(selectedLibrary, item);

                if (visible)
                    _libraryCache.Add(item);
            }

            listViewLibrary.SetObjects(_libraryCache);

            if (listViewLibrary.Items.Count > 0)
            {
                //persistant library selection
                if (persistSelectedItem && currentItem != null && _libraryCache.Contains(currentItem))
                {
                    listViewLibrary.SelectObject(currentItem);
                }

                else
                {
                    listViewLibrary.Items[0].Selected = true;
                }
            }
        }