|
18 | 18 | */ |
19 | 19 |
|
20 | 20 | #include <QApplication> |
| 21 | +#include <QDateTime> |
21 | 22 | #include <QIcon> |
| 23 | +#include <QLocale> |
22 | 24 | #include <QMimeData> |
23 | 25 | #include <QUrl> |
24 | 26 |
|
|
30 | 32 | #include "playlist_model.h" |
31 | 33 |
|
32 | 34 | const char * const PlaylistModel::labels[] = { |
33 | | - N_("Entry Number"), N_("Title"), N_("Artist"), N_("Year"), |
34 | | - N_("Album"), N_("Album Artist"), N_("Track"), N_("Genre"), |
35 | | - N_("Queue Position"), N_("Length"), N_("File Path"), N_("File Name"), |
36 | | - N_("Custom Title"), N_("Bitrate"), N_("Comment"), N_("Publisher"), |
37 | | - N_("Catalog Number"), N_("Disc")}; |
| 35 | + N_("Entry Number"), N_("Title"), N_("Artist"), N_("Year"), |
| 36 | + N_("Album"), N_("Album Artist"), N_("Track"), N_("Genre"), |
| 37 | + N_("Queue Position"), N_("Length"), N_("File Path"), N_("File Name"), |
| 38 | + N_("Custom Title"), N_("Bitrate"), N_("Comment"), N_("Publisher"), |
| 39 | + N_("Catalog Number"), N_("Disc"), N_("File Created"), N_("File Modified")}; |
38 | 40 |
|
39 | 41 | static const Tuple::Field s_fields[] = { |
40 | | - Tuple::Invalid, Tuple::Title, Tuple::Artist, Tuple::Year, |
41 | | - Tuple::Album, Tuple::AlbumArtist, Tuple::Track, Tuple::Genre, |
42 | | - Tuple::Invalid, Tuple::Length, Tuple::Path, Tuple::Basename, |
43 | | - Tuple::FormattedTitle, Tuple::Bitrate, Tuple::Comment, Tuple::Publisher, |
44 | | - Tuple::CatalogNum, Tuple::Disc}; |
| 42 | + Tuple::Invalid, Tuple::Title, Tuple::Artist, Tuple::Year, |
| 43 | + Tuple::Album, Tuple::AlbumArtist, Tuple::Track, Tuple::Genre, |
| 44 | + Tuple::Invalid, Tuple::Length, Tuple::Path, Tuple::Basename, |
| 45 | + Tuple::FormattedTitle, Tuple::Bitrate, Tuple::Comment, Tuple::Publisher, |
| 46 | + Tuple::CatalogNum, Tuple::Disc, Tuple::FileCreated, Tuple::FileModified}; |
45 | 47 |
|
46 | 48 | static_assert(aud::n_elems(PlaylistModel::labels) == PlaylistModel::n_cols, |
47 | 49 | "update PlaylistModel::labels"); |
@@ -117,6 +119,14 @@ QVariant PlaylistModel::data(const QModelIndex & index, int role) const |
117 | 119 | case Tuple::Int: |
118 | 120 | val = tuple.get_int(s_fields[col]); |
119 | 121 | break; |
| 122 | + case Tuple::DateTime: |
| 123 | + int64_t t = tuple.get_int64(s_fields[col]); |
| 124 | + if (t > 0) |
| 125 | + { |
| 126 | + QDateTime dt = QDateTime::fromSecsSinceEpoch(t).toLocalTime(); |
| 127 | + return QLocale().toString(dt, QLocale::ShortFormat); |
| 128 | + } |
| 129 | + return QString(); |
120 | 130 | } |
121 | 131 | } |
122 | 132 |
|
|
0 commit comments