Display tag and index position in GUI
This commit is contained in:
parent
7848b285b6
commit
c9b3218c76
|
@ -1,4 +1,5 @@
|
|||
#include "./fileinfomodel.h"
|
||||
#include "../misc/utility.h"
|
||||
|
||||
#include <qtutilities/misc/conversion.h>
|
||||
|
||||
|
@ -326,6 +327,8 @@ void FileInfoModel::updateCache()
|
|||
containerHelper.appendRow(tr("Document type"), container->documentType());
|
||||
containerHelper.appendRow(tr("Document version"), container->doctypeVersion());
|
||||
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());
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "./htmlinfo.h"
|
||||
#include "./utility.h"
|
||||
|
||||
#include <tagparser/signature.h>
|
||||
#include <tagparser/mediafileinfo.h>
|
||||
|
@ -115,6 +116,14 @@ public:
|
|||
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)
|
||||
{
|
||||
startRow(label, helpText);
|
||||
|
@ -923,6 +932,8 @@ public:
|
|||
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", "Tag position"), container->determineTagPosition());
|
||||
rowMaker.mkRow(QCoreApplication::translate("HtmlInfo", "Index position"), container->determineIndexPosition());
|
||||
|
||||
m_writer.writeEndElement();
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#include <c++utilities/io/path.h>
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QDirIterator>
|
||||
|
@ -40,9 +41,8 @@ const char *textEncodingToCodecName(TagTextEncoding textEncoding)
|
|||
return "UTF-16LE";
|
||||
case TagTextEncoding::Unspecified:
|
||||
return "ISO 8859-1"; // assumption
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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 res;
|
||||
|
|
|
@ -12,6 +12,7 @@ QT_FORWARD_DECLARE_CLASS(QModelIndex)
|
|||
namespace Media {
|
||||
class MediaFileInfo;
|
||||
class Tag;
|
||||
enum class ElementPosition;
|
||||
}
|
||||
|
||||
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);
|
||||
std::string qstringToString(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 fixUmlauts(const QString &str);
|
||||
void parseFileName(const QString &fileName, QString &title, int &trackNumber);
|
||||
|
|
Loading…
Reference in New Issue