Show technical summary in info

This commit is contained in:
Martchus 2017-08-17 19:10:20 +02:00
parent 057b7dc43e
commit 50f737ce48
3 changed files with 23 additions and 4 deletions

View File

@ -215,7 +215,7 @@ if(WIDGETS_GUI OR QUICK_GUI)
endif()
# find tagparser
find_package(tagparser 6.2.0 REQUIRED)
find_package(tagparser 6.4.0 REQUIRED)
use_tag_parser()
list(APPEND TEST_LIBRARIES ${TAG_PARSER_SHARED_LIB})

View File

@ -355,7 +355,12 @@ void FileInfoModel::updateCache()
if(!tracks.empty()) {
auto *tracksItem = defaultItem(tr("Tracks"));
setItem(++currentRow, tracksItem);
setItem(currentRow, 1, defaultItem(tr("%1 track(s) contained", 0, tracks.size()).arg(tracks.size())));
const string summary(m_file->technicalSummary());
if(summary.empty()) {
setItem(currentRow, 1, defaultItem(tr("%1 track(s) contained", 0, tracks.size()).arg(tracks.size())));
} else {
setItem(currentRow, 1, defaultItem(tr("%1 track(s): ", 0, tracks.size()).arg(tracks.size()) + QString::fromUtf8(summary.data(), summary.size())));
}
size_t number = 0;
for(const AbstractTrack *track : tracks) {
@ -381,7 +386,9 @@ void FileInfoModel::updateCache()
}
}
fmtName = track->format().extensionName();
trackHelper.appendRow(tr("Extension"), fmtName);
if(*fmtName) {
trackHelper.appendRow(tr("Extension"), fmtName);
}
trackHelper.appendRow(tr("Format/codec ID"), track->formatId());
trackHelper.appendRow(tr("Size"), track->size());
trackHelper.appendRow(tr("Duration"), track->duration());
@ -574,6 +581,7 @@ void FileInfoModel::updateCache()
;
}
setItem(++currentRow, structureItem);
setItem(currentRow, 1, defaultItem(QString()));
}
break;
default:

View File

@ -485,6 +485,12 @@ public:
m_writer.writeCharacters(QStringLiteral(" "));
}
void mkBreak()
{
m_writer.writeStartElement(QStringLiteral("br"));
m_writer.writeEndElement();
}
void mkDetailsLink(const QString &id, const QString &text)
{
m_writer.writeStartElement(QStringLiteral("a"));
@ -881,7 +887,6 @@ public:
m_rowMaker.endRow();
m_writer.writeEndElement();
// container
if(container || m_file.paddingSize()) {
startExtendedTableSection(QStringLiteral("containerMore"));
@ -955,6 +960,12 @@ public:
const QString moreId(QStringLiteral("tracksMore"));
m_rowMaker.startRow(QCoreApplication::translate("HtmlInfo", "Tracks"));
m_writer.writeCharacters(QCoreApplication::translate("HtmlInfo", "file has %1 track(s)", 0, tracks.size()).arg(tracks.size()));
const string summary(m_file.technicalSummary());
if(!summary.empty()) {
m_writer.writeCharacters(QStringLiteral(": "));
m_writer.writeCharacters(QString::fromUtf8(summary.data(), summary.size()));
mkBreak();
}
mkSpace();
mkDetailsLink(moreId, QCoreApplication::translate("HtmlInfo", "show details"));
m_rowMaker.endRow();