Merge pull request #206 from flowln/changelog_height_fix
This commit is contained in:
commit
b516dd970f
@ -366,33 +366,28 @@ void ModUpdateDialog::appendMod(CheckUpdateTask::UpdatableMod const& info)
|
|||||||
auto changelog = new QTreeWidgetItem(changelog_item);
|
auto changelog = new QTreeWidgetItem(changelog_item);
|
||||||
auto changelog_area = new QTextBrowser();
|
auto changelog_area = new QTextBrowser();
|
||||||
|
|
||||||
|
QString text = info.changelog;
|
||||||
switch (info.provider) {
|
switch (info.provider) {
|
||||||
case ModPlatform::Provider::MODRINTH: {
|
case ModPlatform::Provider::MODRINTH: {
|
||||||
HoeDown h;
|
HoeDown h;
|
||||||
// HoeDown bug?: \n aren't converted to <br>
|
// HoeDown bug?: \n aren't converted to <br>
|
||||||
auto text = h.process(info.changelog.toUtf8());
|
text = h.process(info.changelog.toUtf8());
|
||||||
|
|
||||||
// Don't convert if there's an HTML tag right after (Qt rendering weirdness)
|
// Don't convert if there's an HTML tag right after (Qt rendering weirdness)
|
||||||
text.remove(QRegularExpression("(\n+)(?=<)"));
|
text.remove(QRegularExpression("(\n+)(?=<)"));
|
||||||
text.replace('\n', "<br>");
|
text.replace('\n', "<br>");
|
||||||
|
|
||||||
changelog_area->setHtml(text);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ModPlatform::Provider::FLAME: {
|
default:
|
||||||
changelog_area->setHtml(info.changelog);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
changelog_area->setHtml(text);
|
||||||
changelog_area->setOpenExternalLinks(true);
|
changelog_area->setOpenExternalLinks(true);
|
||||||
changelog_area->setLineWrapMode(QTextBrowser::LineWrapMode::NoWrap);
|
changelog_area->setLineWrapMode(QTextBrowser::LineWrapMode::WidgetWidth);
|
||||||
changelog_area->setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAsNeeded);
|
changelog_area->setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAsNeeded);
|
||||||
|
|
||||||
// HACK: Is there a better way of achieving this?
|
|
||||||
auto font_height = QFontMetrics(changelog_area->font()).height();
|
|
||||||
changelog_area->setMaximumHeight((changelog_area->toPlainText().count(QRegularExpression("\n|<br>")) + 2) * font_height);
|
|
||||||
|
|
||||||
ui->modTreeWidget->setItemWidget(changelog, 0, changelog_area);
|
ui->modTreeWidget->setItemWidget(changelog, 0, changelog_area);
|
||||||
|
|
||||||
ui->modTreeWidget->addTopLevelItem(item_top);
|
ui->modTreeWidget->addTopLevelItem(item_top);
|
||||||
|
Loading…
Reference in New Issue
Block a user