diff options
-rw-r--r-- | album.png | bin | 0 -> 35474 bytes | |||
-rw-r--r-- | artist.png | bin | 0 -> 103413 bytes | |||
-rw-r--r-- | beetplayer.qrc | 4 | ||||
-rw-r--r-- | genre.png | bin | 0 -> 17037 bytes | |||
-rw-r--r-- | playerwidget.cpp | 33 | ||||
-rw-r--r-- | song.png | bin | 0 -> 12807 bytes |
6 files changed, 27 insertions, 10 deletions
diff --git a/album.png b/album.png Binary files differnew file mode 100644 index 0000000..3878b9f --- /dev/null +++ b/album.png diff --git a/artist.png b/artist.png Binary files differnew file mode 100644 index 0000000..39d3551 --- /dev/null +++ b/artist.png diff --git a/beetplayer.qrc b/beetplayer.qrc index c3b4f0d..56a1001 100644 --- a/beetplayer.qrc +++ b/beetplayer.qrc @@ -14,5 +14,9 @@ <file>mute.png</file> <file>previous.png</file> <file>next.png</file> + <file>album.png</file> + <file>artist.png</file> + <file>song.png</file> + <file>genre.png</file> </qresource> </RCC> diff --git a/genre.png b/genre.png Binary files differnew file mode 100644 index 0000000..47978db --- /dev/null +++ b/genre.png 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); } diff --git a/song.png b/song.png Binary files differnew file mode 100644 index 0000000..26dd3e8 --- /dev/null +++ b/song.png |