找到 UI 文件的位置了:
我也看了下对应的 themeconfig.cpp,没有关于 layout 设置的东西。按照 UI 跟程序逻辑分离的原则,我感觉就是这个地方…
出问题可能也就是这个 commit:
找到 UI 文件的位置了:
我也看了下对应的 themeconfig.cpp,没有关于 layout 设置的东西。按照 UI 跟程序逻辑分离的原则,我感觉就是这个地方…
出问题可能也就是这个 commit:
正确的可以参考下 systemsettings5 里面的 emoticons 那里。
kcmshell5 emoticons
你看看 emoticons 的右边 column 搬到左边,然后那种行为是不是就是你要的?
大约是的。只是 emoticons 右边 column 的最小宽度不好说明, 因为 emoticons 很小。
严格来说行为上似乎没有什么差别。都是两列, 其中一列是固定宽度的,另一列的宽度随着整体宽度而变化。目前 kcm_sddm 的问题是左边那一栏的最小宽度设置得太大了。
我觉得你把问题描述的很好啊。
kcm_sddm 右边是可以定宽的(因为那个预览图是有固定大小的),整个 VerticalLayout 是有最小宽度的。我觉得左边 column 的宽度应该是 VerticalLayout 的最小宽度减去右边 column 的定宽,最好再大于一个左边内部的小图。另外整个 VerticalLayout 最好不要有横向滚动条。应该很好实现的。
你的 bugreport 地址在哪里?我去围观一下。
这个是报在 openSUSE 的
https://bugzilla.opensuse.org/show_bug.cgi?id=1146007
当时我还不清楚原因,所以是报给了 systemsettings5.
能不能帮忙定位下 kcm-sddm 出问题的版本?我按照你之前说的 systemsettings 版本查,5.12.4-5.12.8 之间,kcm-sddm 没有可能导致 UI 出问题的 commit(因为 UI 文件本身没变,都是支持 sddm conf.d 之类的)
另外我现在看明白了那个 UI 文件,左边的 themeListview 最小宽度是 175,程序和实际的不太一样。
https://build.opensuse.org/package/show/home:MargueriteSu:branches:KDE:Frameworks5/kcm_sddm
另外可以下载我改过的 kcm-sddm 试试,我给 root Widget 加了 minimumSize,width 正好等于那两个的最小值之和,感觉这样滚动条应该出不来了。
kcm_sddm 的版本应该是和整个 KDE 的版本号一致的。也是 5.12.4 到 5.12.8 之间。
我在我的 tumbleweed 上安装了修改的 kcm_sddm 但是显示还是一样的,好像没有生效。
我测试也确实没有生效。
emoticons 的 kcm 不能参考,它的界面是一个 QListWidget,kcm_sddm 的是个自己做的两个 Widget
那么原因可能在外部了。