From ef38755e748a06dcb71b469584ad521f9b794577 Mon Sep 17 00:00:00 2001 From: momen Date: Wed, 13 Aug 2025 19:19:05 +0800 Subject: [PATCH 1/3] =?UTF-8?q?chore:=E5=AE=89=E8=A3=85=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E5=90=8E=E6=A0=87=E8=AE=B0=E4=B8=BA=E4=BB=A5=E5=AE=89=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/appdelegate.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/appdelegate.cpp b/src/appdelegate.cpp index 1a1c3e9..de5c9ed 100644 --- a/src/appdelegate.cpp +++ b/src/appdelegate.cpp @@ -14,6 +14,7 @@ AppDelegate::AppDelegate(QObject *parent) [this](const QString &packageName, bool success) { if (m_downloads.contains(packageName)) { m_downloads[packageName].isDownloading = false; + m_downloads[packageName].isInstalled = true; emit updateDisplay(packageName); qDebug() << (success ? "下载完成:" : "下载失败:") << packageName; if (success) { From dd11831dfa8c9e79d792659849603799058e8b11 Mon Sep 17 00:00:00 2001 From: momen Date: Thu, 14 Aug 2025 20:03:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=90=8E=E6=98=BE=E7=A4=BA=E4=B8=BA=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=AE=8C=E6=88=90=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/appdelegate.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/appdelegate.cpp b/src/appdelegate.cpp index de5c9ed..973fa82 100644 --- a/src/appdelegate.cpp +++ b/src/appdelegate.cpp @@ -14,15 +14,16 @@ AppDelegate::AppDelegate(QObject *parent) [this](const QString &packageName, bool success) { if (m_downloads.contains(packageName)) { m_downloads[packageName].isDownloading = false; - m_downloads[packageName].isInstalled = true; + // 不要提前设置 isInstalled emit updateDisplay(packageName); qDebug() << (success ? "下载完成:" : "下载失败:") << packageName; if (success) { - enqueueInstall(packageName); + enqueueInstall(packageName); // 安装完成后再设置 isInstalled } } }); + connect(m_downloadManager, &DownloadManager::downloadProgress, this, [this](const QString &packageName, int progress) { if (m_downloads.contains(packageName)) { @@ -277,11 +278,11 @@ void AppDelegate::startNextInstall() { qDebug().noquote() << QString::fromLocal8Bit(err); }); connect(m_installProcess, QOverload::of(&QProcess::finished), - this, [this, packageName, logFile](int /*exitCode*/, QProcess::ExitStatus /*status*/) { + this, [this, packageName, logFile](int exitCode, QProcess::ExitStatus status) { if (logFile) logFile->close(); - // 若未检测到“软件包已安装”,此处兜底 - if (!m_downloads[packageName].isInstalled) { - m_downloads[packageName].isInstalling = false; + m_downloads[packageName].isInstalling = false; + if (exitCode == 0) { + m_downloads[packageName].isInstalled = true; // 安装成功 } emit updateDisplay(packageName); m_installProcess->deleteLater(); @@ -289,6 +290,7 @@ void AppDelegate::startNextInstall() { m_installingPackage.clear(); startNextInstall(); }); + } else { // 日志文件无法打开时,仍然要连接原有信号 connect(m_installProcess, &QProcess::readyReadStandardOutput, this, [this, packageName]() { From e5217b3829f4732887140066e6c3d33a120dc9da Mon Sep 17 00:00:00 2001 From: momen Date: Fri, 29 Aug 2025 21:28:22 +0800 Subject: [PATCH 3/3] =?UTF-8?q?update:=E5=BC=95=E5=85=A5QScreen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/appdelegate.cpp | 2 -- src/mainwindow.h | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/appdelegate.cpp b/src/appdelegate.cpp index 973fa82..0c93065 100644 --- a/src/appdelegate.cpp +++ b/src/appdelegate.cpp @@ -23,7 +23,6 @@ AppDelegate::AppDelegate(QObject *parent) } }); - connect(m_downloadManager, &DownloadManager::downloadProgress, this, [this](const QString &packageName, int progress) { if (m_downloads.contains(packageName)) { @@ -290,7 +289,6 @@ void AppDelegate::startNextInstall() { m_installingPackage.clear(); startNextInstall(); }); - } else { // 日志文件无法打开时,仍然要连接原有信号 connect(m_installProcess, &QProcess::readyReadStandardOutput, this, [this, packageName]() { diff --git a/src/mainwindow.h b/src/mainwindow.h index bc7f9d7..d754b5f 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -7,7 +7,7 @@ #include "appdelegate.h" #include #include // 添加头文件 - +#include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow;