mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-07-19 03:52:22 +08:00
fix: 检测UOS开发者模式
This commit is contained in:
parent
2ab4ebc0e3
commit
fc658f324d
23
src/main.cpp
23
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");
|
||||
|
@ -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(); });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user