diff --git a/debian/changelog b/debian/changelog index 8a72289..7381de5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +spark-store (3.2.3) stable; urgency=medium + + * 客户端异常退出时仍然占用资源问题修复 + * 降低dtk依赖版本,Debian 11 stable可直接安装 + +-- shenmo Fri, 30 Jan 2022 00:00:00 +0800 + spark-store (3.2.2) stable; urgency=medium * aptss will now refresh the system source before doing install, policy....etc diff --git a/debian/control b/debian/control index b5f8340..3917216 100644 --- a/debian/control +++ b/debian/control @@ -11,9 +11,9 @@ Build-Depends: libqt5widgets5, libqt5network5, libqt5concurrent5, - libdtkcore-dev(>=5.2), - libdtkgui-dev(>=5.2), - libdtkwidget-dev(>=5.2), + libdtkcore-dev(>=5.0), + libdtkgui-dev(>=5.0), + libdtkwidget-dev(>=5.0), qttools5-private-dev, libnotify-dev, qtwebengine5-dev diff --git a/src/main.cpp b/src/main.cpp index 5aacfdb..bb74f29 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -34,7 +34,7 @@ int main(int argc, char *argv[]) DAboutDialog dialog; a.setAboutDialog(&dialog); dialog.setLicense(QObject::tr("We publish this program under GPL V3")); - dialog.setVersion(DApplication::buildVersion("Version 3.2.2")); + dialog.setVersion(DApplication::buildVersion("Version 3.2.3")); dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo dialog.setProductName(QLabel::tr("Spark Store")); dialog.setDescription( @@ -55,7 +55,7 @@ int main(int argc, char *argv[]) a.setOrganizationName("spark-union"); a.setOrganizationDomain("https://www.deepinos.org/"); a.setApplicationName("Spark Store"); //不需要翻译,否则 ~/.local/share/ 下文件夹名称也被翻译为中文 - a.setApplicationVersion(DApplication::buildVersion("3.2.2")); + a.setApplicationVersion(DApplication::buildVersion("3.2.3")); a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store"); a.setApplicationDescription( QObject::tr( diff --git a/src/widget.cpp b/src/widget.cpp index f0bb212..8e7d2eb 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -18,6 +18,7 @@ #include #include #include // 并发 +#include // close event #include #include @@ -572,14 +573,14 @@ void Widget::chooseLeftMenu(int index) updateUI(); - if(index <= 12) + if (index <= 12) { - if(themeIsDark) + if (themeIsDark) { QString darkurl = menuUrl[index].toString(); QStringList list = darkurl.split("/"); darkurl.clear(); - for(int i = 0; i < list.size() - 1; i++) + for (int i = 0; i < list.size() - 1; i++) { darkurl += list[i] + "/"; } @@ -687,22 +688,18 @@ void Widget::searchApp(QString text) } else { - // sendNotification(tr("Spark store could only process spk:// links for now. The search feature is coming soon!")); - // ui->webView->setUrl(QUrl("http://www.baidu.com/s?wd="+text)); // 这东西对接百度 - // ui->stackedWidget->setCurrentIndex(0); - // 禁止同时进行多次搜索 - if(!mutex.tryLock()) + if (!mutex.tryLock()) { return; } // 关键字搜索处理 httpClient->get("https://search.deepinos.org.cn/appinfo/search") - .header("content-type", "application/json") - .queryParam("keyword", text) - .onResponse([this](QByteArray result) - { + .header("content-type", "application/json") + .queryParam("keyword", text) + .onResponse([this](QByteArray result) + { auto json = QJsonDocument::fromJson(result).array(); if (json.empty()) { @@ -711,20 +708,24 @@ void Widget::searchApp(QString text) mutex.unlock(); return; } - displaySearchApp(json); - }) - .onError([this](QString errorStr) - { + displaySearchApp(json); }) + .onError([this](QString errorStr) + { qDebug() << "请求出错:" << errorStr; sendNotification(QString(tr("Request Error: %1")).arg(errorStr)); mutex.unlock(); - return; - }) - .timeout(10 * 1000) - .exec(); + return; }) + .timeout(10 * 1000) + .exec(); } } +void Widget::closeEvent(QCloseEvent *event) +{ + mutex.unlock(); + httpClient->deleteLater(); +} + /** * @brief 展示搜索的APP信息 */ diff --git a/src/widget.h b/src/widget.h index f9faad9..9ec716e 100644 --- a/src/widget.h +++ b/src/widget.h @@ -128,6 +128,7 @@ private: void setfoot(int); void updatefoot(); void updateUI(); + void closeEvent(QCloseEvent *event); quint64 dirFileSize(const QString &path);