diff --git a/src/main.cpp b/src/main.cpp index aab3c76..6f8b915 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -10,6 +10,8 @@ DCORE_USE_NAMESPACE DWIDGET_USE_NAMESPACE +#define UOSCheckFile "/var/lib/deepin/developer-mode/enabled" + int main(int argc, char *argv[]) { // Get build time @@ -67,6 +69,27 @@ int main(int argc, char *argv[]) qputenv("QT_QPA_PLATFORM", "dxcb"); } + // Check UOS developer mode. + QFile UOSDevelopFile(UOSCheckFile); + if (UOSDevelopFile.exists() && isDeepinOS) + { + config.setValue("UOS/isUOS", true); + QTextStream UOStextStream(&UOSDevelopFile); + QString lineData = UOStextStream.readLine(); + bool devmode = lineData.toInt(); + qDebug() << "UOS Developer Mode Status:" << devmode; + config.setValue("UOS/EnableDeveloperMode", devmode); + } + else + { + if (config.contains("UOS/isUOS")) + { + config.remove("UOS/isUOS"); + config.remove("UOS/EnableDeveloperMode"); + } + } + config.sync(); // 写入更改至 config.ini,并同步最新内容 + // 龙芯机器配置,使得 DApplication 能正确加载 QTWEBENGINE qputenv("DTK_FORCE_RASTER_WIDGETS", "FALSE"); // qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-features=UseModernMediaControls"); diff --git a/src/mainwindow-dtk.cpp b/src/mainwindow-dtk.cpp index 5db6020..cfed349 100644 --- a/src/mainwindow-dtk.cpp +++ b/src/mainwindow-dtk.cpp @@ -322,15 +322,36 @@ void MainWindow::updateUi(int now) void MainWindow::on_pushButton_14_clicked() { - QFile upgradeStatus("/tmp/spark-store/upgradeStatus.txt"); - if (!upgradeStatus.exists()) + // Check UOS + QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat); + if (config.contains("UOS/EnableDeveloperMode") && !config.value("UOS/EnableDeveloperMode").toBool()) { + qDebug() << "UOS Developer Mode has not been enabled!"; QtConcurrent::run([=] { auto upgradeP = new QProcess(); + upgradeP->startDetached("zenity", QStringList() << "--info" + << "--text" + << "UOS开发者模式未开启,相关功能被禁用" + << "--title" + << "功能禁用提示" + ); + upgradeP->waitForStarted(); + upgradeP->waitForFinished(30); + upgradeP->deleteLater(); }); + } + else + { + QFile upgradeStatus("/tmp/spark-store/upgradeStatus.txt"); + if (!upgradeStatus.exists()) + { + QtConcurrent::run([=] + { + auto upgradeP = new QProcess(); upgradeP->startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh", QStringList()); upgradeP->waitForStarted(); upgradeP->waitForFinished(-1); upgradeP->deleteLater(); }); - } + } + } } diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp index c71ca96..507f2b5 100644 --- a/src/pages/appintopage.cpp +++ b/src/pages/appintopage.cpp @@ -89,81 +89,93 @@ void AppIntoPage::openUrl(QUrl url) ui->d_contributor->setText(info["Contributor"].toString()); ui->label_2->setText(info["More"].toString()); - QProcess isInstall; - bool isInstalled; - bool isUpdated; - QString packagename = info["Pkgname"].toString(); - isInstall.start("dpkg", QStringList() << "-s" << info["Pkgname"].toString()); - qDebug() << info["Pkgname"].toString(); - isInstall.waitForFinished(180*1000); // 默认超时 3 分钟 - int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length(); - if(error == 0) + + // Check UOS + QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat); + if (config.contains("UOS/EnableDeveloperMode") && !config.value("UOS/EnableDeveloperMode").toBool()){ + qDebug() << "UOS Developer Mode has not been enabled!"; + ui->downloadButton->setText(tr("Developer Mode Disabled")); + ui->downloadButton->setEnabled(false); + ui->downloadButton->show(); + } + else // 非 UOS 或 UOS 已经开启开发者模式 { - isInstalled = true; + QProcess isInstall; + bool isInstalled; + bool isUpdated; + QString packagename = info["Pkgname"].toString(); + isInstall.start("dpkg", QStringList() << "-s" << info["Pkgname"].toString()); + qDebug() << info["Pkgname"].toString(); + isInstall.waitForFinished(180 * 1000); // 默认超时 3 分钟 + int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length(); + if (error == 0) + { + isInstalled = true; - QProcess isUpdate; - isUpdate.start("dpkg-query", QStringList() << "--showformat='${Version}'" - << "--show" << info["Pkgname"].toString()); - isUpdate.waitForFinished(180*1000); // 默认超时 3 分钟 - QString localVersion = isUpdate.readAllStandardOutput(); - localVersion.replace("'", ""); + QProcess isUpdate; + isUpdate.start("dpkg-query", QStringList() << "--showformat='${Version}'" + << "--show" << info["Pkgname"].toString()); + isUpdate.waitForFinished(180 * 1000); // 默认超时 3 分钟 + QString localVersion = isUpdate.readAllStandardOutput(); + localVersion.replace("'", ""); - isUpdate.start("dpkg", QStringList() << "--compare-versions" << localVersion << "ge" << info["Version"].toString()); - isUpdate.waitForFinished(180*1000); // 默认超时 3 分钟 - if(!isUpdate.exitCode()) - { - isUpdated = true; - } - else - { - isUpdated = false; - } + isUpdate.start("dpkg", QStringList() << "--compare-versions" << localVersion << "ge" << info["Version"].toString()); + isUpdate.waitForFinished(180 * 1000); // 默认超时 3 分钟 + if (!isUpdate.exitCode()) + { + isUpdated = true; } else { - isInstalled = false; isUpdated = false; } - - if(isInstalled) - { - if(isUpdated) - { - ui->downloadButton->setText(tr("Reinstall")); - ui->downloadButton->setEnabled(true); - ui->downloadButton->show(); - ui->pushButton_3->show(); } else { - ui->downloadButton->setText(tr("Upgrade")); + isInstalled = false; + isUpdated = false; + } + + if (isInstalled) + { + if (isUpdated) + { + ui->downloadButton->setText(tr("Reinstall")); + ui->downloadButton->setEnabled(true); + ui->downloadButton->show(); + ui->pushButton_3->show(); + } + else + { + ui->downloadButton->setText(tr("Upgrade")); + ui->downloadButton->setEnabled(true); + ui->downloadButton->show(); + ui->pushButton_3->show(); + } + } + else + { + ui->downloadButton->setText(tr("Download")); + isDownloading(SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString()); ui->downloadButton->setEnabled(true); ui->downloadButton->show(); - ui->pushButton_3->show(); } } - else - { - ui->downloadButton->setText(tr("Download")); - isDownloading(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString()); - ui->downloadButton->setEnabled(true); - ui->downloadButton->show(); - } QStringList taglist = info["Tags"].toString().split(";"); QString tmp=info["img_urls"].toString(); - qDebug()<<tmp; - if(tmp.left(2)=="[\"") + qDebug() << tmp; + if (tmp.left(2) == "[\"") { - tmp.remove(0,2); + tmp.remove(0, 2); } - if(tmp.right(2)=="\"]") + if (tmp.right(2) == "\"]") { - tmp.remove(tmp.size()-2,tmp.size()); + tmp.remove(tmp.size() - 2, tmp.size()); } QStringList imglist = tmp.split("\",\""); - qDebug()<<imglist; - for(int i=0;i < imglist.size();i++) + qDebug() << imglist; + for (int i = 0; i < imglist.size(); i++) { QNetworkAccessManager *naManager; QNetworkRequest request; diff --git a/translations/spark-store_en.ts b/translations/spark-store_en.ts index ba09e43..f2d6bc1 100644 --- a/translations/spark-store_en.ts +++ b/translations/spark-store_en.ts @@ -10,8 +10,8 @@ </message> <message> <location filename="../src/pages/appintopage.ui" line="244"/> - <location filename="../src/pages/appintopage.cpp" line="147"/> - <location filename="../src/pages/appintopage.cpp" line="212"/> + <location filename="../src/pages/appintopage.cpp" line="158"/> + <location filename="../src/pages/appintopage.cpp" line="224"/> <source>Download</source> <translation type="unfinished"></translation> </message> @@ -179,42 +179,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="132"/> - <location filename="../src/pages/appintopage.cpp" line="228"/> - <location filename="../src/pages/appintopage.cpp" line="325"/> + <location filename="../src/pages/appintopage.cpp" line="97"/> + <source>Developer Mode Disabled</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/pages/appintopage.cpp" line="143"/> + <location filename="../src/pages/appintopage.cpp" line="240"/> + <location filename="../src/pages/appintopage.cpp" line="337"/> <source>Reinstall</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="139"/> + <location filename="../src/pages/appintopage.cpp" line="150"/> <source>Upgrade</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="217"/> - <location filename="../src/pages/appintopage.cpp" line="313"/> - <location filename="../src/pages/appintopage.cpp" line="354"/> + <location filename="../src/pages/appintopage.cpp" line="229"/> + <location filename="../src/pages/appintopage.cpp" line="325"/> + <location filename="../src/pages/appintopage.cpp" line="366"/> <source>Install</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="222"/> + <location filename="../src/pages/appintopage.cpp" line="234"/> <source>Installing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="358"/> - <location filename="../src/pages/appintopage.cpp" line="369"/> + <location filename="../src/pages/appintopage.cpp" line="370"/> + <location filename="../src/pages/appintopage.cpp" line="381"/> <source>Spark Store</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="358"/> + <location filename="../src/pages/appintopage.cpp" line="370"/> <source>Uninstall succeeded</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="369"/> + <location filename="../src/pages/appintopage.cpp" line="381"/> <source>The URL has been copied to the clipboard</source> <translation type="unfinished"></translation> </message> diff --git a/translations/spark-store_fr.ts b/translations/spark-store_fr.ts index c5b9d98..ede392e 100644 --- a/translations/spark-store_fr.ts +++ b/translations/spark-store_fr.ts @@ -10,8 +10,8 @@ </message> <message> <location filename="../src/pages/appintopage.ui" line="244"/> - <location filename="../src/pages/appintopage.cpp" line="147"/> - <location filename="../src/pages/appintopage.cpp" line="212"/> + <location filename="../src/pages/appintopage.cpp" line="158"/> + <location filename="../src/pages/appintopage.cpp" line="224"/> <source>Download</source> <translation type="unfinished"></translation> </message> @@ -179,42 +179,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="132"/> - <location filename="../src/pages/appintopage.cpp" line="228"/> - <location filename="../src/pages/appintopage.cpp" line="325"/> + <location filename="../src/pages/appintopage.cpp" line="97"/> + <source>Developer Mode Disabled</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/pages/appintopage.cpp" line="143"/> + <location filename="../src/pages/appintopage.cpp" line="240"/> + <location filename="../src/pages/appintopage.cpp" line="337"/> <source>Reinstall</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="139"/> + <location filename="../src/pages/appintopage.cpp" line="150"/> <source>Upgrade</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="217"/> - <location filename="../src/pages/appintopage.cpp" line="313"/> - <location filename="../src/pages/appintopage.cpp" line="354"/> + <location filename="../src/pages/appintopage.cpp" line="229"/> + <location filename="../src/pages/appintopage.cpp" line="325"/> + <location filename="../src/pages/appintopage.cpp" line="366"/> <source>Install</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="222"/> + <location filename="../src/pages/appintopage.cpp" line="234"/> <source>Installing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="358"/> - <location filename="../src/pages/appintopage.cpp" line="369"/> + <location filename="../src/pages/appintopage.cpp" line="370"/> + <location filename="../src/pages/appintopage.cpp" line="381"/> <source>Spark Store</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="358"/> + <location filename="../src/pages/appintopage.cpp" line="370"/> <source>Uninstall succeeded</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="369"/> + <location filename="../src/pages/appintopage.cpp" line="381"/> <source>The URL has been copied to the clipboard</source> <translation type="unfinished"></translation> </message> diff --git a/translations/spark-store_zh_CN.ts b/translations/spark-store_zh_CN.ts index c8753f1..4977927 100644 --- a/translations/spark-store_zh_CN.ts +++ b/translations/spark-store_zh_CN.ts @@ -10,8 +10,8 @@ </message> <message> <location filename="../src/pages/appintopage.ui" line="244"/> - <location filename="../src/pages/appintopage.cpp" line="147"/> - <location filename="../src/pages/appintopage.cpp" line="212"/> + <location filename="../src/pages/appintopage.cpp" line="158"/> + <location filename="../src/pages/appintopage.cpp" line="224"/> <source>Download</source> <translation>下载</translation> </message> @@ -179,42 +179,47 @@ <translation>点击跳转</translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="132"/> - <location filename="../src/pages/appintopage.cpp" line="228"/> - <location filename="../src/pages/appintopage.cpp" line="325"/> + <location filename="../src/pages/appintopage.cpp" line="97"/> + <source>Developer Mode Disabled</source> + <translation>开发者模式未开启</translation> + </message> + <message> + <location filename="../src/pages/appintopage.cpp" line="143"/> + <location filename="../src/pages/appintopage.cpp" line="240"/> + <location filename="../src/pages/appintopage.cpp" line="337"/> <source>Reinstall</source> <translation>重新安装</translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="139"/> + <location filename="../src/pages/appintopage.cpp" line="150"/> <source>Upgrade</source> <translation>升级</translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="217"/> - <location filename="../src/pages/appintopage.cpp" line="313"/> - <location filename="../src/pages/appintopage.cpp" line="354"/> + <location filename="../src/pages/appintopage.cpp" line="229"/> + <location filename="../src/pages/appintopage.cpp" line="325"/> + <location filename="../src/pages/appintopage.cpp" line="366"/> <source>Install</source> <translation>安装</translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="222"/> + <location filename="../src/pages/appintopage.cpp" line="234"/> <source>Installing</source> <translation>正在安装</translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="358"/> - <location filename="../src/pages/appintopage.cpp" line="369"/> + <location filename="../src/pages/appintopage.cpp" line="370"/> + <location filename="../src/pages/appintopage.cpp" line="381"/> <source>Spark Store</source> <translation>星火应用商店</translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="358"/> + <location filename="../src/pages/appintopage.cpp" line="370"/> <source>Uninstall succeeded</source> <translation>卸载成功</translation> </message> <message> - <location filename="../src/pages/appintopage.cpp" line="369"/> + <location filename="../src/pages/appintopage.cpp" line="381"/> <source>The URL has been copied to the clipboard</source> <translation>链接已复制到剪贴板</translation> </message> @@ -483,7 +488,7 @@ <message> <location filename="../src/application.cpp" line="31"/> <source><span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>Spark developers</span></source> - <translation type="unfinished"><span style=' font-size:10pt;font-weight:60;'>一款由社区提供的应用商店</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>星火计划开发者</span></translation> + <translation><span style=' font-size:10pt;font-weight:60;'>一款由社区提供的应用商店</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>星火计划开发者</span></translation> </message> <message> <location filename="../src/application.cpp" line="92"/>