mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-01-13 10:08:28 +08:00
完整打包器支持导入/导出配置文件
This commit is contained in:
parent
3fd2b14a2a
commit
96fa417b3b
@ -1681,6 +1681,91 @@ def ChangeArchCombobox():
|
|||||||
def InstallDeb():
|
def InstallDeb():
|
||||||
os.system(f"xdg-open '{e12_text.text()}'")
|
os.system(f"xdg-open '{e12_text.text()}'")
|
||||||
|
|
||||||
|
def OpenConfigFile():
|
||||||
|
path = QtWidgets.QFileDialog.getOpenFileName(window, "打开列表", get_home(), "JSON 文件(*.json);;所有文件(*.*)")
|
||||||
|
try:
|
||||||
|
if path[0] == "" and path[0] == None:
|
||||||
|
return
|
||||||
|
try:
|
||||||
|
with open(path[0], "r") as file:
|
||||||
|
openInfo = json.loads(file.read())
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
|
||||||
|
return
|
||||||
|
for i in openInfo:
|
||||||
|
option = openInfo[i][0]
|
||||||
|
if option == "L":
|
||||||
|
allInfoList[i][1].setText(openInfo[i][1])
|
||||||
|
elif option == "Co":
|
||||||
|
allInfoList[i][1].setCurrentIndex(openInfo[i][1])
|
||||||
|
elif option == "Ch":
|
||||||
|
allInfoList[i][1].setChecked(openInfo[i][1])
|
||||||
|
elif option == "Str-SparkHelperConfigPath":
|
||||||
|
allInfoList[i][1] = openInfo[i][1]
|
||||||
|
if openInfo[i][1] != None:
|
||||||
|
helperConfigPathText.setText(os.path.basename(openInfo[i][1]))
|
||||||
|
elif option == "List-Desktop":
|
||||||
|
if len(openInfo[i][1]) > 1:
|
||||||
|
for k in openInfo[i][1][1:]:
|
||||||
|
AddTab(k)
|
||||||
|
|
||||||
|
for k in range(len(openInfo[i][1][0])):
|
||||||
|
try:
|
||||||
|
iconUiList[0][k].setText(openInfo[i][1][0][k])
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
iconUiList[0][k].setCurrentIndex(openInfo[i][1][0][k])
|
||||||
|
except:
|
||||||
|
print(k)
|
||||||
|
traceback.print_exc()
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
|
||||||
|
|
||||||
|
def SaveConfigList():
|
||||||
|
saveInfo = {}
|
||||||
|
try:
|
||||||
|
for i in allInfoList:
|
||||||
|
option = allInfoList[i][0]
|
||||||
|
print(i)
|
||||||
|
if option == "L":
|
||||||
|
saveInfo[i] = ["L", allInfoList[i][1].text()]
|
||||||
|
elif option == "Co":
|
||||||
|
saveInfo[i] = ["Co", allInfoList[i][1].currentIndex()]
|
||||||
|
elif option == "Ch":
|
||||||
|
saveInfo[i] = ["Ch", allInfoList[i][1].isChecked()]
|
||||||
|
elif option == "Str-SparkHelperConfigPath":
|
||||||
|
saveInfo[i] = ["Str-SparkHelperConfigPath", allInfoList[i][1]]
|
||||||
|
elif option == "List-Desktop":
|
||||||
|
print("aaa")
|
||||||
|
desktopTabList = []
|
||||||
|
|
||||||
|
for d in allInfoList[i][1]:
|
||||||
|
desktopInfoList = []
|
||||||
|
for k in d:
|
||||||
|
try:
|
||||||
|
desktopInfoList.append(k.text())
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
desktopInfoList.append(k.currentIndex())
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
desktopTabList.append(desktopInfoList)
|
||||||
|
saveInfo[i] = ["List-Desktop", desktopTabList]
|
||||||
|
path = QtWidgets.QFileDialog.getSaveFileName(window, "保存列表", get_home(), "JSON 文件(*.json);;所有文件(*.*)")
|
||||||
|
print(path)
|
||||||
|
if path[0] != "" and path[0] != None:
|
||||||
|
try:
|
||||||
|
with open(path[0], "w") as file:
|
||||||
|
file.write(json.dumps(saveInfo, ensure_ascii=False, indent=4))
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
|
||||||
|
|
||||||
def ClearHelperConfigPathText():
|
def ClearHelperConfigPathText():
|
||||||
global helperConfigPath
|
global helperConfigPath
|
||||||
helperConfigPath = None
|
helperConfigPath = None
|
||||||
@ -1979,7 +2064,7 @@ def ChangeTapTitle():
|
|||||||
|
|
||||||
mapLink = []
|
mapLink = []
|
||||||
|
|
||||||
def AddTab():
|
def AddTab(defaultValue=[]):
|
||||||
global mapLink
|
global mapLink
|
||||||
button2 = QtWidgets.QPushButton(transla.transe("U", "浏览……"))
|
button2 = QtWidgets.QPushButton(transla.transe("U", "浏览……"))
|
||||||
e7_text = QtWidgets.QLineEdit()
|
e7_text = QtWidgets.QLineEdit()
|
||||||
@ -2031,6 +2116,15 @@ Utility=工具软件或其他应用。
|
|||||||
e9_text.setPlaceholderText(transla.transe("U", "支持 png 和 svg 格式,不支持 ico 格式"))
|
e9_text.setPlaceholderText(transla.transe("U", "支持 png 和 svg 格式,不支持 ico 格式"))
|
||||||
e10_text.setWhatsThis(transla.transe("U", "快捷方式的 MimeType 项,一般为空即可"))
|
e10_text.setWhatsThis(transla.transe("U", "快捷方式的 MimeType 项,一般为空即可"))
|
||||||
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text, e10_text])
|
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text, e10_text])
|
||||||
|
if defaultValue != []:
|
||||||
|
for i in range(len(iconUiList[-1])):
|
||||||
|
try:
|
||||||
|
iconUiList[-1][i].setText(defaultValue[i])
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
iconUiList[-1][i].setCurrentIndex(defaultValue[i])
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
print(iconUiList)
|
print(iconUiList)
|
||||||
|
|
||||||
def DelTab():
|
def DelTab():
|
||||||
@ -2309,6 +2403,8 @@ programmenu = menu.addMenu(transla.transe("U", "程序(&P)"))
|
|||||||
debMenu = menu.addMenu(transla.transe("U", "deb 包"))
|
debMenu = menu.addMenu(transla.transe("U", "deb 包"))
|
||||||
uploadSparkStore = menu.addMenu(transla.transe("U", "投稿到星火应用商店"))
|
uploadSparkStore = menu.addMenu(transla.transe("U", "投稿到星火应用商店"))
|
||||||
help = menu.addMenu(transla.transe("U", "帮助"))
|
help = menu.addMenu(transla.transe("U", "帮助"))
|
||||||
|
openFile = QtWidgets.QAction(transla.transe("U", "打开配置文件"))
|
||||||
|
saveFile = QtWidgets.QAction(transla.transe("U", "保存配置文件"))
|
||||||
setMiniFont = QtWidgets.QAction(transla.transe("U", "使用小字体"))
|
setMiniFont = QtWidgets.QAction(transla.transe("U", "使用小字体"))
|
||||||
setDefaultFont = QtWidgets.QAction(transla.transe("U", "使用默认大小字体"))
|
setDefaultFont = QtWidgets.QAction(transla.transe("U", "使用默认大小字体"))
|
||||||
hideShowText = QtWidgets.QAction(transla.transe("U", "隐藏输出框"))
|
hideShowText = QtWidgets.QAction(transla.transe("U", "隐藏输出框"))
|
||||||
@ -2324,11 +2420,16 @@ else:
|
|||||||
uploadSparkStoreProgram.setDisabled(True)
|
uploadSparkStoreProgram.setDisabled(True)
|
||||||
tip = QtWidgets.QAction(transla.transe("U", "小提示"))
|
tip = QtWidgets.QAction(transla.transe("U", "小提示"))
|
||||||
getPdfHelp = QtWidgets.QAction(transla.transe("U", "Wine运行器和Wine打包器傻瓜式使用教程(小白专用)\nBy @雁舞白沙"))
|
getPdfHelp = QtWidgets.QAction(transla.transe("U", "Wine运行器和Wine打包器傻瓜式使用教程(小白专用)\nBy @雁舞白沙"))
|
||||||
|
openFile.triggered.connect(OpenConfigFile)
|
||||||
|
saveFile.triggered.connect(SaveConfigList)
|
||||||
setMiniFont.triggered.connect(lambda: SetFont(1.2))
|
setMiniFont.triggered.connect(lambda: SetFont(1.2))
|
||||||
setDefaultFont.triggered.connect(lambda: SetFont(1))
|
setDefaultFont.triggered.connect(lambda: SetFont(1))
|
||||||
hideShowText.triggered.connect(lambda: textbox1.setHidden(hideShowText.isChecked()))
|
hideShowText.triggered.connect(lambda: textbox1.setHidden(hideShowText.isChecked()))
|
||||||
exit.triggered.connect(window.close)
|
exit.triggered.connect(window.close)
|
||||||
tip.triggered.connect(helps)
|
tip.triggered.connect(helps)
|
||||||
|
programmenu.addAction(openFile)
|
||||||
|
programmenu.addAction(saveFile)
|
||||||
|
programmenu.addSeparator()
|
||||||
programmenu.addAction(setMiniFont)
|
programmenu.addAction(setMiniFont)
|
||||||
programmenu.addAction(setDefaultFont)
|
programmenu.addAction(setDefaultFont)
|
||||||
programmenu.addAction(hideShowText)
|
programmenu.addAction(hideShowText)
|
||||||
@ -2399,6 +2500,28 @@ buildDebDir.setWhatsThis(transla.transe("U", "构建 deb 包目录,但不打
|
|||||||
textbox1.setWhatsThis(transla.transe("U", "查看打包过程中命令返回内容"))
|
textbox1.setWhatsThis(transla.transe("U", "查看打包过程中命令返回内容"))
|
||||||
button5.setWhatsThis(transla.transe("U", "点击该按钮打包生成 deb"))
|
button5.setWhatsThis(transla.transe("U", "点击该按钮打包生成 deb"))
|
||||||
installDeb.setWhatsThis(transla.transe("U", "调用默认的 deb 安装工具安装生成的 deb"))
|
installDeb.setWhatsThis(transla.transe("U", "调用默认的 deb 安装工具安装生成的 deb"))
|
||||||
|
|
||||||
|
allInfoList = {
|
||||||
|
"Package": ["L", e1_text],
|
||||||
|
"Version": ["L", e2_text],
|
||||||
|
"Description": ["L", e3_text],
|
||||||
|
"Maintainer": ["L", e4_text],
|
||||||
|
"BottleName": ["L", e5_text],
|
||||||
|
"BottlePath": ["L", e6_text],
|
||||||
|
"WineVersion": ["Co", wineVersion],
|
||||||
|
"DebSavePath": ["L", e12_text],
|
||||||
|
"Desktop": ["List-Desktop", iconUiList],
|
||||||
|
"UseInstallWineArch": ["Co", useInstallWineArch],
|
||||||
|
"RemoveBash": ["Ch", rmBash],
|
||||||
|
"CleanBottleByUOS": ["Ch", cleanBottonByUOS],
|
||||||
|
"ChooseWineHelperValue": ["Ch", chooseWineHelperValue],
|
||||||
|
"DisabledMono": ["Ch", disabledMono],
|
||||||
|
"DebDepends": ["L", debDepends],
|
||||||
|
"DebRecommend": ["L", debRecommend],
|
||||||
|
"DebFirstArch": ["Co", debFirstArch],
|
||||||
|
"DebArch": ["Co", debArch],
|
||||||
|
"SparkHelperConfigPath": ["Str-SparkHelperConfigPath", helperConfigPath]
|
||||||
|
}
|
||||||
#window.setWindowFlag(QtGui.Qt)
|
#window.setWindowFlag(QtGui.Qt)
|
||||||
window.show()
|
window.show()
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
Loading…
Reference in New Issue
Block a user