21 return (title.isEmpty() || artist.isEmpty()) ? artist + title : artist +
" - " + title;
29 const int index = name.indexOf(key) + 1;
30 return name.right(name.length() - index).trimmed();
40 const int index = name.indexOf(key);
41 return name.left(index).trimmed();
56 if(file.open(QIODevice::ReadOnly))
58 const QString &data = file.readAll();
61 const QStringList &datas = data.split(
",");
62 if(datas.count() >= 6)
65 const QString &v = datas[2];
78 const QString &
id = path.section(
"#", -1);
82 if(QFile::exists(cachePath))
97 const QString &
id = path.section(
"#", -1);
101 if(QFile::exists(cachePath))
113 if(file.open(QIODevice::WriteOnly))
119 file.write(datas.join(
",").toUtf8());
TTK_MODULE_EXPORT QString generateSongArtist(const QString &name, const QString &key=TTK_DEFAULT_STR)
The class of the search result data item.
TTK_MODULE_EXPORT void generateNetworkSongMeta(const QString &id, const MusicResultDataItem &item)
TTK_MODULE_EXPORT QString trackRelatedPath(const QString &path)
TTK_MODULE_EXPORT QString generateNetworkSongTime(const QString &path, bool format)
#define MUSIC_RECENT_LIST
TTK_MODULE_EXPORT QString generateSongTitle(const QString &name, const QString &key=TTK_DEFAULT_STR)
TTK_MODULE_EXPORT QString generateNetworkSongMetaPath(const QString &path)
TTK_MODULE_EXPORT QString pefix(const QString &name)
TTK_MODULE_EXPORT QString generateNetworkSongPath(const QString &path)
TTK_MODULE_EXPORT bool isNetworkUrl(const QString &path) noexcept
TTK_MODULE_EXPORT bool playlistRowValid(int index) noexcept
static constexpr wchar_t key[]
TTK_MODULE_EXPORT QStringList split(const QString &value, const QString &key=TTK_DEFAULT_STR)
static QString pathFromUrl(const QString &url, int *track=nullptr)
#define MUSIC_NETWORK_LIST
#define MUSIC_LOVEST_LIST
TTK_MODULE_EXPORT QString generateSongName(const QString &title, const QString &artist) noexcept
static qint64 formatDuration(const QString &time) noexcept