@@ -6,7 +6,7 @@
# 更新时间: 2022年07月25日
# 感谢: anbox、deepin 和 UOS
# 基于 Python3 的 PyQt5 构建
# 更新: gfdgd xi<3025613752@qq.com>、actionchen<917981399@qq.com>、为什么您不喜欢熊出没和阿布呢
# 更新: gfdgd xi<3025613752@qq.com>、actionchen<917981399@qq.com>
###########################################################################################
#################
# 引入所需的库
@@ -305,7 +305,7 @@ def GetSystemVersion():
systemInformation = readtxt("/etc/os-release")
for systemInformation in systemInformation.split('\n'):
if "PRETTY_NAME=" in systemInformation:
return systemInformation.replace("PRETTY_ NAME=", "").replace('"', '')
return systemInformation.replace("NAME=", "").replace('"', '')
# 打开所有窗口事件
def Button5Click():
@@ -819,11 +819,11 @@ def ShowHelp():
global webHelp
# 先判断是否能连接服务器,如果能则访问线上版本,否则访问本地的帮助文件
sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sk.settimeout(1)
sk.settimeout(1000 )
url = "file://" + programPath + "/Help/index.html"
try:
sk.connect(("uengine-runner.racoongx.cn ", 80))
url = f"http://uengine-runner.racoongx.cn "
sk.connect(("uengine-runner.gfdgdxi.top ", 80))
url = f"http://uengine-runner.gfdgdxi.top "
except:
traceback.print_exc()
if bad:
@@ -1153,7 +1153,7 @@ class UpdateWindow():
cancel.clicked.connect(UpdateWindow.update.close)
ok.setDisabled(True)
try:
UpdateWindow.data = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd- xi-org /wine-runner-update-information/raw/branch/master/uengine-runner/update.json").text)
UpdateWindow.data = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_ xi/wine-runner-update-information/raw/branch/master/uengine-runner/update.json").text)
versionLabel = QtWidgets.QLabel(f"当前版本:{version}\n最新版本: {UpdateWindow.data['Version']}\n更新内容: ")
if UpdateWindow.data["Version"] == version:
updateText.setText("此为最新版本,无需更新")
@@ -1171,8 +1171,7 @@ class UpdateWindow():
<p>1、使用编译或者内测版本</p>
<p>2、自己修改了程序版本</p>
<p>3、作者忘记更新云端上的更新信息了</p>
<p>如果是第三种情况, 请反馈到此: https://gitee.com/gfdgd-xi-org /uengine-runner/issues/I6B091</p>
<p>或者是这里: https://bbs.racoongx.cn/t/bugs</p>
<p>如果是第三种情况, 请反馈到此: https://gitee.com/gfdgd-xi/uengine-runner/issues/I6B091</p>
<p><img src='{programPath}/Icon/doge.png'></p>""")
ok.setDisabled(True)
break
@@ -1205,7 +1204,7 @@ class UpdateWindow():
echo 删除多余的安装包
rm -rfv /tmp/uengine-runner/update/*
echo 关闭“UEngine 运行器”
python3 {programPath}/updatekiller.py
python3 " {programPath}/updatekiller.py"
echo 下载安装包
wget -P /tmp/uengine-runner/update {UpdateWindow.data["Url"][0]}
echo 安装安装包
@@ -1325,7 +1324,7 @@ class ApkInformation():
QtWidgets.QMessageBox.critical(widget, "错误", langFile[lang]["Main"]["MainWindow"]["Error"]["ApkFileError"])
return
try:
data = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd- xi-org /wine-runner-downloads-of-runner/raw/branch/master/uengineapp/" + package +"/data.json").text)
data = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_ xi/wine-runner-downloads-of-runner/raw/branch/master/uengineapp/" + package +"/data.json").text)
print(data)
except:
QtWidgets.QMessageBox.information(widget, "提示", "此程序暂时没有评分,欢迎您贡献第一个评分!")
@@ -1593,8 +1592,7 @@ about = f'''<p align="center"><img width=256 src="{iconPath}"/></p>
<p>Qt 版本:{QtCore.qVersion()}</p>
<p>程序官网:{programUrl}</p>
<p>系统版本:{SystemVersion}</p>
<p>主要开发者: gfdgd xi、为什么您不喜欢熊出没和阿布呢</p>
<h1>©2021-{time.strftime("%Y")} RacoonGX 团队</h1>'''
<h1>©2021-{time.strftime("%Y")} gfdgd xi</h1>'''
updateThingsString = ""
tips = ""
contribute = ""
@@ -1697,10 +1695,10 @@ except:
windowflag = "close"
def Open():
try:
lists = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd- xi-org /wine-runner-downloads-of-runner/raw/branch/master/Open-UEngine/lists.json").text)
lists = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_ xi/wine-runner-downloads-of-runner/raw/branch/master/Open-UEngine/lists.json").text)
data = []
for i in lists:
data.append(int(requests.get("https://code.gitlink.org.cn/gfdgd- xi-org /wine-runner-downloads-of-runner/raw/branch/master/Open-UEngine/{}.txt".format(i)).text))
data.append(int(requests.get("https://code.gitlink.org.cn/gfdgd_ xi/wine-runner-downloads-of-runner/raw/branch/master/Open-UEngine/{}.txt".format(i)).text))
except:
QtWidgets.QMessageBox.critical(widget, "错误", "服务器出错!数据获取失败!")
return
@@ -1717,10 +1715,10 @@ def Open():
def Download():
try:
lists = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd- xi-org /wine-runner-downloads-of-runner/raw/branch/master/Install-UEngine/lists.json").text)
lists = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_ xi/wine-runner-downloads-of-runner/raw/branch/master/Install-UEngine/lists.json").text)
data = []
for i in lists:
data.append(int(requests.get("https://code.gitlink.org.cn/gfdgd- xi-org /wine-runner-downloads-of-runner/raw/branch/master/Install-UEngine/{}.txt".format(i)).text))
data.append(int(requests.get("https://code.gitlink.org.cn/gfdgd_ xi/wine-runner-downloads-of-runner/raw/branch/master/Install-UEngine/{}.txt".format(i)).text))
except:
QtWidgets.QMessageBox.critical(widget, "错误", "服务器出错!数据获取失败!")
return
@@ -1768,14 +1766,6 @@ def showhelp():
except:
traceback.print_exc()
HelpStr.setText(traceback.print_exc())
def ChgAdmiration():
HelpStr.setHtml(f"""<p><b>赞赏要记得要添加备注“UEngine运行器”, 然后后面接自己想要备注的内容或不写</p></b>
<p><img src='{programPath}/Icon/doge.png'></p>
<h3>转到微信</h3>
<p><img src='{programPath}/Icon/QR-WeChat.png'></p>
<h3>转到支付宝</h3>
<p><img src='{programPath}/Icon/QR-ZhiFuBao.png'></p>""")
BtnReadme = QtWidgets.QPushButton("使用说明")
BtnLog = QtWidgets.QPushButton("更新内容")
@@ -1785,20 +1775,9 @@ def showhelp():
BtnDownN = QtWidgets.QPushButton("程序下载量")
BtnOpenN = QtWidgets.QPushButton("程序打开量")
BtnGPLV3 = QtWidgets.QPushButton("程序开源许可证")
BtnAdmiration = QtWidgets.QPushButton("赞赏(暂未开启)")
BtnAdmiration.setDisabled(True)
HelpStr = QtWidgets.QTextBrowser()
# 此功能从 2.0.0 后不再隐藏
#BtnDownN.setEnabled("--彩蛋" in sys.argv)
# 暂时隐藏赞赏
try:
things = requests.get("https://code.gitlink.org.cn/gfdgd_xi/uengine-runner-list/raw/branch/master/admiration.txt").text.strip()
except:
things = ""
traceback.print_exc()
if "--admiration" in sys.argv or things == "true":
BtnAdmiration.setEnabled(True)
BtnAdmiration.setText("赞赏")
BtnReadme.clicked.connect(ChgTips)
BtnLog.clicked.connect(ChgLog)
BtnZujian.clicked.connect(ChgDep)
@@ -1806,7 +1785,6 @@ def showhelp():
BtnAbout.clicked.connect(ChgAbout)
BtnDownN.clicked.connect(Download)
BtnGPLV3.clicked.connect(ChgGPLV3)
BtnAdmiration.clicked.connect(ChgAdmiration)
BtnOpenN.clicked.connect(Open)
ChgTips()
@@ -1818,8 +1796,7 @@ def showhelp():
helpLayout.addWidget(BtnDownN, 4, 0, 1, 1)
helpLayout.addWidget(BtnOpenN, 5, 0, 1, 1)
helpLayout.addWidget(BtnGPLV3, 6, 0, 1, 1)
helpLayout.addWidget(BtnAdmiration , 7, 0, 1, 1)
helpLayout.addWidget(BtnAbout, 8, 0, 1, 1)
helpLayout.addWidget(BtnAbout , 7, 0, 1, 1)
helpLayout.addWidget(HelpStr, 0, 1, 10, 1)
helpWidget.setLayout(helpLayout)
@@ -1835,7 +1812,7 @@ def showhelp():
###########################
if not os.path.exists("/usr/bin/uengine"):
# Deepin/UOS 用户
if "deepin" in SystemVersion.lower() or "uos" in SystemVersion.lower():
if "deepin" in SystemVersion.lower() or "uos" in SystemVersion.lower() or subprocess.getoutput("arch").replace("\n", "").replace(" ", "") != "x86_64" :
if QtWidgets.QMessageBox.question(None, "提示", "您的电脑没有安装 UEngine, 是否安装 UEngine 以便更好的使用\n安装完后重新启动该程序即可") == QtWidgets.QMessageBox.Yes:
OpenTerminal(f"pkexec apt install uengine -y")
sys.exit(0)
@@ -1920,7 +1897,7 @@ menu = window.menuBar()
programmenu = menu.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][0]["Name"])
adb = menu.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][1]["Name"])
uengine = menu.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Name"])
help = menu.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][3]["Name"] )
help = menu.addMenu("关于" )
cleanProgramHistory = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(47), langFile[lang]["Main"]["MainWindow"]["Menu"][0]["Menu"][0])
settingWindow = QtWidgets.QAction(QtGui.QIcon.fromTheme("settings"), langFile[lang]["Main"]["MainWindow"]["Menu"][0]["Menu"][2])
@@ -1995,6 +1972,7 @@ uengineCheckCpu = QtWidgets.QAction(QtGui.QIcon.fromTheme("cpu"), langFile[lang]
uengineDeleteUengineCheck = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(40), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][9])
uengineReinstall = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][10])
uengineUbuntuInstall = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][14])
uengineUbuntuRemove = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "移除在 Ubuntu 上安装的 UEngine 及其附属脚本")
uengineUbuntuInstallRoot = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "在 Ubuntu 上安装 UEngine( SuperSU 镜像)")
uengineWindowSizeSetting = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][16])
uengine.addAction(uengineOpenDebBuilder)
@@ -2004,6 +1982,7 @@ uengine.addAction(uengineCheckCpu)
uengine.addSeparator()
uengine.addAction(uengineUbuntuInstall)
uengine.addAction(uengineUbuntuInstallRoot)
uengine.addAction(uengineUbuntuRemove)
uengine.addSeparator()
uengine.addAction(uengineWindowSizeSetting)
uengine.addSeparator()
@@ -2025,6 +2004,7 @@ uengineRoot = uengine.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["M
# 绑定信号
uengineAllowOrDisallowUpdateAndroidApp.triggered.connect(AllowOrDisallowUpdateAndroidApp)
uengineSetHttpProxy.triggered.connect(SetHttpProxy)
uengineUbuntuRemove.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"bash '{programPath}/uengine-remove.sh'"]).start())
uengineOpenDebBuilder.triggered.connect(OpenUengineDebBuilder)
uengineOpenDebBuilderMore.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{programPath}/uengine-apk-builder-more'"]).start())
uengineKeyboardToMouse.triggered.connect(KeyboardToMouse)
@@ -2107,19 +2087,17 @@ uengineReinstallUengineImage.triggered.connect(ReinstallUengineImage)
helpOpenProgramUrl = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(20), langFile[lang]["Main"]["MainWindow"]["Menu"][3]["Menu"][0])
makerWebsize = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(20), "作者个人站")
helpForum = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(20), "程序论坛")
uengineRunnerSearch = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(20), "查询指定程序在 UEngine 的运行情况")
helpUengineRunnerBugUpload = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][3]["Menu"][2])
helpShowHelp = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][3]["Menu"][4])
helpRunnerUpdate = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][3]["Menu"][3])
helpFen = QtWidgets.QAction("程序评分")
helpWebInformation = QtWidgets.QAction("程序公告")
helpAbout = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(9), langFile[lang]["Main"]["MainWindow"]["Menu"][3]["Menu"][1] )
helpAbout = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(9), "关于" )
helpAboutQt = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(9), langFile[lang]["Main"]["MainWindow"]["Menu"][3]["Menu"][5])
help.addAction(helpOpenProgramUrl)
help.addAction(uengineRunnerSearch)
help.addAction(makerWebsize)
help.addAction(helpForum)
help.addSeparator()
help.addAction(helpUengineRunnerBugUpload)
help.addSeparator()
@@ -2139,7 +2117,6 @@ hm1_1.triggered.connect(lambda: webbrowser.open_new_tab("https://gitee.com/gfdgd
helpOpenProgramUrl.triggered.connect(OpenProgramURL)
uengineRunnerSearch.triggered.connect(lambda: webbrowser.open_new_tab("https://gfdgd-xi.github.io/uengine-runner-info/"))
makerWebsize.triggered.connect(lambda: webbrowser.open_new_tab("https://gfdgd-xi.github.io"))
helpForum.triggered.connect(lambda: webbrowser.open_new_tab("https://bbs.racoongx.cn/"))
helpUengineRunnerBugUpload.triggered.connect(UengineRunnerBugUpload)
helpShowHelp.triggered.connect(ShowHelp)
helpRunnerUpdate.triggered.connect(UpdateWindow.ShowWindow)
@@ -2147,6 +2124,7 @@ helpFen.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{p
helpWebInformation.triggered.connect(GetNewInformation)
helpAbout.triggered.connect(showhelp)
helpAboutQt.triggered.connect(lambda: QtWidgets.QMessageBox.aboutQt(widget))
# 设置窗口
app.setStyle(QtWidgets.QStyleFactory.create(settingConf["Theme"]))
widget.setLayout(widgetLayout)
@@ -2155,13 +2133,4 @@ window.setWindowTitle(title)
window.show()
window.setWindowIcon(QtGui.QIcon(iconPath))
window.setFixedSize(window.frameSize().width(), window.frameSize().height())
# 癸卯年正月初一彩蛋(只显示一次,错过就没了)
# ( 2023年1月22日)
if datetime.datetime.now().year == 2023 and datetime.datetime.now().month == 1 and datetime.datetime.now().day == 22 and not os.path.exists(f"{get_home()}/.config/uengine-runner/2023-sf.lock"):
os.system(f"touch '{get_home()}/.config/uengine-runner/2023-sf.lock'")
QtWidgets.QMessageBox.information(window, "新年祝福", "今天是癸卯年正月初一, RacoonGX 团队祝您在新的一年里万事顺意、幸福美满、官运亨通、吉祥如意、万事顺利、荣华富贵、一帆风顺、金玉满堂、五福临门、龙凤呈祥、龙门精神、百业兴旺、六畜兴旺、五谷丰登、喜上眉梢!")
#if datetime.datetime.now().year >= 2023 and datetime.datetime.now().month >= 1 and datetime.datetime.now().day >= 22:
if version == "2.0.0":
title += " 新春版"
window.setWindowTitle(title)
sys.exit(app.exec_())