Display tag and index position in GUI
This commit is contained in:
parent
7848b285b6
commit
c9b3218c76
|
@ -1,4 +1,5 @@
|
||||||
#include "./fileinfomodel.h"
|
#include "./fileinfomodel.h"
|
||||||
|
#include "../misc/utility.h"
|
||||||
|
|
||||||
#include <qtutilities/misc/conversion.h>
|
#include <qtutilities/misc/conversion.h>
|
||||||
|
|
||||||
|
@ -326,6 +327,8 @@ void FileInfoModel::updateCache()
|
||||||
containerHelper.appendRow(tr("Document type"), container->documentType());
|
containerHelper.appendRow(tr("Document type"), container->documentType());
|
||||||
containerHelper.appendRow(tr("Document version"), container->doctypeVersion());
|
containerHelper.appendRow(tr("Document version"), container->doctypeVersion());
|
||||||
containerHelper.appendRow(tr("Document read version"), container->doctypeReadVersion());
|
containerHelper.appendRow(tr("Document read version"), container->doctypeReadVersion());
|
||||||
|
containerHelper.appendRow(tr("Tag position"), Utility::elementPositionToQString(container->determineTagPosition()));
|
||||||
|
containerHelper.appendRow(tr("Index position"), Utility::elementPositionToQString(container->determineIndexPosition()));
|
||||||
}
|
}
|
||||||
containerHelper.appendRow(tr("Padding size"), m_file->paddingSize());
|
containerHelper.appendRow(tr("Padding size"), m_file->paddingSize());
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "./htmlinfo.h"
|
#include "./htmlinfo.h"
|
||||||
|
#include "./utility.h"
|
||||||
|
|
||||||
#include <tagparser/signature.h>
|
#include <tagparser/signature.h>
|
||||||
#include <tagparser/mediafileinfo.h>
|
#include <tagparser/mediafileinfo.h>
|
||||||
|
@ -115,6 +116,14 @@ public:
|
||||||
endRow();
|
endRow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mkRow(const QString &label, ElementPosition elementPosition, bool head = true)
|
||||||
|
{
|
||||||
|
const auto asString(Utility::elementPositionToQString(elementPosition));
|
||||||
|
if (!asString.isEmpty()) {
|
||||||
|
mkRow(label, asString, head);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void mkRow(const QString &label, const QString &helpText, const QString &text)
|
void mkRow(const QString &label, const QString &helpText, const QString &text)
|
||||||
{
|
{
|
||||||
startRow(label, helpText);
|
startRow(label, helpText);
|
||||||
|
@ -923,6 +932,8 @@ public:
|
||||||
if(m_file.paddingSize()) {
|
if(m_file.paddingSize()) {
|
||||||
rowMaker.mkRow(QCoreApplication::translate("HtmlInfo", "Padding size"), QStringLiteral("%1 (%2 %)").arg(qstr(dataSizeToString(m_file.paddingSize(), true))).arg(static_cast<double>(m_file.paddingSize()) / m_file.size() * 100.0, 0, 'g', 2));
|
rowMaker.mkRow(QCoreApplication::translate("HtmlInfo", "Padding size"), QStringLiteral("%1 (%2 %)").arg(qstr(dataSizeToString(m_file.paddingSize(), true))).arg(static_cast<double>(m_file.paddingSize()) / m_file.size() * 100.0, 0, 'g', 2));
|
||||||
}
|
}
|
||||||
|
rowMaker.mkRow(QCoreApplication::translate("HtmlInfo", "Tag position"), container->determineTagPosition());
|
||||||
|
rowMaker.mkRow(QCoreApplication::translate("HtmlInfo", "Index position"), container->determineIndexPosition());
|
||||||
|
|
||||||
m_writer.writeEndElement();
|
m_writer.writeEndElement();
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
#include <c++utilities/io/path.h>
|
#include <c++utilities/io/path.h>
|
||||||
|
|
||||||
|
#include <QCoreApplication>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QDirIterator>
|
#include <QDirIterator>
|
||||||
|
@ -40,9 +41,8 @@ const char *textEncodingToCodecName(TagTextEncoding textEncoding)
|
||||||
return "UTF-16LE";
|
return "UTF-16LE";
|
||||||
case TagTextEncoding::Unspecified:
|
case TagTextEncoding::Unspecified:
|
||||||
return "ISO 8859-1"; // assumption
|
return "ISO 8859-1"; // assumption
|
||||||
default:
|
|
||||||
return nullptr;
|
|
||||||
}
|
}
|
||||||
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString tagValueToQString(const TagValue &value)
|
QString tagValueToQString(const TagValue &value)
|
||||||
|
@ -109,6 +109,19 @@ TagValue qstringToTagValue(const QString &value, TagTextEncoding textEncoding)
|
||||||
return value.isEmpty() ? TagValue() : TagValue(qstringToString(value, textEncoding), textEncoding);
|
return value.isEmpty() ? TagValue() : TagValue(qstringToString(value, textEncoding), textEncoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString elementPositionToQString(ElementPosition elementPosition)
|
||||||
|
{
|
||||||
|
switch(elementPosition) {
|
||||||
|
case ElementPosition::BeforeData:
|
||||||
|
return QCoreApplication::translate("Utility", "before data");
|
||||||
|
case ElementPosition::AfterData:
|
||||||
|
return QCoreApplication::translate("Utility", "after data");
|
||||||
|
case ElementPosition::Keep:
|
||||||
|
;
|
||||||
|
}
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
|
||||||
QString formatName(const QString &str, bool underscoreToWhitespace)
|
QString formatName(const QString &str, bool underscoreToWhitespace)
|
||||||
{
|
{
|
||||||
QString res;
|
QString res;
|
||||||
|
|
|
@ -12,6 +12,7 @@ QT_FORWARD_DECLARE_CLASS(QModelIndex)
|
||||||
namespace Media {
|
namespace Media {
|
||||||
class MediaFileInfo;
|
class MediaFileInfo;
|
||||||
class Tag;
|
class Tag;
|
||||||
|
enum class ElementPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Utility {
|
namespace Utility {
|
||||||
|
@ -22,6 +23,7 @@ QString dataToQString(const char *data, std::size_t dataSize, Media::TagTextEnco
|
||||||
QString stringToQString(const std::string &value, Media::TagTextEncoding textEncoding);
|
QString stringToQString(const std::string &value, Media::TagTextEncoding textEncoding);
|
||||||
std::string qstringToString(const QString &value, Media::TagTextEncoding textEncoding);
|
std::string qstringToString(const QString &value, Media::TagTextEncoding textEncoding);
|
||||||
Media::TagValue qstringToTagValue(const QString &value, Media::TagTextEncoding textEncoding);
|
Media::TagValue qstringToTagValue(const QString &value, Media::TagTextEncoding textEncoding);
|
||||||
|
QString elementPositionToQString(Media::ElementPosition elementPosition);
|
||||||
QString formatName(const QString &str, bool underscoreToWhitespace = true);
|
QString formatName(const QString &str, bool underscoreToWhitespace = true);
|
||||||
QString fixUmlauts(const QString &str);
|
QString fixUmlauts(const QString &str);
|
||||||
void parseFileName(const QString &fileName, QString &title, int &trackNumber);
|
void parseFileName(const QString &fileName, QString &title, int &trackNumber);
|
||||||
|
|
Loading…
Reference in New Issue