diff --git a/src/playlist.cpp b/src/playlist.cpp index 1810a8f3e..fa8299828 100644 --- a/src/playlist.cpp +++ b/src/playlist.cpp @@ -57,6 +57,7 @@ QVariant Playlist::headerData(int section, Qt::Orientation, int role) const { case Column_Bitrate: return tr("Bit rate"); case Column_Samplerate: return tr("Sample rate"); case Column_Filename: return tr("File name"); + case Column_BaseFilename: return tr("File name (without path)"); case Column_Filesize: return tr("File size"); case Column_Filetype: return tr("File type"); case Column_DateModified: return tr("Date modified"); @@ -97,6 +98,7 @@ QVariant Playlist::data(const QModelIndex& index, int role) const { case Column_Bitrate: return song.bitrate(); case Column_Samplerate: return song.samplerate(); case Column_Filename: return song.filename(); + case Column_BaseFilename: return song.basefilename(); case Column_Filesize: return song.filesize(); case Column_Filetype: return song.filetype(); case Column_DateModified: return song.mtime(); diff --git a/src/playlist.h b/src/playlist.h index 7bdaf6dfd..8deb8e2fc 100644 --- a/src/playlist.h +++ b/src/playlist.h @@ -34,6 +34,7 @@ class Playlist : public QAbstractListModel { Column_Bitrate, Column_Samplerate, Column_Filename, + Column_BaseFilename, Column_Filesize, Column_Filetype, Column_DateCreated, diff --git a/src/playlistview.cpp b/src/playlistview.cpp index de67249ca..28f3f687b 100644 --- a/src/playlistview.cpp +++ b/src/playlistview.cpp @@ -200,6 +200,7 @@ void PlaylistView::LoadGeometry() { header()->hideSection(Playlist::Column_Bitrate); header()->hideSection(Playlist::Column_Samplerate); header()->hideSection(Playlist::Column_Filename); + header()->hideSection(Playlist::Column_BaseFilename); header()->hideSection(Playlist::Column_Filesize); header()->hideSection(Playlist::Column_Filetype); header()->hideSection(Playlist::Column_DateCreated); diff --git a/src/song.cpp b/src/song.cpp index 17a4f5f4e..c782c353a 100644 --- a/src/song.cpp +++ b/src/song.cpp @@ -121,6 +121,7 @@ void Song::InitFromFile(const QString& filename, int directory_id) { return; QFileInfo info(filename); + d->basefilename_ = info.fileName(); d->filesize_ = info.size(); d->mtime_ = info.lastModified().toTime_t(); d->ctime_ = info.created().toTime_t(); @@ -278,6 +279,7 @@ void Song::InitFromQuery(const QSqlQuery& q) { d->directory_id_ = toint(16); d->filename_ = tostr(17); + d->basefilename_ = QFileInfo(d->filename_).fileName(); d->mtime_ = toint(18); d->ctime_ = toint(19); d->filesize_ = toint(20); diff --git a/src/song.h b/src/song.h index 034536a85..0f9fe6aab 100644 --- a/src/song.h +++ b/src/song.h @@ -92,6 +92,7 @@ class Song { int directory_id() const { return d->directory_id_; } const QString& filename() const { return d->filename_; } + const QString& basefilename() const { return d->basefilename_; } uint mtime() const { return d->mtime_; } uint ctime() const { return d->ctime_; } int filesize() const { return d->filesize_; } @@ -145,6 +146,7 @@ class Song { // Setters that should only be used by tests void set_filename(const QString& v) { d->filename_ = v; } + void set_basefilename(const QString& v) { d->basefilename_ = v; } void set_directory_id(int v) { d->directory_id_ = v; } // Comparison functions @@ -180,6 +182,7 @@ class Song { int directory_id_; QString filename_; + QString basefilename_; int mtime_; int ctime_; int filesize_;