修复内容搜索详情页加载图片失败导致的崩溃问题。

This commit is contained in:
iaom 2022-11-17 11:38:01 +08:00
parent ab00006060
commit 190f36dc9d
1 changed files with 7 additions and 6 deletions

View File

@ -6,7 +6,7 @@
#include <QMessageBox>
#define OCR_ICONLABLE_WITH 352
#define OCR_ICONLABLE_HEIGHT 256
#define OCR_ICONLABLE_HEIGHT 247
using namespace UkuiSearch;
FileSearchPlugin::FileSearchPlugin(QObject *parent) : QObject(parent)
@ -476,15 +476,16 @@ QWidget *FileContengSearchPlugin::detailPage(const ResultInfo &ri)
{
if (1 == ri.type) {
QPixmap pixmap;
pixmap.load(ri.actionKey);
if (pixmap.width()/OCR_ICONLABLE_WITH > pixmap.height()/OCR_ICONLABLE_HEIGHT) {
pixmap = pixmap.scaled(OCR_ICONLABLE_WITH, (pixmap.height()*OCR_ICONLABLE_WITH)/pixmap.width(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
if(pixmap.load(ri.actionKey)) {
pixmap = pixmap.scaled(OCR_ICONLABLE_WITH, OCR_ICONLABLE_HEIGHT, Qt::KeepAspectRatio, Qt::SmoothTransformation);
m_detailLyt->setContentsMargins(8, (OCR_ICONLABLE_HEIGHT-pixmap.height())/2 + 8, 16, 0);
} else {
pixmap = pixmap.scaled((pixmap.width()*OCR_ICONLABLE_HEIGHT)/pixmap.height(), OCR_ICONLABLE_HEIGHT, Qt::KeepAspectRatio, Qt::SmoothTransformation);
pixmap = ri.icon.pixmap(120, 120);
m_detailLyt->setContentsMargins(8, 50, 16, 0);
}
m_iconLabel->setPixmap(pixmap);
m_pluginLabel->setText(tr("OCR"));
m_detailLyt->setContentsMargins(8, (OCR_ICONLABLE_HEIGHT-pixmap.height())/2+8, 16, 0);
m_snippetLabel->hide();
} else {
m_iconLabel->setPixmap(ri.icon.pixmap(120, 120));