2015-04-22 19:33:53 +02:00
|
|
|
#ifndef UTILITYFEATURES_H
|
|
|
|
#define UTILITYFEATURES_H
|
|
|
|
|
|
|
|
#include <tagparser/tagvalue.h>
|
|
|
|
|
|
|
|
#include <QString>
|
|
|
|
|
2016-02-29 23:59:46 +01:00
|
|
|
QT_FORWARD_DECLARE_CLASS(QDir)
|
|
|
|
QT_FORWARD_DECLARE_CLASS(QAbstractItemModel)
|
|
|
|
QT_FORWARD_DECLARE_CLASS(QModelIndex)
|
2015-04-22 19:33:53 +02:00
|
|
|
|
2018-03-06 23:10:13 +01:00
|
|
|
namespace TagParser {
|
2015-04-22 19:33:53 +02:00
|
|
|
class MediaFileInfo;
|
|
|
|
class Tag;
|
2018-01-31 21:04:15 +01:00
|
|
|
enum class ElementPosition;
|
2018-03-11 18:58:50 +01:00
|
|
|
} // namespace TagParser
|
2015-04-22 19:33:53 +02:00
|
|
|
|
|
|
|
namespace Utility {
|
|
|
|
|
2018-03-06 23:10:13 +01:00
|
|
|
const char *textEncodingToCodecName(TagParser::TagTextEncoding textEncoding);
|
|
|
|
QString tagValueToQString(const TagParser::TagValue &value);
|
|
|
|
QString dataToQString(const char *data, std::size_t dataSize, TagParser::TagTextEncoding encoding);
|
|
|
|
QString stringToQString(const std::string &value, TagParser::TagTextEncoding textEncoding);
|
|
|
|
std::string qstringToString(const QString &value, TagParser::TagTextEncoding textEncoding);
|
|
|
|
TagParser::TagValue qstringToTagValue(const QString &value, TagParser::TagTextEncoding textEncoding);
|
|
|
|
QString elementPositionToQString(TagParser::ElementPosition elementPosition);
|
2015-04-22 19:33:53 +02:00
|
|
|
QString formatName(const QString &str, bool underscoreToWhitespace = true);
|
|
|
|
QString fixUmlauts(const QString &str);
|
|
|
|
void parseFileName(const QString &fileName, QString &title, int &trackNumber);
|
|
|
|
QString printModel(QAbstractItemModel *model);
|
|
|
|
void printModelIndex(const QModelIndex &index, QString &res, int level);
|
|
|
|
|
2018-03-06 02:04:35 +01:00
|
|
|
constexpr int sizeToInt(std::size_t size)
|
|
|
|
{
|
|
|
|
return size > std::numeric_limits<int>::max() ? std::numeric_limits<int>::max() : static_cast<int>(size);
|
|
|
|
}
|
|
|
|
|
|
|
|
constexpr int trQuandity(quint64 quandity)
|
|
|
|
{
|
|
|
|
return quandity > std::numeric_limits<int>::max() ? std::numeric_limits<int>::max() : static_cast<int>(quandity);
|
|
|
|
}
|
|
|
|
|
2021-01-30 21:57:09 +01:00
|
|
|
inline QString qstr(std::string_view stdstr)
|
|
|
|
{
|
|
|
|
return QString::fromUtf8(stdstr.data(), static_cast<int>(stdstr.size()));
|
|
|
|
}
|
|
|
|
|
2018-03-11 18:58:50 +01:00
|
|
|
} // namespace Utility
|
2015-04-22 19:33:53 +02:00
|
|
|
|
|
|
|
#endif // UTILITYFEATURES_H
|