在启动器上右键应用 → 卸载,弹出的确认对话框底部只能看到"确认""取消"按钮的上边缘,按钮文字被裁切消失。
在我的环境(Deepin 25 + dde-launchpad 2.0.37)上 100% 复现。查看上游源码,launcheritem.qml 中这段问题代码从 2.0.37 到当前最新 HEAD(2.0.40)没有变动,推测 2.0.38~2.0.40 同样存在此问题,但未实际测试。
launcheritem.qml
另外,这个问题是否触发取决于应用名长度——短名字不折行时按钮可能刚好完整显示,名字较长导致提示文字折行后才触发裁切。我测试时所有已安装应用均触发。
/usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml 第 312 行:
/usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml
minimumHeight: layout.implicitHeight + DStyle.Style.dialogWindow.titleBarHeight maximumHeight: minimumHeight // 问题在这里
implicitHeight 是 Qt 组件自己计算的"推荐高度",但提示文字("确定要卸载"XXX"吗?")折行后实际渲染高度会超出这个值。最大高度被锁死在最小高度,超出部分——底部按钮——被裁切。
implicitHeight
删除 maximumHeight: minimumHeight 一行。DialogWindow 内部已有 height: content.height 自适应内容高度,无需手动锁死。
maximumHeight: minimumHeight
height: content.height
# 1. 备份 sudo cp /usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml \ /usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml.bak # 2. 删除第 312 行 sudo sed -i '312d' /usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml # 3. 重启 dde-shell(桌面闪一下,不影响运行中的应用) systemctl --user restart dde-shell@DDE.service
sudo cp /usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml.bak \ /usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml systemctl --user restart dde-shell@DDE.service
dde-launchpad 包更新后 QML 可能被覆盖,需重新修复。已向上游提交 PR:
https://gitee.com/deepin-community/dde-launchpad/pulls/1
已知问题,后续版本会修复,感谢反馈
Featured Collection
Popular Ranking
Popular Events
Deepin 25 修复:启动器卸载确认对话框按钮显示不全
现象
在启动器上右键应用 → 卸载,弹出的确认对话框底部只能看到"确认""取消"按钮的上边缘,按钮文字被裁切消失。
实测环境
影响版本
在我的环境(Deepin 25 + dde-launchpad 2.0.37)上 100% 复现。查看上游源码,
launcheritem.qml中这段问题代码从 2.0.37 到当前最新 HEAD(2.0.40)没有变动,推测 2.0.38~2.0.40 同样存在此问题,但未实际测试。另外,这个问题是否触发取决于应用名长度——短名字不折行时按钮可能刚好完整显示,名字较长导致提示文字折行后才触发裁切。我测试时所有已安装应用均触发。
原因
/usr/share/dde-shell/org.deepin.ds.dock.launcherapplet/launcheritem.qml第 312 行:implicitHeight是 Qt 组件自己计算的"推荐高度",但提示文字("确定要卸载"XXX"吗?")折行后实际渲染高度会超出这个值。最大高度被锁死在最小高度,超出部分——底部按钮——被裁切。修复方法
删除
maximumHeight: minimumHeight一行。DialogWindow 内部已有height: content.height自适应内容高度,无需手动锁死。手动修复(三行命令)
恢复
注意
dde-launchpad 包更新后 QML 可能被覆盖,需重新修复。已向上游提交 PR:
https://gitee.com/deepin-community/dde-launchpad/pulls/1