mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-15 21:32:05 +08:00
sync: Support launch app
Signed-off-by: shenmo <jifengshenmo@outlook.com>
This commit is contained in:
@@ -73,6 +73,7 @@ void AppIntoPage::openUrl(const QUrl &url)
|
|||||||
iconRequest.setUrl(QUrl(pkgUrlBase + "/icon.png"));
|
iconRequest.setUrl(QUrl(pkgUrlBase + "/icon.png"));
|
||||||
iconRequest.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
|
iconRequest.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
|
||||||
iconRequest.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
|
iconRequest.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
|
||||||
|
iconRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||||
|
|
||||||
iconManager->get(iconRequest);
|
iconManager->get(iconRequest);
|
||||||
QObject::connect(iconManager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
|
QObject::connect(iconManager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
|
||||||
@@ -96,6 +97,7 @@ void AppIntoPage::openUrl(const QUrl &url)
|
|||||||
request.setUrl(QUrl(imgUrl));
|
request.setUrl(QUrl(imgUrl));
|
||||||
request.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
|
request.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
|
||||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
|
request.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
|
||||||
|
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||||
manager->get(request);
|
manager->get(request);
|
||||||
QObject::connect(manager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
|
QObject::connect(manager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
|
||||||
{
|
{
|
||||||
@@ -178,7 +180,19 @@ void AppIntoPage::openUrl(const QUrl &url)
|
|||||||
{
|
{
|
||||||
if (isUpdated)
|
if (isUpdated)
|
||||||
{
|
{
|
||||||
ui->downloadButton->setText(tr("Reinstall"));
|
QProcess process;
|
||||||
|
QStringList arguments;
|
||||||
|
arguments << "check" << info["Pkgname"].toString();
|
||||||
|
process.start("/opt/durapps/spark-store/bin/store-helper/ss-launcher", arguments);
|
||||||
|
if (process.waitForFinished()) {
|
||||||
|
exitCode = process.exitCode();
|
||||||
|
exitStatus = process.exitStatus();
|
||||||
|
if (exitCode != 0){
|
||||||
|
ui->downloadButton->setText(tr("Reinstall"));
|
||||||
|
}else{
|
||||||
|
ui->downloadButton->setText(tr("Launch"));
|
||||||
|
}
|
||||||
|
}
|
||||||
ui->downloadButton->setEnabled(true);
|
ui->downloadButton->setEnabled(true);
|
||||||
ui->downloadButton->show();
|
ui->downloadButton->show();
|
||||||
ui->pushButton_3->show();
|
ui->pushButton_3->show();
|
||||||
@@ -355,14 +369,25 @@ void AppIntoPage::isDownloading(const QUrl &url)
|
|||||||
|
|
||||||
int exitCode = process.exitCode();
|
int exitCode = process.exitCode();
|
||||||
QProcess::ExitStatus exitStatus = process.exitStatus();
|
QProcess::ExitStatus exitStatus = process.exitStatus();
|
||||||
process.close();
|
|
||||||
|
|
||||||
if (exitCode == 0 && exitStatus == QProcess::NormalExit)
|
if (exitCode == 0 && exitStatus == QProcess::NormalExit)
|
||||||
{
|
{
|
||||||
|
QStringList arguments;
|
||||||
|
arguments << "check" << info["Pkgname"].toString();
|
||||||
|
process.start("/opt/durapps/spark-store/bin/store-helper/ss-launcher", arguments);
|
||||||
|
if (process.waitForFinished()) {
|
||||||
|
exitCode = process.exitCode();
|
||||||
|
exitStatus = process.exitStatus();
|
||||||
|
if (exitCode != 0){
|
||||||
|
ui->downloadButton->setText(tr("Reinstall"));
|
||||||
|
}else{
|
||||||
|
ui->downloadButton->setText(tr("Launch"));
|
||||||
|
}
|
||||||
|
}
|
||||||
ui->downloadButton->setEnabled(true);
|
ui->downloadButton->setEnabled(true);
|
||||||
ui->downloadButton->setText(tr("Reinstall"));
|
|
||||||
ui->downloadButton->show();
|
ui->downloadButton->show();
|
||||||
ui->pushButton_3->show();
|
ui->pushButton_3->show();
|
||||||
|
process.close();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -496,6 +521,15 @@ void AppIntoPage::on_downloadButton_clicked()
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (ui->downloadButton->text() == tr("Launch"))
|
||||||
|
{
|
||||||
|
QString scriptPath = "/opt/durapps/spark-store/bin/store-helper/ss-launcher";
|
||||||
|
QStringList arguments;
|
||||||
|
arguments << "launch" << info["Pkgname"].toString();
|
||||||
|
QProcess process;
|
||||||
|
process.startDetached(scriptPath, arguments);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
emit clickedDownloadBtn();
|
emit clickedDownloadBtn();
|
||||||
|
|
||||||
@@ -504,7 +538,6 @@ void AppIntoPage::on_downloadButton_clicked()
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ui->downloadButton->text() == tr("Reinstall"))
|
if (ui->downloadButton->text() == tr("Reinstall"))
|
||||||
{
|
{
|
||||||
item->reinstall = true;
|
item->reinstall = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user