打包器支持为不同的.desktop设置不同的MimeType

This commit is contained in:
gfdgd xi 2023-08-08 13:20:14 +08:00
parent fd36c84d74
commit 8bdb45a87f
2 changed files with 17 additions and 27 deletions

View File

@ -1519,7 +1519,7 @@ Icon={a[i]}
Exec="/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(iconUiList[i][0].text().replace(line, "/")))[0]}.sh" {command}
Name={iconUiList[i][3].text()}
Comment={e3_text.text()}
MimeType={e10_text.text()}
MimeType={iconUiList[i][5].text()}
GenericName={e1_text.text()}
Terminal=false
StartupNotify=false
@ -1985,6 +1985,7 @@ def AddTab():
e7_text = QtWidgets.QLineEdit()
e8_text = QtWidgets.QLineEdit()
e9_text = QtWidgets.QLineEdit()
e10_text = QtWidgets.QLineEdit()
e15_text = QtWidgets.QLineEdit()
iconTab1 = QtWidgets.QWidget()
option1_text = QtWidgets.QComboBox()
@ -2000,6 +2001,7 @@ def AddTab():
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "wine 容器里需要运行的可执行文件的参数:")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "要显示的 .desktop 文件的图标:")), 10, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", ".desktop 的 MimeType")), 11, 0, 1, 1)
iconTab1.setLayout(desktopIconTabLayout)
desktopIconTab.addTab(iconTab1, f"图标{desktopIconTab.count() + 1}")
desktopIconTabLayout.addWidget(e7_text, 6, 1, 1, 1)
@ -2008,6 +2010,7 @@ def AddTab():
desktopIconTabLayout.addWidget(e8_text, 9, 1, 1, 1)
desktopIconTabLayout.addWidget(e9_text, 10, 1, 1, 1)
desktopIconTabLayout.addWidget(button2, 10, 2, 1, 1)
desktopIconTabLayout.addWidget(e10_text, 11, 1, 1, 1)
e8_text.setWhatsThis(transla.transe("U", """填写该软件的中文或英文名称。"""))
e9_text.setWhatsThis(transla.transe("U", """图标只支持PNG格式和SVG格式其他格式无法显示。"""))
e15_text.setWhatsThis(transla.transe("U", "程序参数,如%u,一般不需要"))
@ -2026,7 +2029,8 @@ Utility=工具软件或其他应用。
e7_text.textChanged.connect(ChangeTapTitle)
e7_text.setPlaceholderText("例如 c:/Program Files/Tencent/QQ/Bin/QQ.exe")
e9_text.setPlaceholderText(transla.transe("U", "支持 png 和 svg 格式,不支持 ico 格式"))
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text])
e10_text.setWhatsThis(transla.transe("U", "快捷方式的 MimeType 项,一般为空即可"))
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text, e10_text])
print(iconUiList)
def DelTab():
@ -2221,6 +2225,7 @@ desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "要显示
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "wine 容器里需要运行的可执行文件的参数:")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "要显示的 .desktop 文件的图标:")), 10, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(transla.transe("U", ".desktop 的 MimeType")), 11, 0, 1, 1)
iconTab1.setLayout(desktopIconTabLayout)
#desktopIconTab.setTabPosition(QtWidgets.QTabWidget.East)
desktopIconTab.addTab(iconTab1, "默认图标")
@ -2241,7 +2246,8 @@ desktopIconTabLayout.addWidget(e15_text, 8, 1, 1, 1)
desktopIconTabLayout.addWidget(e8_text, 9, 1, 1, 1)
desktopIconTabLayout.addWidget(e9_text, 10, 1, 1, 1)
desktopIconTabLayout.addWidget(button2, 10, 2, 1, 1)
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text])
desktopIconTabLayout.addWidget(e10_text, 11, 1, 1, 1)
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text, e10_text])
print(iconUiList)
widgetLayout.addLayout(wineFrame, 6, 1, 1, 1)
widgetLayout.addWidget(e12_text, 7, 1, 1, 1)
@ -2277,8 +2283,6 @@ moreSettingLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "deb 的依赖(
moreSettingLayout.addWidget(debDepends)
moreSettingLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "deb 的推荐依赖(非强制,一般默认即可)")))
moreSettingLayout.addWidget(debRecommend)
moreSettingLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "要显示的 .desktop 文件的 MimeType")))
moreSettingLayout.addWidget(e10_text)
moreSettingLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "打包 deb 架构:")))
moreSettingLayout.addWidget(debFirstArch)
moreSettingLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "打包选项:")))
@ -2301,12 +2305,14 @@ e7_text.setPlaceholderText("例如 c:/Program Files/Tencent/QQ/Bin/QQ.exe")
e9_text.setPlaceholderText(transla.transe("U", "支持 png 和 svg 格式,不支持 ico 格式"))
# 菜单栏
menu = window.menuBar()
programmenu = menu.addMenu(transla.transe("U", "程序"))
programmenu = menu.addMenu(transla.transe("U", "程序&P"))
debMenu = menu.addMenu(transla.transe("U", "deb 包"))
uploadSparkStore = menu.addMenu(transla.transe("U", "投稿到星火应用商店"))
help = menu.addMenu(transla.transe("U", "帮助"))
setMiniFont = QtWidgets.QAction(transla.transe("U", "使用小字体"))
setDefaultFont = QtWidgets.QAction(transla.transe("U", "使用默认大小字体"))
hideShowText = QtWidgets.QAction(transla.transe("U", "隐藏输出框"))
hideShowText.setCheckable(True)
exit = QtWidgets.QAction(transla.transe("U", "退出程序"))
debE = QtWidgets.QAction(transla.transe("U", "只读取 Control 信息"))
debX = QtWidgets.QAction(transla.transe("U", "读取所有(需解包,时间较久)"))
@ -2320,10 +2326,12 @@ tip = QtWidgets.QAction(transla.transe("U", "小提示"))
getPdfHelp = QtWidgets.QAction(transla.transe("U", "Wine运行器和Wine打包器傻瓜式使用教程小白专用\nBy @雁舞白沙"))
setMiniFont.triggered.connect(lambda: SetFont(1.2))
setDefaultFont.triggered.connect(lambda: SetFont(1))
hideShowText.triggered.connect(lambda: textbox1.setHidden(hideShowText.isChecked()))
exit.triggered.connect(window.close)
tip.triggered.connect(helps)
programmenu.addAction(setMiniFont)
programmenu.addAction(setDefaultFont)
programmenu.addAction(hideShowText)
programmenu.addSeparator()
programmenu.addAction(exit)
debMenu.addAction(debE)

View File

@ -2546,29 +2546,11 @@ exe路径\' 参数 \'
<b>千万不要中断后不删除源的情况下 apt upgrade </b>中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine会自动执行恢复操作即可
以及此脚本安装的 Wine 无法保证 100% 能使用以及副作用是会提示
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构跳过配置文件 'main/binary-i386/Packages' 的获取</code>''')
updateThingsString = transla.transe("U", '''<b>3.3.0.1</b>
1修复运行器打开主界面不进行任何操作但 CPU 占用率过高的问题
2修复运行器运行器局部无法正常移除的问题
<b>3.0.0.0</b>
1简易打包器支持选择 Wine 版本以及修改打包生成的 deb 包的架构为 all
2修改容器自动配置脚本的 Gitlink 源为 Gitee
3在安装更多 Wine 处安装 Wine 后主窗口 Wine 版本下拉框自动更新
4设置打包器在 Ubuntu 依旧打包 xz 格式的 deb
5修复 Wine 简易打包器 control 文件 Installed-Size 格式不规范的问题
6更换 Box86 源并支持安装 Box64如果为 aarch64 架构
7新增 Wine 自建源支持 Debian10Deepin20
8修改 WineHQ 安装器使其支持选择国内清华大学镜像源或 WineHQ 官方源
9新增 Visual FoxPro 安装器
10新增安装局部运行库以解决部分低版本系统运行高版本 Wine 的问题且不与其他运行库和兼容层冲突
11支持调用原版的 Exagear 以及 Qemu Useri386x86_64 运行 Wine
12新增自动构建https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml只供尝鲜
13新增 Wine 日构建安装更多 Wine处可以获取目前有 i386amd64i386+amd64amd64+wow64 modeaarch64
14优化容器清理脚本
15修复部分组件没完全换源的问题部分组件支持自动换可用源''')
updateThingsString = transla.transe("U", '''※1、修复简易打包器无法打开的问题
2高级打包器支持多 .desktop 分别设置不同的 MimeType''')
for i in information["Thank"]:
thankText += f"{i}\n"
updateTime = "2023年07月25"
updateTime = "2023年08月08日"
aboutProgram = transla.transe("U", """<p>Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。</p>
<p>它同时还内置了基于VirtualBox制作的专供小白使用的Windows虚拟机安装工具可以做到只需下载系统镜像并点击安装即可无需考虑虚拟机的安装创建分区等操作</p>
<pre>