From 04aeac62f824f9f6690c31526bc5bcfd32a5ce79 Mon Sep 17 00:00:00 2001 From: uniartisan Date: Fri, 21 Apr 2023 12:37:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E6=88=AA=E5=9B=BE=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/appintopage.cpp | 42 +++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp index 47ec644..ffad907 100644 --- a/src/pages/appintopage.cpp +++ b/src/pages/appintopage.cpp @@ -58,8 +58,9 @@ void AppIntoPage::openUrl(const QUrl &url) // 获取图标 QNetworkRequest request; QNetworkAccessManager *manager = new QNetworkAccessManager(this); - qDebug() << api->getImgServerUrl() + SparkAPI::getArchDir() + url.path() + "/icon.png"; - request.setUrl(QUrl(api->getImgServerUrl() + SparkAPI::getArchDir() + url.path() + "/icon.png")); + QString pkgUrlBase = api->getImgServerUrl() + SparkAPI::getArchDir() + url.path(); + qDebug() << "Icon URL: " << pkgUrlBase + "/icon.png"; + request.setUrl(QUrl(pkgUrlBase + "/icon.png")); request.setRawHeader("User-Agent", "Mozilla/5.0"); request.setRawHeader("Content-Type", "charset='utf-8'"); manager->get(request); @@ -74,20 +75,13 @@ void AppIntoPage::openUrl(const QUrl &url) manager->deleteLater(); }); // 获取截图 - QJsonParseError error; - QJsonArray array = QJsonDocument::fromJson(info.value("img_urls").toString().toUtf8(), &error).array(); - QStringList imglist; - foreach (const QJsonValue &value, array) { - QString imgUrl = value.toString(); - imglist.append(imgUrl); - } - qDebug() << imglist; - for (int i = 0; i < imglist.size(); i++) + for (int i = 0; i < 5 /* 魔法数字,最多五个截图 */; i++) { + QString imgUrl = pkgUrlBase + "/screen_" + QString::number(i + 1) + ".png"; QNetworkRequest request; QNetworkAccessManager *manager = new QNetworkAccessManager(this); - request.setUrl(QUrl(imglist.value(i))); + request.setUrl(QUrl(imgUrl)); request.setRawHeader("User-Agent", "Mozilla/5.0"); request.setRawHeader("Content-Type", "charset='utf-8'"); manager->get(request); @@ -95,17 +89,21 @@ void AppIntoPage::openUrl(const QUrl &url) { QByteArray jpegData = reply->readAll(); QPixmap pixmap; - pixmap.loadFromData(jpegData); - pixmap.scaled(100, 100, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); - image_show *img=new image_show(this); - img->setImage(pixmap); - //img->setScaledContents(true); - QListWidgetItem* pItem = new QListWidgetItem(); - pItem->setSizeHint(QSize(280, 200)); - ui->listWidget->addItem(pItem); - ui->listWidget->setItemWidget(pItem, img); + if (pixmap.loadFromData(jpegData)) + { + pixmap.scaled(100, 100, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + image_show *img = new image_show(this); + img->setImage(pixmap); + // img->setScaledContents(true); + QListWidgetItem *pItem = new QListWidgetItem(); + pItem->setSizeHint(QSize(280, 200)); + ui->listWidget->addItem(pItem); + ui->listWidget->setItemWidget(pItem, img); + qDebug() << imgUrl; + } - manager->deleteLater(); }); + manager->deleteLater(); + }); } // Check UOS From d6e01a58036000a8b1b700560a78ee7ca5e51504 Mon Sep 17 00:00:00 2001 From: uniartisan Date: Fri, 21 Apr 2023 12:37:48 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E5=BF=AB=E8=AF=BB=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E9=A1=B5=E9=9D=A2=E5=8F=AF=E8=83=BD=E5=87=BA?= =?UTF-8?q?=E7=8E=B0ux=E9=87=8D=E5=8F=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/appintopage.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp index ffad907..96f94d9 100644 --- a/src/pages/appintopage.cpp +++ b/src/pages/appintopage.cpp @@ -199,24 +199,20 @@ void AppIntoPage::clear() ui->tag_community->hide(); ui->icon->clear(); ui->title->clear(); + ui->version->clear(); ui->author->clear(); + ui->d_author->clear(); + ui->d_size->clear(); + ui->d_update->clear(); + ui->d_pkgname->clear(); + ui->d_website->clear(); + ui->d_contributor->clear(); ui->label_2->clear(); ui->downloadButton->hide(); ui->downloadButton->setEnabled(false); ui->pushButton_3->hide(); - // QListWidgetItem *item = nullptr; - // while ((item = ui->listWidget->takeItem(0)) != nullptr) - // { - // QWidget *card = ui->listWidget->itemWidget(item); - // if (card) - // { - // card->deleteLater(); - // card = nullptr; - // } - // delete item; - // item = nullptr; - // } + ui->listWidget->clear(); // NOTE: QListWidget::clear() 会析构所有 items } From c65eea12a69c9b24d8c0032b66c16bd5e8ba8435 Mon Sep 17 00:00:00 2001 From: shenmo Date: Sat, 22 Apr 2023 05:43:27 +0000 Subject: [PATCH 3/3] update debian/changelog. Signed-off-by: shenmo --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 3b23796..fc31055 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +spark-store (4.2.6) stable; urgency=medium + * 修复:截图加载失败时点击闪退 + + -- shenmo + + spark-store (4.2.5.1) stable; urgency=medium * 调整:重写了spark-dstore-patch,速度提升,尤其对机械硬盘下 * 调整:优化了aptss源文件同步策略