public GetLastPlayedBookmark ( int book_id ) : Banshee.Collection.Database.Bookmark | ||
book_id | int | |
return | Banshee.Collection.Database.Bookmark |
internal void UpdateActions() { var selection = library.BooksModel.Selection; bool has_selection = selection.Count > 0; bool has_single_selection = selection.Count == 1; UpdateAction("AudiobookMerge", !has_single_selection, true); UpdateAction("AudiobookEdit", true, has_selection); bool can_resume = false; if (has_single_selection) { var book = library.ActiveBook; if (book != null && library.GetLastPlayedBookmark(book.DbId) != null) { var playback_book = library.PlaybackSource.Book; if (playback_book == null || book.DbId != playback_book.DbId) { can_resume = true; } } } UpdateAction("AudiobookResume", library.CurrentViewBook != null, can_resume); UpdateAction("AudiobookResumeSelected", can_resume, true); UpdateAction("AudiobookSwitchToGrid", library.CurrentViewBook != null, true); }
public void SetBook(DatabaseAlbumInfo book) { ThreadAssist.AssertInMainThread(); Book = book; title_label.Markup = String.Format( "<span size=\"x-large\" weight=\"bold\">{0}</span>\n" + "{1}", GLib.Markup.EscapeText(book.Title), GLib.Markup.EscapeText(book.ArtistName) ); var bookmark = library.GetLastPlayedBookmark(book.DbId); UpdateResumeButton(bookmark); UpdateCover(); /*var bookmarks = Bookmark.Provider.FetchAllMatching ( * "TrackID IN (SELECT TrackID FROM CoreTracks WHERE PrimarySourceID = ? AND AlbumID = ?)", * library.DbId, book.DbId * );*/ rating_entry.Value = (int)Math.Round(ServiceManager.DbConnection.Query <double> ( "SELECT AVG(RATING) FROM CoreTracks WHERE PrimarySourceID = ? AND AlbumID = ?", library.DbId, book.DbId )); }