summaryrefslogtreecommitdiffstats
path: root/playerwidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-03-04 07:37:14 +0100
committerArno <arno@disconnect.de>2017-03-04 07:37:14 +0100
commit171c5c661b40cfec59719ef27db3446010d67ad5 (patch)
tree9f6d4a8b9db5c865163584e01554af06cd72043b /playerwidget.cpp
parent078d126c87e3f8fb811dce8a0dfb1fb2fcf83d93 (diff)
downloadBeetPlayer-171c5c661b40cfec59719ef27db3446010d67ad5.tar.gz
BeetPlayer-171c5c661b40cfec59719ef27db3446010d67ad5.tar.bz2
BeetPlayer-171c5c661b40cfec59719ef27db3446010d67ad5.zip
Change artwork
Add icons for genres, songs, albums and artists. As it turns out, you really should use the copy constructor of QIcon. Speeds up things considerably!
Diffstat (limited to 'playerwidget.cpp')
-rw-r--r--playerwidget.cpp33
1 files changed, 23 insertions, 10 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp
index 800c142..d3d0191 100644
--- a/playerwidget.cpp
+++ b/playerwidget.cpp
@@ -229,6 +229,9 @@ void PlayerWidget::populateByArtist(QStandardItem *parent, const QString &filter
albumQ.prepare("SELECT DISTINCT(songs.ialbums_id), talbum_name, siyear FROM songs, albums WHERE songs.iartists_id = :artistid AND songs.ialbums_id = albums.ialbums_id ORDER BY siyear ASC");
QSqlQuery songQ(db);
songQ.prepare("SELECT sipos, ttitle, tfullpath, igenres_id FROM songs WHERE ialbums_id = :alid AND iartists_id = :arid ORDER BY sipos ASC");
+ QIcon songIcon(":/song.png");
+ QIcon albumIcon(":/album.png");
+ QIcon artistIcon(":/artist.png");
//read data
artistsQ.exec();
@@ -236,8 +239,8 @@ void PlayerWidget::populateByArtist(QStandardItem *parent, const QString &filter
QStandardItem *curArtist = new QStandardItem;
curArtist->setEditable(false);
curArtist->setFont(QFont("courier"));
- QString artistText = QString(tr("%1 %2")).arg(QString("🅐")).arg(artistsQ.value(1).toString()); //I guess this will bite me!
- curArtist->setText(artistText);
+ curArtist->setText(artistsQ.value(1).toString());
+ curArtist->setIcon(artistIcon);
curArtist->setData(Artist, TypeRole);
curArtist->setData(artistsQ.value(0).toInt(), IdRole);
root->appendRow(curArtist);
@@ -247,8 +250,9 @@ void PlayerWidget::populateByArtist(QStandardItem *parent, const QString &filter
QStandardItem *curAlbum = new QStandardItem;
curAlbum->setEditable(false);
curAlbum->setFont(QFont("courier"));
- QString albumText = QString(tr("%1 %2 - %3")).arg(QChar(0x29BE)).arg(QString::number(albumQ.value(2).toInt())).arg(albumQ.value(1).toString());
+ QString albumText = QString(tr("%1 - %2")).arg(QString::number(albumQ.value(2).toInt())).arg(albumQ.value(1).toString());
curAlbum->setText(albumText);
+ curAlbum->setIcon(albumIcon);
curAlbum->setData(Album, TypeRole);
curAlbum->setData(albumQ.value(0), IdRole);
curArtist->appendRow(curAlbum);
@@ -259,8 +263,9 @@ void PlayerWidget::populateByArtist(QStandardItem *parent, const QString &filter
QStandardItem *curSong = new QStandardItem;
curSong->setEditable(false);
curSong->setFont(QFont("courier"));
- QString songText = QString(tr("%1 %2 - %3")).arg(QChar(0x266C)).arg(songQ.value(0).toInt(), 3, 10, QChar('0')).arg(songQ.value(1).toString());
+ QString songText = QString(tr("%1 - %2")).arg(songQ.value(0).toInt(), 3, 10, QChar('0')).arg(songQ.value(1).toString());
curSong->setText(songText);
+ curSong->setIcon(songIcon);
curSong->setData(Song, TypeRole);
curSong->setData(songQ.value(0), IdRole);
curSong->setData(songQ.value(2), FullPathRole);
@@ -277,6 +282,7 @@ void PlayerWidget::populateByArtist(QStandardItem *parent, const QString &filter
void PlayerWidget::populateBySong(QStandardItem *parent, const QString &filter){
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
QStandardItem *root = parent;
+ QIcon songIcon(":/song.png");
QSqlQuery songQ = QSqlQuery(db);
songQ.prepare("SELECT sipos, ttitle, tfullpath, igenres_id, artists.tartists_name, albums.talbum_name FROM songs, artists, albums WHERE ttitle ~ :f AND songs.iartists_id = artists.iartists_id and songs.ialbums_id = albums.ialbums_id ORDER BY ttitle ASC");
songQ.bindValue(":f", filter);
@@ -285,8 +291,9 @@ void PlayerWidget::populateBySong(QStandardItem *parent, const QString &filter){
QStandardItem *curSong = new QStandardItem;
curSong->setEditable(false);
curSong->setFont(QFont("courier"));
- QString songText = QString(tr("%1 %2 (%3)")).arg(QChar(0x266C)).arg(songQ.value(1).toString()).arg(songQ.value(4).toString());
+ QString songText = QString(tr("%1 (%2)")).arg(songQ.value(1).toString()).arg(songQ.value(4).toString());
curSong->setText(songText);
+ curSong->setIcon(songIcon);
curSong->setData(Song, TypeRole);
curSong->setData(songQ.value(0), IdRole);
curSong->setData(songQ.value(2), FullPathRole);
@@ -301,6 +308,8 @@ void PlayerWidget::populateBySong(QStandardItem *parent, const QString &filter){
void PlayerWidget::populateByGenre(QStandardItem *parent, const QString &filter){
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
QStandardItem *root = parent;
+ QIcon songIcon(":/song.png");
+ QIcon genreIcon(":/genre.png");
QSqlQuery genreQ(db);
genreQ.prepare("SELECT igenres_id, tgenres_name FROM genres WHERE tgenres_name ~ :f");
genreQ.bindValue(":f", filter);
@@ -309,8 +318,8 @@ void PlayerWidget::populateByGenre(QStandardItem *parent, const QString &filter)
QStandardItem *curGenre = new QStandardItem;
curGenre->setEditable(false);
curGenre->setFont(QFont("courier"));
- QString genreText = QString(tr("%1 %2")).arg(QString("🅖")).arg(genreQ.value(1).toString());
- curGenre->setText(genreText);
+ curGenre->setText(genreQ.value(1).toString());
+ curGenre->setIcon(genreIcon);
curGenre->setData(Genre, TypeRole);
curGenre->setData(genreQ.value(0), IdRole);
root->appendRow(curGenre);
@@ -322,8 +331,9 @@ void PlayerWidget::populateByGenre(QStandardItem *parent, const QString &filter)
QStandardItem *curSong = new QStandardItem;
curSong->setEditable(false);
curSong->setFont(QFont("courier"));
- QString songText = QString(tr("%1 %2 (%3)")).arg(QChar(0x266C)).arg(songQ.value(1).toString()).arg(songQ.value(4).toString());
+ QString songText = QString(tr("%1 (%2)")).arg(songQ.value(1).toString()).arg(songQ.value(4).toString());
curSong->setText(songText);
+ curSong->setIcon(songIcon);
curSong->setData(Song, TypeRole);
curSong->setData(songQ.value(0), IdRole);
curSong->setData(songQ.value(2), FullPathRole);
@@ -353,10 +363,11 @@ void PlayerWidget::addSong(const QModelIndex &idx){
QString title = idx.data(TitleRole).toString();
QString artist = idx.data(ArtistRole).toString();
QString album = idx.data(AlbumRole).toString();
- QString display = QString(tr("%1 - %2 - %3 - %4")).arg(QChar(0x266C)).arg(artist).arg(title).arg(album);
+ QString display = QString(tr("%1 - %2 - %3")).arg(artist).arg(title).arg(album);
QStandardItem *item = new QStandardItem;
item->setFont(QFont("courier"));
item->setText(display);
+ item->setIcon(QIcon(":/song.png"));
item->setData(idx.data(FullPathRole), FullPathRole);
root->appendRow(item);
}
@@ -445,16 +456,18 @@ void PlayerWidget::randomPlay(){
mPlayListModel->clear();
mPlayListModel->setHorizontalHeaderLabels(QStringList() << "Title");
QStandardItem *root = mPlayListModel->invisibleRootItem();
+ QIcon songIcon(":/song.png");
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
QSqlQuery randomQ(db);
randomQ.prepare("SELECT sipos, ttitle, tfullpath, igenres_id, artists.tartists_name, albums.talbum_name FROM songs, artists, albums WHERE songs.iartists_id = artists.iartists_id AND songs.ialbums_id = albums.ialbums_id ORDER BY random() LIMIT 1000");
randomQ.exec();
while(randomQ.next()){
- QString display = QString(tr("%1 - %2 - %3 - %4")).arg(QChar(0x266C)).arg(randomQ.value(4).toString()).arg(randomQ.value(1).toString()).arg(randomQ.value(5).toString());
+ QString display = QString(tr("%1 - %2 - %3")).arg(randomQ.value(4).toString()).arg(randomQ.value(1).toString()).arg(randomQ.value(5).toString());
QStandardItem *item = new QStandardItem;
item->setEditable(false);
item->setFont(QFont("courier"));
item->setText(display);
+ item->setIcon(songIcon);
item->setData(randomQ.value(2), FullPathRole);
root->appendRow(item);
}