New context with albums and lyrics +++ much more

* Added new lyrics provider with lyrics from AudD and API Seeds
* New improved context widget with albums and lyrics
* Fixed playing and context widget getting stuck in play mode when there was an error
* Changed icons for artists in collection, tidal and cover manager
* Removed "search" icon from "Search automatically" checkbox (right click) that looked ugly
* Removed some unused widgets from the src/widgets directory
* Fixed initial size of window and side panel
* Fixed saving window size correctly
This commit is contained in:
Jonas Kvinge
2018-08-29 21:42:24 +02:00
parent 3b30e66e87
commit ac6cac8da1
96 changed files with 4361 additions and 3135 deletions

View File

@@ -1448,9 +1448,9 @@ void Playlist::StopAfter(int row) {
}
void Playlist::SetStreamMetadata(const QUrl &url, const Song &song) {
//qLog(Debug) << "Setting metadata for" << url << "to" << song.artist() << song.title();
if (!current_item()) return;
if (current_item()->Url() != url) return;
@@ -1881,14 +1881,18 @@ bool Playlist::ApplyValidityOnCurrentSong(const QUrl &url, bool valid) {
Song current_song = current->Metadata();
// If validity has changed, reload the item
if(!current_song.is_cdda() && current_song.url() == url && current_song.is_valid() != QFile::exists(current_song.url().toLocalFile())) {
ReloadItems(QList<int>() << current_row());
}
// FIXME: Why?
// Removed this because it caused "Empty filename passed to function" errors when not using local filenames.
// It also causes Context and Playing widget to reload the image and getting stuck in playing mode when the URL is broken.
//if(!current_song.is_cdda() && current_song.url() == url && current_song.is_valid() != QFile::exists(current_song.url().toLocalFile())) {
//ReloadItems(QList<int>() << current_row());
//}
// Gray out the song if it's now broken; otherwise undo the gray color
if (valid) {
current->RemoveForegroundColor(kInvalidSongPriority);
} else {
}
else {
current->SetForegroundColor(kInvalidSongPriority, kInvalidSongColor);
}
}

View File

@@ -394,7 +394,7 @@ void PlaylistListContainer::contextMenuEvent(QContextMenuEvent *e) {
void PlaylistListContainer::ActivePlaying() {
if (padded_play_icon_.isNull()) {
QPixmap pixmap(":pictures/tiny-play.png");
QPixmap pixmap(":/pictures/tiny-play.png");
QPixmap new_pixmap(QSize(pixmap.height(), pixmap.height()));
new_pixmap.fill(Qt::transparent);
@@ -409,7 +409,7 @@ void PlaylistListContainer::ActivePlaying() {
}
void PlaylistListContainer::ActivePaused() {
UpdateActiveIcon(active_playlist_id_, QIcon(":pictures/tiny-pause.png"));
UpdateActiveIcon(active_playlist_id_, QIcon(":/pictures/tiny-pause.png"));
}
void PlaylistListContainer::ActiveStopped() {

View File

@@ -584,7 +584,8 @@ void PlaylistView::RemoveSelected(bool deleting_from_disk) {
if (!deleting_from_disk) {
model()->removeRows(range.top(), range.height(), range.topLeft());
} else {
}
else {
model()->removeRows(range.top(), range.height(), QModelIndex());
}
}
@@ -938,13 +939,14 @@ void PlaylistView::ReloadSettings() {
header_->SetColumnWidth(Playlist::Column_Track, 0.02);
header_->SetColumnWidth(Playlist::Column_Title, 0.16);
header_->SetColumnWidth(Playlist::Column_Artist, 0.10);
header_->SetColumnWidth(Playlist::Column_Album, 0.10);
header_->SetColumnWidth(Playlist::Column_Artist, 0.12);
header_->SetColumnWidth(Playlist::Column_Album, 0.12);
header_->SetColumnWidth(Playlist::Column_Length, 0.03);
header_->SetColumnWidth(Playlist::Column_Bitrate, 0.07);
header_->SetColumnWidth(Playlist::Column_Samplerate, 0.07);
header_->SetColumnWidth(Playlist::Column_Bitdepth, 0.07);
header_->SetColumnWidth(Playlist::Column_Bitrate, 0.07);
header_->SetColumnWidth(Playlist::Column_Filetype, 0.06);
header_->SetColumnWidth(Playlist::Column_Source, 0.06);
setting_initial_header_layout_ = false;
}