mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-06-05 21:59:17 +02:00
Bugfixing: Ink coverage
This commit is contained in:
@@ -128,8 +128,10 @@ void InkCoverageDialog::updateInkCoverage()
|
|||||||
for (const auto& info : *coverage)
|
for (const auto& info : *coverage)
|
||||||
{
|
{
|
||||||
pdf::PDFInkCoverageCalculator::InkCoverageChannelInfo* channelInfo = pdf::PDFInkCoverageCalculator::findCoverageInfoByName(currentInfo, info.name);
|
pdf::PDFInkCoverageCalculator::InkCoverageChannelInfo* channelInfo = pdf::PDFInkCoverageCalculator::findCoverageInfoByName(currentInfo, info.name);
|
||||||
|
pdf::PDFInkCoverageCalculator::InkCoverageChannelInfo* sumChannelInfo = pdf::PDFInkCoverageCalculator::findCoverageInfoByName(sumInfo, info.name);
|
||||||
channelInfo->coveredArea = info.coveredArea;
|
channelInfo->coveredArea = info.coveredArea;
|
||||||
channelInfo->ratio = info.ratio;
|
channelInfo->ratio = info.ratio;
|
||||||
|
sumChannelInfo->coveredArea += info.coveredArea;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -239,8 +241,13 @@ QVariant InkCoverageStatisticsModel::data(const QModelIndex& index, int role) co
|
|||||||
const int row = index.row();
|
const int row = index.row();
|
||||||
QLocale locale;
|
QLocale locale;
|
||||||
|
|
||||||
|
const bool isTotalRow = row == rowCount(index.parent()) - 1;
|
||||||
if (index.column() == StandardColumnPageIndex)
|
if (index.column() == StandardColumnPageIndex)
|
||||||
{
|
{
|
||||||
|
if (isTotalRow)
|
||||||
|
{
|
||||||
|
return tr("Total");
|
||||||
|
}
|
||||||
return locale.toString(row + 1);
|
return locale.toString(row + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,11 +270,11 @@ QVariant InkCoverageStatisticsModel::data(const QModelIndex& index, int role) co
|
|||||||
switch (channelColumn)
|
switch (channelColumn)
|
||||||
{
|
{
|
||||||
case pdfplugin::InkCoverageStatisticsModel::ChannelColumnColorant:
|
case pdfplugin::InkCoverageStatisticsModel::ChannelColumnColorant:
|
||||||
return channelInfo.coveredArea > 0.0 ? channelInfo.textName : QString();
|
return QString();
|
||||||
case pdfplugin::InkCoverageStatisticsModel::ChannelColumnCoverageArea:
|
case pdfplugin::InkCoverageStatisticsModel::ChannelColumnCoverageArea:
|
||||||
return locale.toString(channelInfo.coveredArea, 'f', 2);
|
return locale.toString(channelInfo.coveredArea, 'f', 2);
|
||||||
case pdfplugin::InkCoverageStatisticsModel::ChannelColumnCoverageRatio:
|
case pdfplugin::InkCoverageStatisticsModel::ChannelColumnCoverageRatio:
|
||||||
return locale.toString(channelInfo.ratio * 100.0, 'f', 0);
|
return !isTotalRow ? locale.toString(channelInfo.ratio * 100.0, 'f', 0) : QString();
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Q_ASSERT(false);
|
Q_ASSERT(false);
|
||||||
@@ -302,6 +309,17 @@ QVariant InkCoverageStatisticsModel::data(const QModelIndex& index, int role) co
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case Qt::BackgroundColorRole:
|
||||||
|
{
|
||||||
|
if (index.column() >= LastStandardColumn && getChannelColumn(index.column()) == ChannelColumnColorant)
|
||||||
|
{
|
||||||
|
const int channelIndex = getChannelIndex(index.column());
|
||||||
|
return m_inkCoverageResults.sumInfo[channelIndex].color;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user