forked from openkylin/qt5-ukui-platformtheme
Compare commits
155 Commits
openkylin/
...
openkylin/
Author | SHA1 | Date |
---|---|---|
tanjing | 90d2859fa2 | |
xibowen | 70ccd2fd03 | |
openkylin2 | 498a075e34 | |
xibowen | c3a130b6bd | |
xibowen | 1ae115a7ef | |
KevinDuan | 026f934cd2 | |
KevinDuan | b4ecc59748 | |
KevinDuan | 14becf4e45 | |
tanjing | fbb4a8c3ef | |
tanjing | 853dd45e9e | |
tanjing | 3d541d67bc | |
tanjing | 5bde0955c3 | |
tanjing | c93b66b061 | |
tanjing | b370c10b36 | |
xibowen | 689ce75bd4 | |
xibowen | faba92327c | |
xibowen | 6acc6d5deb | |
tanjing | 305b89a5b5 | |
xibowen | 7c45ead78b | |
tanjing | dc41022e04 | |
tanjing | d929708d74 | |
tanjing | 66d31a879d | |
tanjing | 8090c04f85 | |
tanjing | 37e866f12f | |
tanjing | 9eb0d043bd | |
tanjing | c61ccd054b | |
tanjing | 2d013f7495 | |
tanjing | c4f525496f | |
tanjing | 09e86432f1 | |
tanjing | 15cfe366fe | |
tanjing | eca73264f6 | |
tanjing | 306ac8e2ae | |
tanjing | 20755b995f | |
tanjing | 5cbd96d9be | |
tanjing | 365a930adf | |
tanjing | 685ab2a038 | |
tanjing | 740976ae2f | |
tanjing | aff805d377 | |
tanjing | ea60b48fae | |
tanjing | b5f588c81c | |
tanjing | 97707e0029 | |
tanjing | aaa8730adc | |
tanjing | 0783243bee | |
tanjing | c999303b11 | |
tanjing | 606e0e5919 | |
tanjing | f3741d9638 | |
tanjing | c19bd0a2dc | |
tanjing | 85616aa633 | |
tanjing | d6b765e21c | |
guorongfei | fb43970942 | |
tanjing | 6c1baa39e7 | |
tanjing | 82e0831f58 | |
tanjing | c6e8fc40eb | |
tanjing | e59dbf83ac | |
likehomedream | 034adc52f0 | |
tanjing | 3d1a3f4256 | |
tanjing | 0e458afded | |
tanjing | 1e498aa641 | |
tanjing | 8ec7794b9f | |
tanjing | 4d617a00d8 | |
tanjing | 0bd70c7a4b | |
tanjing | c76567fe97 | |
tanjing | 00d084d0ef | |
tanjing | 1359f65f78 | |
tanjing | 965b80406c | |
tanjing | 9e99dec4b1 | |
tanjing | 6f56cc88fb | |
tanjing | bfc20e34e1 | |
tanjing | 9e475d8602 | |
tanjing | 46e2f9edff | |
tanjing | 5d93d90744 | |
tanjing | 003ed975ba | |
tanjing | a85fbe8f34 | |
tanjing | 80982a65b4 | |
tanjing | 0d63f0e4c0 | |
tanjing | fc3e4dcbf7 | |
xibowen | d1a91aeff1 | |
xibowen | ddf1d6763c | |
tanjing | ffa19ec267 | |
tanjing | 9fbcf7bcea | |
Wei Wei | a0ae0c5a88 | |
tanjing | e9a60ff8ab | |
tanjing | a51f6225f9 | |
handsome-feng | 4c4719f634 | |
tanjing | 96d4a283fb | |
tanjing | f3292cf201 | |
tanjing | db73f508e9 | |
iaom | ec7ccdd906 | |
tanjing | fc69959d4a | |
xibowen | 8ec4a616dd | |
xibowen | c736c99277 | |
xibowen | be6b280e45 | |
tanjing | a8a36d4d91 | |
tanjing | 408ade7a5c | |
tanjing | 93dd094cbc | |
tanjing | dfd7a0863f | |
tanjing | 3c843adefb | |
xibowen | 7944e13381 | |
xibowen | 958e295f69 | |
xibowen | 473946d36c | |
xibowen | c5c909ae46 | |
tanjing | fc1a2b2305 | |
tanjing | c88380eb16 | |
tanjing | 8d4c5947f6 | |
tanjing | fa93d65c64 | |
tanjing | 445d23ea88 | |
tanjing | 2e672ea3cd | |
tanjing | 3777b9f9d4 | |
tanjing | 6238a48547 | |
tanjing | 810b1e4615 | |
tanjing | 6843aba392 | |
tanjing | 5ecc0d558a | |
tanjing | c9f1a5f421 | |
tanjing | f95e11fa3b | |
xibowen | 4ce8839047 | |
tanjing | a87d8c5a1c | |
tanjing | 3937492844 | |
tanjing | e500296d2d | |
tanjing | 49ec6447fc | |
tanjing | 55975ef73f | |
tanjing | 9346a089f0 | |
tanjing | ad09c5e654 | |
xibowen | 2213ce7189 | |
xibowen | 37303fd3f8 | |
tanjing | 650a924b9d | |
tanjing | 9bcc3f4bb3 | |
tanjing | d07cf438ec | |
tanjing | 87c10a0e78 | |
tanjing | f77d6bbc77 | |
tanjing | b6b68dafd9 | |
tanjing | 7ce82c4605 | |
tanjing | 7d847cccb7 | |
tanjing | 71d96f9b20 | |
tanjing | eee0ce0201 | |
tanjing | 95563ea198 | |
tanjing | 92128fc363 | |
tanjing | 6de27d4ea8 | |
tanjing | c868174a61 | |
xibowen | 4c581bf8dd | |
tanjing | 7efab6e2b7 | |
tanjing | 32e560bca8 | |
Yue-Lan | a7ee8af8e9 | |
Yue-Lan | 07b97b87f4 | |
tanjing | 78b91429d9 | |
tanjing | 7c846f6822 | |
xibowen | d7eda5ad93 | |
tanjing | 9f4c98ee91 | |
tanjing | ba95d026de | |
tanjing | 336414ff80 | |
xibowen | f9bfc7b891 | |
xibowen | ca8cd9f37f | |
xibowen | 48f635f205 | |
zhaikangning | 0ccca7aa82 | |
tanjing | 05c0de041d | |
tanjing | 46ddc4f2bf |
|
@ -0,0 +1,8 @@
|
|||
project(qt5-ukui)
|
||||
add_subdirectory(ukui-styles)
|
||||
add_subdirectory(libqt5-ukui-style)
|
||||
add_subdirectory(qt5-ukui-filedialog)
|
||||
add_subdirectory(qt5-ukui-platformtheme)
|
||||
add_subdirectory(ukui-qqc2-style)
|
||||
add_subdirectory(ukui-qml-style-helper)
|
||||
add_subdirectory(test)
|
|
@ -1,3 +1,570 @@
|
|||
qt5-ukui-platformtheme (4.1.0.0-ok36) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:维哈柯多语言从右往左支持
|
||||
影响域:维哈柯语言下控件布局
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Wed, 24 Apr 2024 10:03:28 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok35) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:BUGI8ZZBH,修复checkbox动效使用动画运动曲线不正确的问题
|
||||
其他改动:调整翻译文件模板,触发翻译平台自动翻译同步功能
|
||||
影响域:无
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Fri, 19 Apr 2024 15:09:28 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok34) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:qwidget添加判空处理
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Tue, 16 Apr 2024 16:50:35 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok33) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:BUGI8X8QY,修复qslider无焦点时会响应鼠标滚轮事件
|
||||
需求号:无
|
||||
其他改动:给app新增控件默认颜色的接口
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 10 Apr 2024 10:39:04 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok32) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:BUGI96VDL,修复ApplicationStyleSettings占用inotify的问题
|
||||
需求号:无
|
||||
其他改动:移除qt5-gesture-extensions依赖
|
||||
修复progressbar 外部属性设置没有响应的问题
|
||||
影响域:无
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Mon, 11 Mar 2024 20:07:32 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok31) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:issues#I8XGK6 将软件商店移出黑名单, 按钮焦点改为tab键响应,iconmode下圆角有问题修改
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Thu, 22 Feb 2024 17:07:32 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok30) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:qtreeview高缩放比下有间隙问题处理
|
||||
qtooltip不显示毛玻璃的问题处理
|
||||
qtreeview图标反白问题修复
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 02 Feb 2024 11:20:17 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok29) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:issues#I8XJAQ menu圆角响应窗口圆角
|
||||
issues#I8XUSP qtreeview焦点样式绘制
|
||||
QFileDialog侧边栏设置最小宽度
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 31 Jan 2024 11:28:01 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok28) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:issues#I8XJF0 #I8XJ84 tooltip menu圆角响应窗口圆角
|
||||
qtoolbutton文字颜色修正
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 26 Jan 2024 16:04:23 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok27) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:issue#I8WW8M 修复同时设置chekable和灰色按钮样式问题;
|
||||
处理多个scrollbar/sliderbar下,重获焦点后handle移动不对的问题;
|
||||
屏蔽cura;
|
||||
修改debug输出接口
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Thu, 25 Jan 2024 11:36:19 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok26) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:Bug#209942 工具箱从毛玻璃黑名单中移除
|
||||
需求号:无
|
||||
其他改动:无
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 17 Jan 2024 09:36:27 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok25) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:
|
||||
需求号:无
|
||||
其他改动:将click、hover等计算获得的颜色提取到配置文件中
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Mon, 15 Jan 2024 18:10:55 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok24) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:Bug#203902 文件对话框侧边栏高亮模式
|
||||
Bug#203853 tabbar里close按钮颜色调整
|
||||
需求号:无
|
||||
其他改动:task#141714 tabbar样式调整
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Mon, 08 Jan 2024 17:45:45 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok23) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:task#184240 list tabbar combobox table等控件添加焦点,treeview、qmenu部分图标没反白处理
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 03 Jan 2024 17:02:12 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok22) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:特殊三联按钮添加便签应用
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 13 Dec 2023 16:38:19 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok21) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:control添加cmake依赖
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Tue, 12 Dec 2023 09:57:12 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok20) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:#187224 特殊三联按钮
|
||||
其他改动:工程转为cmake
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Mon, 11 Dec 2023 15:26:36 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok19) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:释放读取文件的内存
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Tue, 05 Dec 2023 18:14:43 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok18) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:修改filedialogplugin.json的内容
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 01 Dec 2023 17:51:55 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok17) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:修改编译不过问题
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 01 Dec 2023 17:34:10 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok16) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:修改编译不过问题
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 01 Dec 2023 14:15:56 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok15) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:#I8JS6X部分菜单不跟随主题
|
||||
需求号:无
|
||||
其他改动:无
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 29 Nov 2023 14:27:31 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok14) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:filedialog作为动态库加载,修改libqt5-gesture-extensions的名字等
|
||||
影响域:filedialog的加载方式
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Tue, 28 Nov 2023 17:49:56 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-ok13) nile; urgency=medium
|
||||
|
||||
* Rebuild for qt 5.15.10.
|
||||
|
||||
-- handsome_feng <jianfengli@ubuntukylin.com> Thu, 23 Nov 2023 19:18:05 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k12) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:QMenu启典主题添加图标反白机制
|
||||
修改窗管最小圆角值为0
|
||||
调整控件圆角大小
|
||||
task184178,调整spinbox的disable状态边框
|
||||
task184240,slider添加焦点样式
|
||||
开放焦点样式
|
||||
影响域:焦点样式,QMenu图标,控件圆角,spinbox启典主题边框
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Tue, 21 Nov 2023 15:05:44 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k11) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:同步主线优化窗口移动与毛玻璃代码
|
||||
主题对外接口移除ukui参数
|
||||
ukui-greeter-dialog加入使用焦点列表
|
||||
设置theme-color默认值为#3790FA
|
||||
影响域:主题强调色,锁屏,主题对外接口
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Thu, 16 Nov 2023 16:12:44 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k10) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:task#180726 新增多语言支持:维、哈、柯、蒙、藏、繁体 / qt5-ukui-platformtheme openkylin2.0 多语言翻译支持
|
||||
其他改动:对话框显示模式修改
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 01 Nov 2023 16:12:44 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k9) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:补充对外获取主题控件默认颜色相关的接口
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Thu, 26 Oct 2023 09:47:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k8) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:gsettings添加圆角,响应gsettings设置任意色为高亮色
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Mon, 23 Oct 2023 17:08:58 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k7) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:spinbox背景色修改,checkbox渐变等,调整json名字等
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Mon, 16 Oct 2023 10:38:03 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k6) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改动:combobox下拉框不需要透明度,radiobutton在disable下的颜色修改等
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 13 Oct 2023 10:20:34 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k5) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:#176586优化sliderbar scrollbar动效
|
||||
其他改:无
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 11 Oct 2023 13:36:13 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k4) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:同步copyright和Debian的修改
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Sun, 08 Oct 2023 18:05:39 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k3) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:去掉proxystyle多余的文件
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Sun, 08 Oct 2023 10:20:08 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k2) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:修复windowmanager类在wayland下设置drag状态错误导致的窗口拖拽异常问题
|
||||
影响域:wayland下窗口空白区域拖拽
|
||||
|
||||
-- Yue Lan <lanyue@kylinos.cn> Tue, 05 Sep 2023 10:58:04 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k1) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:暂时屏蔽调用文管搜索部分的新接口
|
||||
影响域:文件对话框搜索
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 01 Sep 2023 11:28:53 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.1.0.0-0k0) nile; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:新增经典主题、控件动效、配置化主题、控件对外接口等
|
||||
影响域:主题框架
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 25 Aug 2023 15:29:30 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.0.0.0-0k4) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:Bug172547、171533,影音、音乐打开文件夹闪退
|
||||
需求号:无
|
||||
其他改:无
|
||||
影响域:QFileDialog打开文件夹
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Thu, 18 May 2023 16:30:03 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.0.0.0-0k3) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:PC模式下,将桌面的文件删除后 桌面会随即刷新一次
|
||||
用shift+delete删除文件,再按下enter未删除文件
|
||||
优化Tooltips描边显示效果
|
||||
修改和印主题下tabbar的鼠标悬停样式
|
||||
文件对话框添加翻译文件
|
||||
修复文件对话框的文件格式下拉框过长问题,添加后缀省略
|
||||
优化主题切换时主题框架内存释放相关问题
|
||||
调整QMessagebox按钮布局方式为mac模式,确认键在右边
|
||||
鼠标悬浮在被禁用的tree控件上仍然有选中框
|
||||
slider-禁用状态下横型/树型滑动条球球显示与设计不一致
|
||||
调整QMessagebox上边距宽度
|
||||
修复QMessagebox设置setwindowTitle不生效的问题
|
||||
QMessagebox关闭按钮添加tooltip显示
|
||||
需求号:无
|
||||
其他改:处理主题框架内save和restore不匹配的问题
|
||||
正确释放new的内存
|
||||
影响域:QListview,QMessagebox,文件对话框
|
||||
slider在disable下handle的颜色
|
||||
(tablet5~tablet7)
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Wed, 12 Apr 2023 18:30:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.0.0.0-0k2) yangtze; urgency=medium
|
||||
|
||||
* No change rebuild for openkylin.
|
||||
|
||||
-- Luoyaoming <luoyaoming@kylinos.cn> Thu, 11 May 2023 15:16:20 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.0.0.0-0k1) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:添加同步4.0.0.0上游后openkylin上遗留的改动
|
||||
影响域:主题框架
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Wed, 12 Apr 2023 18:30:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (4.0.0.0-0k0) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:同步新上游4.0.0.0
|
||||
影响域:主题框架
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Wed, 12 Apr 2023 17:30:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k11) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:BUGI643S1,修复文件对话框单击使得viewitem变为active状态
|
||||
需求号:无
|
||||
其他改:修复右键菜单没有毛玻璃效果的问题
|
||||
影响域:QMenu与QTooltip,文件对话框
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Tue, 11 Apr 2023 09:30:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k10) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:BUG137528,修复窗管未开启混成时候的QMenu与QTooltip的显示问题
|
||||
需求号:无
|
||||
其他改:无
|
||||
影响域:QMenu与QTooltip
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Fri, 17 Mar 2023 11:20:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k9) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:无
|
||||
影响域:同步平板(3.20.1.1-1k13.1tablet2)的修改
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Fri, 10 Feb 2023 17:56:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k8) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:BUGI686XN,修复侧边栏加载图标错误问题
|
||||
需求号:无
|
||||
其他改:无
|
||||
影响域:图标加载
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Fri, 06 Jan 2023 21:26:50 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k7) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:https://gitee.com/openkylin/peony/issues/I678W5 treeview item高度过窄
|
||||
需求号:无
|
||||
其他改:无
|
||||
影响域:viewitem的高度
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 04 Jan 2023 09:26:50 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k6) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:平台修改,升级版本号重新提交
|
||||
影响域:无
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Thu, 03 Nov 2022 18:37:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k5) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:重新提高版本提交代码,使得仓库重新编译
|
||||
影响域:无
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Thu, 03 Nov 2022 15:37:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k4) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:所有按钮添加支持半透明属性
|
||||
调整spinbox按钮样式
|
||||
按钮协议属性使用取消pushbutton与toolbutton类型判断
|
||||
影响域:spinbox,半透明按钮
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Tue, 01 Nov 2022 17:31:22 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k3) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:无(同步upstream分支更新、打tag)
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Thu, 20 Oct 2022 16:07:38 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k2) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:无(平台缺库,没有编译过,需要改changelog再提pr编包)
|
||||
影响域:无
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Thu, 20 Oct 2022 11:01:53 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k1) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:同步xc代码(修改spinbox样式和tooltip高度)
|
||||
影响域:spinbox样式和tooltip高度
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Mon, 17 Oct 2022 16:34:39 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.20.1.1-0k0) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
BUG号:无
|
||||
需求号:无
|
||||
其他改:无
|
||||
影响域:代码同步,适配xc模式
|
||||
|
||||
-- tanjing <tanjing@kylinos.cn> Wed, 12 Oct 2022 17:27:50 +0800
|
||||
|
||||
qt5-ukui-platformtheme (3.1.4.1~0509-ok10) yangtze; urgency=medium
|
||||
|
||||
* 改动:
|
||||
|
@ -104,3 +671,4 @@ qt5-ukui-platformtheme (3.1.4.1~0509-ok1) yangtze; urgency=medium
|
|||
* Initial for openkylin.
|
||||
|
||||
-- xibowen <xibowen@kylinos.cn> Mon, 13 Jun 2022 16:22:00 +0800
|
||||
|
||||
|
|
|
@ -1,42 +1,51 @@
|
|||
Source: qt5-ukui-platformtheme
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Maintainer: UKUI SIG <ukui@lists.openkylin.top>
|
||||
Uploaders: handsome_feng <jianfengli@ubuntukylin.com>
|
||||
Build-Depends: debhelper-compat (=12),
|
||||
pkg-kde-tools,
|
||||
Maintainer: Kylin Team <team+kylin@tracker.debian.org>
|
||||
Uploaders: handsome_feng <jianfengli@ubuntukylin.com>,
|
||||
xibowen <xibowen@kylinos.cn>
|
||||
Build-Depends: dbus-x11,
|
||||
debhelper-compat (=12),
|
||||
kirigami2-dev,
|
||||
libfontconfig-dev,
|
||||
libfreetype-dev,
|
||||
libglib2.0-dev,
|
||||
libqt5x11extras5-dev,
|
||||
libkf5windowsystem-dev,
|
||||
libkf5wayland-dev,
|
||||
libgsettings-qt-dev,
|
||||
libkf5iconthemes-dev,
|
||||
libkf5wayland-dev,
|
||||
libkf5windowsystem-dev,
|
||||
libkysdk-conf2-dev,
|
||||
libkysdk-waylandhelper-dev,
|
||||
libpeony-dev,
|
||||
libqt5svg5-dev,
|
||||
libqt5x11extras5-dev,
|
||||
libqt5xdgiconloader-dev,
|
||||
peony,
|
||||
pkg-config,
|
||||
pkg-kde-tools,
|
||||
cmake,
|
||||
qt5-qmake,
|
||||
qtbase5-dev,
|
||||
qtbase5-dev-tools,
|
||||
qtbase5-private-dev,
|
||||
qtchooser,
|
||||
qttools5-dev-tools,
|
||||
libqt5xdgiconloader-dev,
|
||||
qtquickcontrols2-5-dev,
|
||||
qtdeclarative5-dev,
|
||||
dbus-x11,
|
||||
kirigami2-dev,
|
||||
libkf5iconthemes-dev,
|
||||
libqt5svg5-dev,
|
||||
libkysdk-waylandhelper-dev
|
||||
Standards-Version: 4.5.1
|
||||
qtquickcontrols2-5-dev,
|
||||
qttools5-dev,
|
||||
qttools5-dev-tools
|
||||
Standards-Version: 4.6.1.0
|
||||
Rules-Requires-Root: no
|
||||
Homepage: https://www.ukui.org
|
||||
Homepage: https://gitee.com/openkylin/qt5-ukui-platformtheme
|
||||
Vcs-Git: https://gitee.com/openkylin/qt5-ukui-platformtheme.git
|
||||
Vcs-Browser: https://gitee.com/openkylin/qt5-ukui-platformtheme
|
||||
|
||||
Package: qt5-ukui-platformtheme
|
||||
Architecture: any
|
||||
Depends: libqt5-ukui-style1,
|
||||
qt5-styles-ukui,
|
||||
qt5-gesture-extensions,
|
||||
Depends: libqt5-ukui-style1 (= ${binary:Version}),
|
||||
libqt5xdgiconloader3,
|
||||
qml-module-org-ukui-qqc2desktopstyle (= ${binary:Version}),
|
||||
qml-module-org-ukui-stylehelper (= ${binary:Version}),
|
||||
qt5-styles-ukui (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: Qt5 QPA platform theme of UKUI
|
||||
|
@ -50,7 +59,7 @@ Description: Qt5 QPA platform theme of UKUI
|
|||
|
||||
Package: qt5-styles-ukui
|
||||
Architecture: any
|
||||
Depends: libqt5-ukui-style1,
|
||||
Depends: libqt5-ukui-style1 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: QStyle plugins provided by ukui
|
||||
|
@ -66,8 +75,8 @@ Description: QStyle plugins provided by ukui
|
|||
Package: libqt5-ukui-style1
|
||||
Architecture: any
|
||||
Depends: libglib2.0-0,
|
||||
libqt5widgets5,
|
||||
libgsettings-qt1,
|
||||
libqt5widgets5,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Provides: libqt5-ukui-style
|
||||
|
@ -98,19 +107,20 @@ Description: Development files of libqt5-ukui-style1
|
|||
|
||||
Package: qml-module-org-ukui-qqc2desktopstyle
|
||||
Architecture: any
|
||||
Depends: qml-module-qtgraphicaleffects,
|
||||
Depends: qml-module-org-ukui-stylehelper,
|
||||
qml-module-qtgraphicaleffects,
|
||||
qml-module-qtqml-models2,
|
||||
qml-module-qtquick-controls2,
|
||||
qml-module-qtquick-layouts,
|
||||
qml-module-qtquick-templates2,
|
||||
qml-module-qtquick-window2,
|
||||
qml-module-qtquick2,
|
||||
qml-module-org-ukui-stylehelper,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: Qt Quick Controls 2: Kylin Style
|
||||
Small style written in QML for QtQuickControls2 intended to be used
|
||||
by default in QQC2-based apps when used in the Kylin tablet desktop
|
||||
Small style written in QML for QtQuickControls2 intended
|
||||
to be used by default in QQC2-based apps when used in the
|
||||
Kylin tablet desktop.
|
||||
|
||||
Package: qml-module-org-ukui-stylehelper
|
||||
Architecture: any
|
||||
|
@ -122,6 +132,10 @@ Depends: qml-module-qtgraphicaleffects,
|
|||
qml-module-qtquick-window2,
|
||||
qml-module-qtquick2,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: qml stylehelper
|
||||
The external dependency Lib of qml theme framework
|
||||
Ukui qml platformtheme library.It provide an UI style with
|
||||
ukui for qml applications.Include theme color, widget, font,
|
||||
icon.
|
||||
.
|
||||
The external dependency Lib of qml theme framework.
|
||||
|
|
|
@ -1,81 +1,45 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: qt5-ukui-platformtheme
|
||||
Source: <https://github.com/ukui/qt5-ukui-platformtheme>
|
||||
Upstream-Contact: xibowen <xibowen@kylinos.cn>
|
||||
Source: <https://gitee.com/openkylin/qt5-ukui-platformtheme>
|
||||
|
||||
Files: *
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: LGPL-3.0+
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: GPL-3.0+
|
||||
|
||||
Files: libqt5-ukui-style/*
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: LGPL-3.0+
|
||||
|
||||
Files: qt5-ukui-platformtheme/*
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: LGPL-3.0+
|
||||
|
||||
Files: qt5-ukui-platformtheme/ukui.json
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: LGPL-3.0+
|
||||
Copyright: 2023, KylinSoft Co., Ltd.
|
||||
License: LGPL-3+
|
||||
|
||||
Files: qt5-ukui-platformtheme/widget/*
|
||||
Copyright: 2020, KylinSoft Co., Ltd.
|
||||
License: GPL-3.0+
|
||||
Copyright: 2023, KylinSoft Co., Ltd.
|
||||
License: GPL-3+
|
||||
|
||||
Files: test/*
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: GPL-3.0+
|
||||
Copyright: 2023, KylinSoft Co., Ltd.
|
||||
License: GPL-3+
|
||||
|
||||
Files: test/messagebox/*
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: GPL-3.0+
|
||||
Files: ukui-styles/qt5-style-ukui/breezeboxshadowrenderer.cpp
|
||||
ukui-styles/qt5-style-ukui/breezeboxshadowrenderer.h
|
||||
Copyright: 2018, Vlad Zagorodniy <vlad.zahorodnii@kde.org>
|
||||
License: GPL-2+
|
||||
|
||||
Files: ukui-styles/*
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: LGPL-3.0+
|
||||
|
||||
Files: ukui-styles/proxy-style/ukui-style.json
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: LGPL-3.0+
|
||||
|
||||
Files: ukui-styles/qt5-style-ukui/qt5-style-ukui.json
|
||||
Copyright: 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
License: LGPL-3.0+
|
||||
|
||||
License: GPL-3.0+
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
License: GPL-2+
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General Public License
|
||||
Version 3 can be found in `/usr/share/common-licenses/GPL-3'.
|
||||
the Free Software Foundation; version 2 dated June, 1991, or (at
|
||||
your option) any later version.
|
||||
On Debian systems, the complete text of version 2 of the GNU General
|
||||
Public License can be found in '/usr/share/common-licenses/GPL-2'.
|
||||
|
||||
License: LGPL-3.0+
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 3 of the License, or (at your option) any later version.
|
||||
.
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU Lesser General Public License
|
||||
Version 3 can be found in `/usr/share/common-licenses/LGPL-3'.
|
||||
License: GPL-3+
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 3 dated June, 2007, or (at
|
||||
your option) any later version.
|
||||
On Debian systems, the complete text of version 3 of the GNU General
|
||||
Public License can be found in '/usr/share/common-licenses/GPL-3'.
|
||||
|
||||
License: LGPL-3+
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as published by the
|
||||
Free Software Foundation; version 3 of the License, or (at
|
||||
your option) any later version.
|
||||
On Debian systems, the complete text of version 3 of the GNU Lesser
|
||||
General Public License can be found in '/usr/share/common-licenses/LGPL-3'.
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
libqt5-ukui-style/*.h usr/include/qt5-ukui
|
||||
libqt5-ukui-style/*/*.h usr/include/qt5-ukui
|
||||
libqt5-ukui-style/*/*/*.h usr/include/qt5-ukui
|
||||
usr/lib/*/pkgconfig/*.pc
|
||||
usr/lib/*/*.so
|
||||
usr/lib/*/pkgconfig/*.pc
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
etc/kylin-config/basic/org.ukui.style.yaml
|
||||
usr/lib/*/*.so.*
|
||||
usr/share/glib-2.0/schemas/org.ukui.style.gschema.xml
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
usr/lib/*/qt5/plugins/styles/*.so
|
||||
/usr/share/qt5-ukui-platformtheme/themeconfig/*
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
usr/share/qt5-ukui-platformtheme/*.qm
|
||||
usr/lib/*/qt5/plugins/platformthemes/*.so
|
||||
|
|
|
@ -5,3 +5,6 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
|||
%:
|
||||
dh $@ --with pkgkde_symbolshelper
|
||||
|
||||
override_dh_auto_configure:
|
||||
echo `pkg-config --cflags peony`
|
||||
dh_auto_configure
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
version=4
|
||||
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/qt5-ukui-platformtheme-$1\.tar\.gz/ \
|
||||
https://github.com/ukui/qt5-ukui-platformtheme/releases .*/v?(\d\S+)\.tar\.gz
|
||||
https://gitee.com/openkylin/qt5-ukui-platformtheme/releases/ .*/qt5-ukui-platformtheme-(\d\S+)\.tar\.gz
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(qt5-ukui-style)
|
||||
|
||||
# 设置共享库的版本号
|
||||
set(QT5_UKUI-STYLE_VERSION_MAJOR 1)
|
||||
set(QT5_UKUI-STYLE_VERSION_MINOR 0)
|
||||
set(QT5_UKUI-STYLE_VERSION_PATCH 0)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(QT_MIN_VERSION "5.12.0")
|
||||
set(KF5_MIN_VERSION "5.66.0")
|
||||
|
||||
find_package(Qt5Concurrent)
|
||||
set(LIB_PATH ${imported_location})
|
||||
get_filename_component(PARENT_PATH "${LIB_PATH}" PATH)
|
||||
message("libqt5-ukui-style PARENT_PATH: ${PARENT_PATH}")
|
||||
|
||||
find_package(Qt5Widgets)
|
||||
|
||||
include_directories(${Qt5Widgets_PRIVATE_INCLUDE_DIRS})
|
||||
include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS})
|
||||
|
||||
#find_package(Qt5QtThemeSupport REQUIRED)
|
||||
|
||||
find_package(KF5WindowSystem ${KF5_MIN_VERSION} CONFIG REQUIRED COMPONENTS)
|
||||
find_package(KF5Wayland CONFIG REQUIRED COMPONENTS)
|
||||
|
||||
find_package(X11)
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(GLIB2 REQUIRED glib-2.0 gio-2.0 )
|
||||
pkg_check_modules(Qsettings REQUIRED gsettings-qt)
|
||||
pkg_check_modules(KYSDKCONF2 REQUIRED kysdk-conf2)
|
||||
|
||||
include_directories(${Qsettings_INCLUDE_DIRS})
|
||||
include_directories(${GLIB2_INCLUDE_DIRS})
|
||||
if (KYSDKCONF2_FOUND)
|
||||
include_directories(${KYSDKCONF2_INCLUDE_DIRS})
|
||||
link_directories(${KYSDKCONF2_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE Header "*.h" "*.hpp")
|
||||
file(GLOB_RECURSE Sources "*.cpp" "*.c" "*.ui")
|
||||
file(GLOB_RECURSE XML "org.ukui.style.gschema.xml")
|
||||
|
||||
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${Header} ${Sources} ${XML})
|
||||
|
||||
add_library(qt5-ukui-style SHARED ${Sources} ${Header} ${XML})
|
||||
|
||||
# 设置共享库的命名规则
|
||||
set_target_properties(qt5-ukui-style PROPERTIES
|
||||
OUTPUT_NAME "qt5-ukui-style"
|
||||
VERSION ${QT5_UKUI-STYLE_VERSION_MAJOR}.${QT5_UKUI-STYLE_VERSION_MINOR}.${QT5_UKUI-STYLE_VERSION_PATCH}
|
||||
SOVERSION ${QT5_UKUI-STYLE_VERSION_MAJOR}
|
||||
)
|
||||
|
||||
target_link_libraries(qt5-ukui-style PRIVATE
|
||||
Qt5::Widgets
|
||||
Qt5::Concurrent
|
||||
gsettings-qt
|
||||
gio-2.0
|
||||
${KYSDKCONF2_LIBRARIES}
|
||||
)
|
||||
|
||||
|
||||
add_definitions(-DLIBQT5UKUISTYLE_LIBRARY)
|
||||
add_definitions(-DQT_DEPRECATED_WARNINGS)
|
||||
add_definitions(-DQT_MESSAGELOGCONTEXT)
|
||||
|
||||
|
||||
if(UNIX)
|
||||
set(TARGET_PATH ${PARENT_PATH})
|
||||
MESSAGE("libqt5-ukui-style TARGET_PATH: ${TARGET_PATH}")
|
||||
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${TARGET_PATH})
|
||||
|
||||
set(GSCHEMA_PATH "/usr/share/glib-2.0/schemas")
|
||||
set(GSCHEMA_FILE "${CMAKE_CURRENT_SOURCE_DIR}/settings/org.ukui.style.gschema.xml")
|
||||
install(FILES ${GSCHEMA_FILE} DESTINATION ${GSCHEMA_PATH})
|
||||
|
||||
set(KCONF2_PATH "/etc/kylin-config/basic/")
|
||||
set(KCONF2_FILE "${CMAKE_CURRENT_SOURCE_DIR}/settings/org.ukui.style.yaml")
|
||||
install(FILES ${KCONF2_FILE} DESTINATION ${KCONF2_PATH})
|
||||
|
||||
set(PKGCONFIG_PATH "${PARENT_PATH}/pkgconfig")
|
||||
set(PKGCONFIG_FILE "${CMAKE_CURRENT_SOURCE_DIR}/development-files/qt5-ukui.pc")
|
||||
install(FILES ${PKGCONFIG_FILE} DESTINATION ${PKGCONFIG_PATH})
|
||||
|
||||
install(FILES ${Header} DESTINATION "libqt5-ukui-style/")
|
||||
|
||||
endif()
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -32,8 +32,14 @@ AnimationHelper::AnimationHelper(QObject *parent) : QObject(parent)
|
|||
|
||||
AnimationHelper::~AnimationHelper()
|
||||
{
|
||||
// for (auto animator : *m_animators) {
|
||||
// delete animator;
|
||||
// }
|
||||
for(auto item = m_animators->begin(); item != m_animators->end(); item++){
|
||||
if(item.value()){
|
||||
delete item.value();
|
||||
item.value() = nullptr;
|
||||
}
|
||||
}
|
||||
if(m_animators){
|
||||
delete m_animators;
|
||||
m_animators = nullptr;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
INCLUDEPATH += $$PWD
|
||||
INCLUDEPATH += $$PWD/..
|
||||
|
||||
include(tabwidget/tabwidget.pri)
|
||||
include(scrollbar/scrollbar.pri)
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/animator-plugin-iface.h \
|
||||
$$PWD/animator-iface.h \
|
||||
$$PWD/animation-helper.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/animation-helper.cpp
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -40,6 +40,8 @@ public:
|
|||
virtual QVariant value(const QString &property) {return QVariant();}
|
||||
virtual bool setAnimatorStartValue(const QString &property, const QVariant &value) {return false;}
|
||||
virtual bool setAnimatorEndValue(const QString &property, const QVariant &value) {return false;}
|
||||
virtual QVariant animatorStartValue(const QString &property) {return QVariant();}
|
||||
virtual QVariant animatorEndValue(const QString &property) {return QVariant();}
|
||||
virtual bool setAnimatorDuration(const QString &property, int duration) {return false;}
|
||||
|
||||
virtual void setAnimatorDirectionForward(const QString &property = nullptr, bool forward = true) {}
|
||||
|
@ -49,6 +51,10 @@ public:
|
|||
virtual int currentAnimatorTime(const QString &property = nullptr) {return 0;}
|
||||
virtual void setAnimatorCurrentTime(const QString &property = nullptr, const int msecs = 0) {}
|
||||
virtual int totalAnimationDuration(const QString &property = nullptr) {return 0;}
|
||||
|
||||
virtual void setExtraProperty(const QString &property, const QVariant &value){}
|
||||
virtual QVariant getExtraProperty(const QString &property) {return QVariant();}
|
||||
|
||||
};
|
||||
|
||||
#endif // ANIMATORIFACE_H
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
HEADERS += \
|
||||
$$PWD/ukui-scrollbar-default-interaction-animator.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/ukui-scrollbar-default-interaction-animator.cpp
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -34,6 +34,23 @@ DefaultInteractionAnimator::DefaultInteractionAnimator(QObject *parent) : QParal
|
|||
|
||||
}
|
||||
|
||||
DefaultInteractionAnimator::~DefaultInteractionAnimator()
|
||||
{
|
||||
if(m_groove_width){
|
||||
m_groove_width->deleteLater();
|
||||
m_groove_width = nullptr;
|
||||
}
|
||||
if(m_slider_opacity){
|
||||
m_slider_opacity->deleteLater();
|
||||
m_slider_opacity = nullptr;
|
||||
}
|
||||
if(m_sunken_silder_additional_opacity){
|
||||
m_sunken_silder_additional_opacity->deleteLater();
|
||||
m_sunken_silder_additional_opacity = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* \brief DefaultInteractionAnimator::bindWidget
|
||||
* \param w
|
||||
|
@ -64,43 +81,88 @@ bool DefaultInteractionAnimator::bindWidget(QWidget *w)
|
|||
return false;
|
||||
}
|
||||
|
||||
if(m_groove_width){
|
||||
delete(m_groove_width);
|
||||
m_groove_width = nullptr;
|
||||
}
|
||||
m_groove_width = new QVariantAnimation(this);
|
||||
m_groove_width->setStartValue(0.0);
|
||||
m_groove_width->setEndValue(1.0);
|
||||
m_groove_width->setDuration(150);
|
||||
m_groove_width->setDuration(200);
|
||||
m_groove_width->setEasingCurve(QEasingCurve::InOutCubic);
|
||||
addAnimation(m_groove_width);
|
||||
|
||||
if( m_slider_opacity){
|
||||
delete(m_slider_opacity);
|
||||
m_slider_opacity = nullptr;
|
||||
}
|
||||
m_slider_opacity = new QVariantAnimation(this);
|
||||
m_slider_opacity->setStartValue(0.0);
|
||||
m_slider_opacity->setEndValue(0.10);
|
||||
m_slider_opacity->setDuration(150);
|
||||
m_slider_opacity->setEndValue(1.0);
|
||||
m_slider_opacity->setDuration(200);
|
||||
m_slider_opacity->setEasingCurve(QEasingCurve::InOutCubic);
|
||||
addAnimation(m_slider_opacity);
|
||||
|
||||
if( m_hover_bg_width){
|
||||
delete(m_hover_bg_width);
|
||||
m_hover_bg_width = nullptr;
|
||||
}
|
||||
m_hover_bg_width = new QVariantAnimation(this);
|
||||
m_hover_bg_width->setStartValue(0.0);
|
||||
m_hover_bg_width->setEndValue(1.0);
|
||||
m_hover_bg_width->setDuration(200);
|
||||
m_hover_bg_width->setEasingCurve(QEasingCurve::InOutCubic);
|
||||
addAnimation(m_hover_bg_width);
|
||||
|
||||
if( m_sunken_silder_additional_opacity){
|
||||
delete(m_sunken_silder_additional_opacity);
|
||||
m_sunken_silder_additional_opacity = nullptr;
|
||||
}
|
||||
m_sunken_silder_additional_opacity = new QVariantAnimation(this);
|
||||
m_sunken_silder_additional_opacity->setStartValue(0.0);
|
||||
m_sunken_silder_additional_opacity->setEndValue(0.10);
|
||||
m_sunken_silder_additional_opacity->setDuration(150);
|
||||
addAnimation(m_sunken_silder_additional_opacity);
|
||||
|
||||
m_silder_move_position = new QVariantAnimation(this);
|
||||
m_silder_move_position->setStartValue(0.0);
|
||||
m_silder_move_position->setEndValue(1.0);
|
||||
m_silder_move_position->setDuration(300);
|
||||
m_silder_move_position->setEasingCurve(QEasingCurve::OutQuad);
|
||||
|
||||
addAnimation(m_silder_move_position);
|
||||
|
||||
setObjectName("ukui_scrollbar_default_interaction_animator");
|
||||
|
||||
connect(m_groove_width, &QVariantAnimation::valueChanged, w, [=]() {
|
||||
w->repaint();
|
||||
w->update();
|
||||
});
|
||||
connect(m_slider_opacity, &QVariantAnimation::valueChanged, w, [=]() {
|
||||
w->repaint();
|
||||
w->update();
|
||||
});
|
||||
connect(m_sunken_silder_additional_opacity, &QVariantAnimation::valueChanged, w, [=]() {
|
||||
w->repaint();
|
||||
w->update();
|
||||
});
|
||||
connect(m_silder_move_position, &QVariantAnimation::valueChanged, w, [=]() {
|
||||
w->update();
|
||||
});
|
||||
connect(m_hover_bg_width, &QVariantAnimation::valueChanged, w, [=]() {
|
||||
w->update();
|
||||
});
|
||||
connect(m_groove_width, &QVariantAnimation::finished, w, [=]() {
|
||||
w->repaint();
|
||||
w->update();
|
||||
});
|
||||
connect(m_slider_opacity, &QVariantAnimation::finished, w, [=]() {
|
||||
w->repaint();
|
||||
w->update();
|
||||
});
|
||||
connect(m_sunken_silder_additional_opacity, &QVariantAnimation::finished, w, [=]() {
|
||||
w->repaint();
|
||||
w->update();
|
||||
});
|
||||
connect(m_silder_move_position, &QVariantAnimation::finished, w, [=]() {
|
||||
w->update();
|
||||
});
|
||||
connect(m_hover_bg_width, &QVariantAnimation::finished, w, [=]() {
|
||||
w->update();
|
||||
});
|
||||
|
||||
return true;
|
||||
|
@ -110,9 +172,26 @@ bool DefaultInteractionAnimator::unboundWidget()
|
|||
{
|
||||
this->stop();
|
||||
this->setDirection(QAbstractAnimation::Forward);
|
||||
m_groove_width->deleteLater();
|
||||
m_slider_opacity->deleteLater();
|
||||
m_sunken_silder_additional_opacity->deleteLater();
|
||||
if(m_groove_width){
|
||||
delete(m_groove_width);
|
||||
m_groove_width = nullptr;
|
||||
}
|
||||
if(m_slider_opacity){
|
||||
delete(m_slider_opacity);
|
||||
m_slider_opacity = nullptr;
|
||||
}
|
||||
if(m_sunken_silder_additional_opacity){
|
||||
delete(m_sunken_silder_additional_opacity);
|
||||
m_sunken_silder_additional_opacity = nullptr;
|
||||
}
|
||||
if(m_silder_move_position){
|
||||
delete(m_silder_move_position);
|
||||
m_silder_move_position = nullptr;
|
||||
}
|
||||
if(m_hover_bg_width){
|
||||
delete(m_hover_bg_width);
|
||||
m_hover_bg_width = nullptr;
|
||||
}
|
||||
|
||||
if (m_widget) {
|
||||
this->setParent(nullptr);
|
||||
|
@ -129,6 +208,10 @@ QVariant DefaultInteractionAnimator::value(const QString &property)
|
|||
return m_slider_opacity->currentValue();
|
||||
} else if (property == "additional_opacity") {
|
||||
return m_sunken_silder_additional_opacity->currentValue();
|
||||
} else if (property == "move_position") {
|
||||
return m_silder_move_position->currentValue();
|
||||
} else if (property == "bg_width") {
|
||||
return m_hover_bg_width->currentValue();
|
||||
} else {
|
||||
return QVariant();
|
||||
}
|
||||
|
@ -146,6 +229,12 @@ bool DefaultInteractionAnimator::setAnimatorStartValue(const QString &property,
|
|||
{
|
||||
m_sunken_silder_additional_opacity->setStartValue(value);
|
||||
return true;
|
||||
} else if (property == "move_position") {
|
||||
m_silder_move_position->setStartValue(value);
|
||||
return true;
|
||||
} else if (property == "bg_width") {
|
||||
m_hover_bg_width->setStartValue(value);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -162,22 +251,69 @@ bool DefaultInteractionAnimator::setAnimatorEndValue(const QString &property, co
|
|||
} else if (property == "additional_opacity") {
|
||||
m_sunken_silder_additional_opacity->setEndValue(value);
|
||||
return true;
|
||||
} else if (property == "move_position") {
|
||||
m_silder_move_position->setEndValue(value);
|
||||
return true;
|
||||
} else if (property == "bg_width") {
|
||||
m_hover_bg_width->setEndValue(value);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
QVariant DefaultInteractionAnimator::animatorStartValue(const QString &property)
|
||||
{
|
||||
if (property == "groove_width") {
|
||||
return m_groove_width->startValue();
|
||||
} else if (property == "slider_opacity") {
|
||||
return m_slider_opacity->startValue();
|
||||
} else if (property == "additional_opacity") {
|
||||
return m_sunken_silder_additional_opacity->startValue();
|
||||
} else if (property == "move_position") {
|
||||
return m_silder_move_position->startValue();
|
||||
} else if (property == "bg_width") {
|
||||
return m_hover_bg_width->startValue();
|
||||
} else {
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
QVariant DefaultInteractionAnimator::animatorEndValue(const QString &property)
|
||||
{
|
||||
if (property == "groove_width") {
|
||||
return m_groove_width->endValue();
|
||||
} else if (property == "slider_opacity") {
|
||||
return m_slider_opacity->endValue();
|
||||
} else if (property == "additional_opacity") {
|
||||
return m_sunken_silder_additional_opacity->endValue();
|
||||
} else if (property == "move_position") {
|
||||
return m_silder_move_position->endValue();
|
||||
} else if (property == "bg_width") {
|
||||
return m_hover_bg_width->endValue();
|
||||
} else {
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool DefaultInteractionAnimator::setAnimatorDuration(const QString &property, int duration)
|
||||
{
|
||||
if (property == "groove_width") {
|
||||
m_groove_width->setDuration(duration);
|
||||
return true;
|
||||
} else if (property == "slider_opacity") {
|
||||
m_groove_width->setDuration(duration);
|
||||
m_slider_opacity->setDuration(duration);
|
||||
return true;
|
||||
} else if (property == "additional_opacity") {
|
||||
m_sunken_silder_additional_opacity->setDuration(duration);
|
||||
return true;
|
||||
} else if (property == "move_position") {
|
||||
m_silder_move_position->setDuration(duration);
|
||||
return true;
|
||||
} else if (property == "bg_width") {
|
||||
m_hover_bg_width->setDuration(duration);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -192,6 +328,10 @@ void DefaultInteractionAnimator::setAnimatorDirectionForward(const QString &prop
|
|||
m_slider_opacity->setDirection(d);
|
||||
} else if (property == "additional_opacity") {
|
||||
m_sunken_silder_additional_opacity->setDirection(d);
|
||||
} else if (property == "move_position") {
|
||||
m_silder_move_position->setDirection(d);
|
||||
} else if (property == "bg_width") {
|
||||
m_hover_bg_width->setDirection(d);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
@ -205,6 +345,10 @@ bool DefaultInteractionAnimator::isRunning(const QString &property)
|
|||
return m_slider_opacity->state() == Running;
|
||||
} else if (property == "additional_opacity") {
|
||||
return m_sunken_silder_additional_opacity->state() == Running;
|
||||
} else if (property == "move_position") {
|
||||
return m_silder_move_position->state() == Running;
|
||||
} else if (property == "bg_width") {
|
||||
return m_hover_bg_width->state() == Running;
|
||||
} else {
|
||||
return this->state() == Running;
|
||||
}
|
||||
|
@ -218,6 +362,10 @@ void DefaultInteractionAnimator::startAnimator(const QString &property)
|
|||
m_slider_opacity->start();
|
||||
} else if (property == "additional_opacity") {
|
||||
m_sunken_silder_additional_opacity->start();
|
||||
} else if (property == "move_position") {
|
||||
m_silder_move_position->start();
|
||||
} else if (property == "bg_width") {
|
||||
m_hover_bg_width->start();
|
||||
} else {
|
||||
this->start();
|
||||
}
|
||||
|
@ -231,6 +379,10 @@ void DefaultInteractionAnimator::stopAnimator(const QString &property)
|
|||
m_slider_opacity->stop();
|
||||
} else if (property == "additional_opacity") {
|
||||
m_sunken_silder_additional_opacity->stop();
|
||||
} else if (property == "move_position") {
|
||||
m_silder_move_position->stop();
|
||||
} else if (property == "bg_width") {
|
||||
m_hover_bg_width->stop();
|
||||
} else {
|
||||
this->stop();
|
||||
}
|
||||
|
@ -244,11 +396,23 @@ int DefaultInteractionAnimator::currentAnimatorTime(const QString &property)
|
|||
return m_slider_opacity->currentTime();
|
||||
} else if (property == "additional_opacity") {
|
||||
return m_sunken_silder_additional_opacity->currentTime();
|
||||
} else if (property == "move_position") {
|
||||
return m_silder_move_position->currentTime();
|
||||
} else if (property == "bg_width") {
|
||||
return m_hover_bg_width->currentTime();
|
||||
} else {
|
||||
return this->currentTime();
|
||||
}
|
||||
}
|
||||
|
||||
void DefaultInteractionAnimator::setAnimatorCurrentTime(const QString &property, const int msecs)
|
||||
{
|
||||
if ("move_position" == property) {
|
||||
m_silder_move_position->setCurrentTime(msecs);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int DefaultInteractionAnimator::totalAnimationDuration(const QString &property)
|
||||
{
|
||||
if (property == "groove_width") {
|
||||
|
@ -257,7 +421,33 @@ int DefaultInteractionAnimator::totalAnimationDuration(const QString &property)
|
|||
return m_slider_opacity->duration();
|
||||
} else if (property == "additional_opacity") {
|
||||
return m_sunken_silder_additional_opacity->duration();
|
||||
} else if (property == "move_position") {
|
||||
return m_silder_move_position->duration();
|
||||
} else if (property == "bg_width") {
|
||||
return m_hover_bg_width->duration();
|
||||
} else {
|
||||
return this->duration();
|
||||
}
|
||||
}
|
||||
|
||||
void DefaultInteractionAnimator::setExtraProperty(const QString &property, const QVariant &value)
|
||||
{
|
||||
if(property == "end_position")
|
||||
m_endPosition = value.toInt();
|
||||
else if(property == "start_position")
|
||||
m_startPosition = value.toInt();
|
||||
else if(property == "addValue")
|
||||
m_addValue = value.toBool();
|
||||
}
|
||||
|
||||
QVariant DefaultInteractionAnimator::getExtraProperty(const QString &property)
|
||||
{
|
||||
if(property == "end_position")
|
||||
return m_endPosition;
|
||||
else if(property == "start_position")
|
||||
return m_startPosition;
|
||||
else if(property == "addValue")
|
||||
return m_addValue;
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -24,7 +24,7 @@
|
|||
#define UKUISCROLLBARDEFAULTINTERACTIONANIMATOR_H
|
||||
|
||||
#include <QParallelAnimationGroup>
|
||||
#include "animator-iface.h"
|
||||
#include "../animator-iface.h"
|
||||
|
||||
class QVariantAnimation;
|
||||
|
||||
|
@ -37,6 +37,7 @@ class DefaultInteractionAnimator : public QParallelAnimationGroup, public Animat
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit DefaultInteractionAnimator(QObject *parent = nullptr);
|
||||
~DefaultInteractionAnimator();
|
||||
|
||||
bool bindWidget(QWidget *w);
|
||||
bool unboundWidget();
|
||||
|
@ -46,20 +47,30 @@ public:
|
|||
bool isRunning(const QString &property = nullptr);
|
||||
bool setAnimatorStartValue(const QString &property, const QVariant &value);
|
||||
bool setAnimatorEndValue(const QString &property, const QVariant &value);
|
||||
QVariant animatorStartValue(const QString &property);
|
||||
QVariant animatorEndValue(const QString &property);
|
||||
|
||||
bool setAnimatorDuration(const QString &property, int duration);
|
||||
void setAnimatorDirectionForward(const QString &property = nullptr, bool forward = true);
|
||||
void startAnimator(const QString &property = nullptr);
|
||||
void stopAnimator(const QString &property = nullptr);
|
||||
int currentAnimatorTime(const QString &property = nullptr);
|
||||
void setAnimatorCurrentTime(const QString &property, const int msecs);
|
||||
int totalAnimationDuration(const QString &property);
|
||||
void setExtraProperty(const QString &property, const QVariant &value);
|
||||
QVariant getExtraProperty(const QString &property);
|
||||
|
||||
private:
|
||||
QWidget *m_widget = nullptr;
|
||||
|
||||
QVariantAnimation *m_groove_width;
|
||||
QVariantAnimation *m_slider_opacity;
|
||||
QVariantAnimation *m_sunken_silder_additional_opacity;
|
||||
QVariantAnimation *m_groove_width = nullptr;
|
||||
QVariantAnimation *m_slider_opacity = nullptr;
|
||||
QVariantAnimation *m_hover_bg_width = nullptr;
|
||||
QVariantAnimation *m_sunken_silder_additional_opacity = nullptr;
|
||||
QVariantAnimation *m_silder_move_position = nullptr;
|
||||
int m_endPosition = 0;
|
||||
int m_startPosition = 0;
|
||||
bool m_addValue = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
INCLUDEPATH += $$PWD
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/ukui-tabwidget-animator-iface.h \
|
||||
$$PWD/ukui-tabwidget-animator-plugin-iface.h \
|
||||
$$PWD/ukui-tabwidget-default-slide-animator-factory.h \
|
||||
$$PWD/ukui-tabwidget-default-slide-animator.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/ukui-tabwidget-default-slide-animator-factory.cpp \
|
||||
$$PWD/ukui-tabwidget-default-slide-animator.cpp
|
||||
|
||||
INCLUDEPATH += $$PWD/..
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -24,7 +24,7 @@
|
|||
#define UKUITABWIDGETANIMATORIFACE_H
|
||||
|
||||
#include <QTabWidget>
|
||||
#include "animator-iface.h"
|
||||
#include "../animator-iface.h"
|
||||
|
||||
/*!
|
||||
* \brief The UKUITabWidgetAnimatorIface class
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -24,7 +24,7 @@
|
|||
#define UKUITABWIDGETANIMATORPLUGINIFACE_H
|
||||
|
||||
#include <QString>
|
||||
#include "animator-plugin-iface.h"
|
||||
#include "../animator-plugin-iface.h"
|
||||
#include "ukui-tabwidget-animator-iface.h"
|
||||
|
||||
#define UKUITabWidgetAnimatorPluginInterface_iid "org.ukui.style.animatons.TabWidgetPluginInterface"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -45,6 +45,7 @@ class DefaultSlideAnimatorFactory : public QObject, public UKUITabWidgetAnimator
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit DefaultSlideAnimatorFactory(QObject *parent = nullptr);
|
||||
~DefaultSlideAnimatorFactory(){}
|
||||
|
||||
const QString id() {return tr("Default Slide");}
|
||||
const QString brief() {return tr("Let tab widget switch with a slide animation.");}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -60,6 +60,23 @@ DefaultSlideAnimator::DefaultSlideAnimator(QObject *parent) : QVariantAnimation
|
|||
setEndValue(1.0);
|
||||
}
|
||||
|
||||
DefaultSlideAnimator::~DefaultSlideAnimator()
|
||||
{
|
||||
// if(m_bound_widget){
|
||||
// m_bound_widget->deleteLater();
|
||||
// m_bound_widget = nullptr;
|
||||
// }
|
||||
// if(m_stack){
|
||||
// m_stack->deleteLater();
|
||||
// m_stack = nullptr;
|
||||
// }
|
||||
if(m_tmp_page){
|
||||
m_tmp_page->deleteLater();
|
||||
m_tmp_page = nullptr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief DefaultSlideAnimator::bindTabWidget
|
||||
* \param w A QTabWidget instance, most passed in QStyle::polish().
|
||||
|
@ -106,6 +123,9 @@ bool DefaultSlideAnimator::bindTabWidget(QTabWidget *w)
|
|||
connect(w, &QTabWidget::currentChanged, this, [=](int index){
|
||||
this->stop();
|
||||
m_tmp_page->hide();
|
||||
if(!w->isVisible()){
|
||||
return ;
|
||||
}
|
||||
if (m_bound_widget->currentWidget() && m_bound_widget->currentWidget() != previous_widget) {
|
||||
left_right = m_bound_widget->currentIndex() > pervIndex;
|
||||
pervIndex = m_bound_widget->currentIndex();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -44,6 +44,7 @@ class DefaultSlideAnimator : public QVariantAnimation, public UKUITabWidgetAnima
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit DefaultSlideAnimator(QObject *parent = nullptr);
|
||||
~DefaultSlideAnimator();
|
||||
|
||||
bool bindTabWidget(QTabWidget *w);
|
||||
bool unboundTabWidget();
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
INCLUDEPATH += $$PWD
|
||||
INCLUDEPATH += $$PWD/..
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/highlight-effect.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/highlight-effect.cpp
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -38,7 +38,7 @@
|
|||
|
||||
#define ColorDifference 10
|
||||
|
||||
QColor HighLightEffect::symbolic_color = QColor(31, 32, 34, 192);
|
||||
QColor HighLightEffect::symbolic_color = QColor(38, 38, 38);
|
||||
|
||||
void HighLightEffect::setSkipEffect(QWidget *w, bool skip)
|
||||
{
|
||||
|
@ -99,6 +99,33 @@ bool HighLightEffect::isPixmapPureColor(const QPixmap &pixmap)
|
|||
}
|
||||
|
||||
|
||||
bool HighLightEffect::isSymbolicColor(const QPixmap &pixmap)
|
||||
{
|
||||
if (pixmap.isNull()) {
|
||||
qWarning("pixmap is null!");
|
||||
return false;
|
||||
}
|
||||
QImage image = pixmap.toImage();
|
||||
|
||||
bool pure = true;
|
||||
for (int y = 0; y < image.height(); ++y) {
|
||||
for (int x = 0; x < image.width(); ++x) {
|
||||
if (image.pixelColor(x, y).alphaF() > 0.3) {
|
||||
QColor color = image.pixelColor(x, y);
|
||||
|
||||
//default symbolic color (38, 38, 38)
|
||||
int dr = qAbs(color.red() - symbolic_color.red());
|
||||
int dg = qAbs(color.green() - symbolic_color.green());
|
||||
int db = qAbs(color.blue() - symbolic_color.blue());
|
||||
if (dr > ColorDifference || dg > ColorDifference || db > ColorDifference)
|
||||
pure = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return pure;
|
||||
}
|
||||
|
||||
|
||||
bool HighLightEffect::setMenuIconHighlightEffect(QMenu *menu, HighLightMode hlmode, EffectMode mode)
|
||||
{
|
||||
|
@ -288,6 +315,8 @@ QPixmap HighLightEffect::ordinaryGeneratePixmap(const QPixmap &pixmap, const QSt
|
|||
return pixmap;
|
||||
if (!isPixmapPureColor(pixmap) || !(option->state & QStyle::State_Enabled))
|
||||
return pixmap;
|
||||
if (!isSymbolicColor(pixmap))
|
||||
return pixmap;
|
||||
|
||||
QPixmap target = pixmap;
|
||||
QColor color;
|
||||
|
@ -312,6 +341,8 @@ QPixmap HighLightEffect::hoverGeneratePixmap(const QPixmap &pixmap, const QStyle
|
|||
return pixmap;
|
||||
if (!isPixmapPureColor(pixmap) || !(option->state & QStyle::State_Enabled))
|
||||
return pixmap;
|
||||
if (!isSymbolicColor(pixmap))
|
||||
return pixmap;
|
||||
|
||||
QPixmap target = pixmap;
|
||||
QColor color;
|
||||
|
@ -347,6 +378,8 @@ QPixmap HighLightEffect::bothOrdinaryAndHoverGeneratePixmap(const QPixmap &pixma
|
|||
return pixmap;
|
||||
if (!isPixmapPureColor(pixmap) || !(option->state & QStyle::State_Enabled))
|
||||
return pixmap;
|
||||
if (!isSymbolicColor(pixmap))
|
||||
return pixmap;
|
||||
|
||||
QPixmap target = pixmap;
|
||||
QColor defaultColor, hoverColor;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -61,6 +61,7 @@ public:
|
|||
static QColor symbolic_color;
|
||||
static void setSkipEffect(QWidget *w, bool skip = true);
|
||||
static bool isPixmapPureColor(const QPixmap &pixmap);
|
||||
static bool isSymbolicColor(const QPixmap &pixmap);
|
||||
static bool setMenuIconHighlightEffect(QMenu *menu, HighLightMode hlmode = skipHighlight, EffectMode mode = HighlightOnly);
|
||||
static bool setViewItemIconHighlightEffect(QAbstractItemView *view, HighLightMode hlmode = skipHighlight, EffectMode mode = HighlightOnly);
|
||||
static HighLightMode isWidgetIconUseHighlightEffect(const QWidget *w);
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
INCLUDEPATH += $$PWD
|
||||
INCLUDEPATH += $$PWD/..
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/ukui-two-finger-slide-gesture.h \
|
||||
$$PWD/ukui-two-finger-zoom-gesture.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/ukui-two-finger-slide-gesture.cpp \
|
||||
$$PWD/ukui-two-finger-zoom-gesture.cpp
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -40,6 +40,7 @@ public:
|
|||
};
|
||||
|
||||
explicit TwoFingerSlideGesture(QObject *parent = nullptr);
|
||||
~TwoFingerSlideGesture(){}
|
||||
|
||||
Direction direction() {return m_direction;}
|
||||
const QPoint startPos() {return m_start_pos;}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -43,6 +43,7 @@ public:
|
|||
};
|
||||
|
||||
explicit TwoFingerZoomGesture(QObject *parent = nullptr);
|
||||
~TwoFingerZoomGesture(){}
|
||||
|
||||
Direction zoomDirection() {return m_zoom_direction;}
|
||||
QPair<QPoint, QPoint> startPoints() {return m_start_points;}
|
||||
|
@ -64,6 +65,7 @@ class TwoFingerZoomGestureRecognizer : public QGestureRecognizer
|
|||
{
|
||||
public:
|
||||
explicit TwoFingerZoomGestureRecognizer();
|
||||
~TwoFingerZoomGestureRecognizer(){}
|
||||
|
||||
QGesture *create(QObject *target) override;
|
||||
QGestureRecognizer::Result recognize(QGesture *gesture, QObject *watched, QEvent *event) override;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
INCLUDEPATH += $$PWD
|
||||
INCLUDEPATH += $$PWD/..
|
||||
|
||||
SOURCES += $$PWD/internal-style.cpp \
|
||||
$$PWD/mps-style.cpp
|
||||
|
||||
HEADERS += $$PWD/internal-style.h \
|
||||
$$PWD/mps-style.h
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
INCLUDEPATH += $$PWD
|
||||
|
||||
include(animations/animations.pri)
|
||||
include(settings/settings.pri)
|
||||
include(internal-styles/internal-styles.pri)
|
||||
include(effects/effects.pri)
|
||||
include(gestures/gestures.pri)
|
|
@ -1,46 +0,0 @@
|
|||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2020-01-02T12:00:35
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += widgets concurrent
|
||||
|
||||
TARGET = qt5-ukui-style
|
||||
TEMPLATE = lib
|
||||
|
||||
DEFINES += LIBQT5UKUISTYLE_LIBRARY
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
# any feature of Qt which has been marked as deprecated (the exact warnings
|
||||
# depend on your compiler). Please consult the documentation of the
|
||||
# deprecated API in order to know how to port your code away from it.
|
||||
DEFINES += QT_DEPRECATED_WARNINGS
|
||||
#DEFINES += QT_NO_DEBUG_OUTPUT
|
||||
DEFINES += QT_MESSAGELOGCONTEXT
|
||||
|
||||
# You can also make your code fail to compile if you use deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
include(libqt5-ukui-style.pri)
|
||||
|
||||
CONFIG += c++11 link_pkgconfig
|
||||
PKGCONFIG += gsettings-qt
|
||||
|
||||
DISTFILES += \
|
||||
org.ukui.style.gschema.xml
|
||||
|
||||
unix {
|
||||
target.path = $$[QT_INSTALL_LIBS]
|
||||
INSTALLS += target
|
||||
|
||||
gschema.path = /usr/share/glib-2.0/schemas
|
||||
gschema.files += $$PWD/settings/org.ukui.style.gschema.xml
|
||||
INSTALLS += gschema
|
||||
|
||||
pkgconfig.path = $$[QT_INSTALL_LIBS]/pkgconfig
|
||||
pkgconfig.files += development-files/qt5-ukui.pc
|
||||
INSTALLS += pkgconfig
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -28,6 +28,7 @@
|
|||
static const QStringList blackAppList() {
|
||||
QStringList l;
|
||||
//l<<"ukui-control-center";
|
||||
l<<"kylin-software-center.py";
|
||||
l<<"ubuntu-kylin-software-center.py";
|
||||
// l<<"kylin-burner";
|
||||
l<<"assistant";
|
||||
|
@ -43,8 +44,8 @@ static const QStringList blackAppList() {
|
|||
static const QStringList blackAppListWithBlurHelper() {
|
||||
QStringList l;
|
||||
l<<"youker-assistant";
|
||||
l<<"kylin-assistant";
|
||||
l<<"kylin-video";
|
||||
// l<<"kylin-assistant";
|
||||
// l<<"kylin-video";
|
||||
// l<<"ukui-control-center";
|
||||
l<<"ubuntu-kylin-software-center.py";
|
||||
// l<<"kylin-burner";
|
||||
|
@ -59,8 +60,12 @@ static const QStringList useDarkPaletteList() {
|
|||
// l<<"ukui-panel";
|
||||
// l<<"ukui-sidebar";
|
||||
// l<<"ukui-volume-control-applet-qt";
|
||||
// l<<"kylin-nm"; //网络
|
||||
// l<<"panelukui-panel"; //日历
|
||||
// l<<"ukui-power-manager-tray";
|
||||
// l<<"kylin-nm";
|
||||
//// l<<"ukui-bluetooth";
|
||||
// l<<"sogouimebs"; //输入法
|
||||
// l<<"kylin-device-daemon"; //U盘
|
||||
l<<"ukui-flash-disk";
|
||||
// l<<"ukui-bluetooth";
|
||||
l<<"mktip";
|
||||
|
@ -82,14 +87,39 @@ static const QStringList useDefaultPaletteList() {
|
|||
static const QStringList useTransparentButtonList() {
|
||||
//use transparent button
|
||||
QStringList l;
|
||||
l<<"kybackup";
|
||||
l<<"biometric-manager";
|
||||
// l<<"kybackup";
|
||||
// l<<"biometric-manager";
|
||||
l<<"kylin-video";
|
||||
l<<"kylin-ipmsg";
|
||||
l<<"kylin-weather";
|
||||
l<<"kylin-recorder";
|
||||
l<<"ukui-notebook";
|
||||
|
||||
// l<<"kylin-recorder";
|
||||
|
||||
return l;
|
||||
}
|
||||
|
||||
static const QStringList focusStateActiveList() {
|
||||
//focus state style
|
||||
QStringList l;
|
||||
l<<"ukui-menu";
|
||||
l<<"platformthemeDemo";
|
||||
l<<"ukui-greeter-dialog";
|
||||
l<<"ukui-screensaver";
|
||||
|
||||
return l;
|
||||
}
|
||||
|
||||
static const QStringList windowManageBlackList() {
|
||||
QStringList l;
|
||||
l << "iflyime-spe-sym";
|
||||
l << "iflyime-qimpanel";
|
||||
l << "iflyime-setw";
|
||||
l << "iflyime-sett";
|
||||
l << "iflyime-qim";
|
||||
l << "iflyime-hw";
|
||||
l << "SpecificSymbol";
|
||||
return l;
|
||||
}
|
||||
|
||||
#endif // BLACKLIST_H
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -60,17 +60,11 @@
|
|||
<summary>System Palette</summary>
|
||||
<description>Set default system palette for UKUI desktop environment.</description>
|
||||
</key>
|
||||
<key type="b" name="use-custom-highlight-color">
|
||||
<default>false</default>
|
||||
<summary>Use custom highlight color.</summary>
|
||||
<description>
|
||||
Globally enable or disable custom highlight color.
|
||||
</description>
|
||||
</key>
|
||||
<key type="s" name="theme-color">
|
||||
<default>"daybreakBlue"</default>
|
||||
<default>"#3790FA"</default>
|
||||
<summary> theme color</summary>
|
||||
<description>Set theme color for UKUI desktop environment.include default,daybreakBlue,jamPurple,magenta,sunRed,sunsetOrange,dustGold,polarGreen</description>
|
||||
<description>Set theme color for UKUI desktop environment.include default,daybreakBlue,jamPurple,magenta,sunRed,sunsetOrange,dustGold,polarGreen,
|
||||
and using rgba for example "(125,125,125) or #3790FA" </description>
|
||||
</key>
|
||||
<key type="b" name="cursor-blink">
|
||||
<default>true</default>
|
||||
|
@ -84,5 +78,21 @@
|
|||
<summary>Blink text cursor interval.</summary>
|
||||
<description>The interval of text cursor blink.</description>
|
||||
</key>
|
||||
<key type="b" name="use-custom-highlight-color">
|
||||
<default>false</default>
|
||||
<summary>Use custom highlight color.</summary>
|
||||
<description>Globally enable or disable custom highlight color.Now is to compatible with third party application</description>
|
||||
</key>
|
||||
<key type="s" name="custom-highlight-color">
|
||||
<default>"#3D6BE5"</default>
|
||||
<summary>Custom highlight color</summary>
|
||||
<description>Set custom highlight color for UKUI desktop environment.Now is to compatible with third party application</description>
|
||||
</key>
|
||||
<key type="i" name="window-radius">
|
||||
<default>12</default>
|
||||
<range min="0" max="12"/>
|
||||
<summary>Window Radius</summary>
|
||||
<description>Set the rounded corner size of the window</description>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
style:
|
||||
4.3.1.2:
|
||||
keys:
|
||||
blur-exception-classes:
|
||||
_type: s
|
||||
default: '[]'
|
||||
description: 'Example: [QWidget, QWidget1, QWidget2]'
|
||||
summary: a list of QWidget based classes do not blur.
|
||||
cursor-blink:
|
||||
_type: b
|
||||
default: 'true'
|
||||
description: Globally enable or disable blinking text cursor.
|
||||
summary: Blink text cursor.
|
||||
cursor-blink-time:
|
||||
_type: i
|
||||
default: '1200'
|
||||
description: The interval of text cursor blink.
|
||||
summary: Blink text cursor interval.
|
||||
custom-highlight-color:
|
||||
_type: s
|
||||
default: '#3D6BE5'
|
||||
description: Set custom highlight color for UKUI desktop environment.Now is
|
||||
to compatible with third party application
|
||||
summary: Custom highlight color
|
||||
enabled-global-blur:
|
||||
_type: b
|
||||
default: 'true'
|
||||
description: "Globally enable or disable the window blur effects for transparent\
|
||||
\ window.\n Setting it to \"false\" will disable the effects."
|
||||
summary: Enable Window Blur Effects.
|
||||
icon-theme-name:
|
||||
_type: s
|
||||
default: ukui-icon-theme-default
|
||||
description: Icon Theme for Qt Applications.Have ukui ukui-classical ukui-fashion
|
||||
summary: Icon Theme for Qt Applications.
|
||||
menu-transparency:
|
||||
_type: i
|
||||
default: '72'
|
||||
description: The default transparency of menu.
|
||||
summary: Menu's transparency.
|
||||
peony-side-bar-transparency:
|
||||
_type: i
|
||||
default: '72'
|
||||
description: The default transparency of the peony side bar.
|
||||
summary: Peony::SideBar's transparency.
|
||||
style-name:
|
||||
_type: s
|
||||
default: ukui-light
|
||||
description: Set style for UKUI desktop environment. Have ukui-dark ukui-default
|
||||
ukui-light
|
||||
summary: Current Qt Style
|
||||
system-font:
|
||||
_type: s
|
||||
default: Noto Sans CJK SC
|
||||
description: System Font for Qt Applications.
|
||||
summary: System Font for Qt Applications.
|
||||
system-font-size:
|
||||
_type: s
|
||||
default: '11'
|
||||
description: System Font Size for Qt Applications. Use point size.
|
||||
summary: System Font Size for Qt Applications.
|
||||
system-palette:
|
||||
_type: s
|
||||
default: ''
|
||||
description: Set default system palette for UKUI desktop environment.
|
||||
summary: System Palette
|
||||
theme-color:
|
||||
_type: s
|
||||
default: '#3790FA'
|
||||
description: "Set theme color for UKUI desktop environment.include default,daybreakBlue,jamPurple,magenta,sunRed,sunsetOrange,dustGold,polarGreen,\n\
|
||||
\ and using rgba for example \"(125,125,125) or #3790FA"
|
||||
summary: theme color
|
||||
use-custom-highlight-color:
|
||||
_type: b
|
||||
default: 'false'
|
||||
description: Globally enable or disable custom highlight color.Now is to compatible
|
||||
with third party application
|
||||
summary: Use custom highlight color.
|
||||
use-system-palette:
|
||||
_type: b
|
||||
default: 'false'
|
||||
description: Globally enable or disable system palette provided by ukui platform.
|
||||
summary: Use system palette.
|
||||
widget-theme-name:
|
||||
_type: s
|
||||
default: default
|
||||
description: Set system theme. Have default,classical and fashion
|
||||
summary: Current widget theme name
|
||||
window-radius:
|
||||
_type: i
|
||||
default: '12'
|
||||
description: Set the rounded corner size of the window
|
||||
range: 0,12
|
||||
summary: Window Radius
|
|
@ -1,9 +0,0 @@
|
|||
HEADERS += $$PWD/libqt5-ukui-style_global.h \
|
||||
$$PWD/ukui-style-settings.h \
|
||||
$$PWD/application-style-settings.h
|
||||
|
||||
SOURCES += $$PWD/ukui-style-settings.cpp \
|
||||
$$PWD/application-style-settings.cpp
|
||||
|
||||
INCLUDEPATH += $$PWD/..
|
||||
INCLUDEPATH += $$PWD
|
|
@ -0,0 +1,231 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: xibowen <xibowen@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ukui-style-conf-settings.h"
|
||||
#include "libkysettings.h"
|
||||
#include <glib.h>
|
||||
#include <QDebug>
|
||||
|
||||
//char to QString
|
||||
QString qtify_name(const char *name)
|
||||
{
|
||||
bool next_cap = false;
|
||||
QString result;
|
||||
|
||||
while (*name) {
|
||||
if (*name == '-') {
|
||||
next_cap = true;
|
||||
} else if (next_cap) {
|
||||
result.append(QChar(*name).toUpper().toLatin1());
|
||||
next_cap = false;
|
||||
} else {
|
||||
result.append(*name);
|
||||
}
|
||||
|
||||
name++;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//QString to char
|
||||
char * unqtify_name(const QString &name)
|
||||
{
|
||||
const char *p;
|
||||
QByteArray bytes;
|
||||
GString *str;
|
||||
|
||||
bytes = name.toUtf8();
|
||||
str = g_string_new (NULL);
|
||||
|
||||
for (p = bytes.constData(); *p; p++) {
|
||||
const QChar c(*p);
|
||||
if (c.isUpper()) {
|
||||
g_string_append_c (str, '-');
|
||||
g_string_append_c (str, c.toLower().toLatin1());
|
||||
}
|
||||
else {
|
||||
g_string_append_c (str, *p);
|
||||
}
|
||||
}
|
||||
|
||||
return g_string_free(str, FALSE);
|
||||
}
|
||||
|
||||
|
||||
static void settingChanged(KSettings *ukuistyle_settings, const char *key, void *user_data)
|
||||
{
|
||||
ukuiStyleConfSettings *self = (ukuiStyleConfSettings *)user_data;
|
||||
|
||||
QMetaObject::invokeMethod(self, "changed", Qt::QueuedConnection, Q_ARG(QString, qtify_name(key)));
|
||||
}
|
||||
|
||||
ukuiStyleConfSettings::ukuiStyleConfSettings(const QByteArray &schema_id)
|
||||
{
|
||||
if (!ukuistyle_settings)
|
||||
ukuistyle_settings = kdk_conf2_new(schema_id, NULL);
|
||||
|
||||
signal_handler_id = kdk_conf2_connect_signal(ukuistyle_settings, "changed",
|
||||
(KCallBack)settingChanged, this);
|
||||
}
|
||||
|
||||
ukuiStyleConfSettings::~ukuiStyleConfSettings()
|
||||
{
|
||||
if (ukuistyle_settings) {
|
||||
kdk_conf2_ksettings_destroy(ukuistyle_settings);
|
||||
ukuistyle_settings = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
QVariant ukuiStyleConfSettings::types_to_qvariant(const char *key,const char* value) const
|
||||
{
|
||||
char *type = kdk_conf2_get_type(this->ukuistyle_settings, key);
|
||||
switch (*type) {
|
||||
case VARIANT_CLASS_BOOLEAN:
|
||||
return QVariant(value);
|
||||
|
||||
case VARIANT_CLASS_BYTE:
|
||||
return QVariant(QString(value));
|
||||
|
||||
case VARIANT_CLASS_INT16:
|
||||
return QVariant(QString(value).toShort());
|
||||
|
||||
case VARIANT_CLASS_UINT16:
|
||||
return QVariant(QString(value).toUShort());
|
||||
|
||||
case VARIANT_CLASS_INT32:
|
||||
return QVariant(QString(value).toInt());
|
||||
|
||||
case VARIANT_CLASS_UINT32:
|
||||
return QVariant(QString(value).toUInt());
|
||||
|
||||
case VARIANT_CLASS_INT64:
|
||||
return QVariant(QString(value).toLongLong());
|
||||
|
||||
case VARIANT_CLASS_UINT64:
|
||||
return QVariant(QString(value).toULongLong());
|
||||
|
||||
case VARIANT_CLASS_DOUBLE:
|
||||
return QVariant(QString(value).toDouble());
|
||||
|
||||
case VARIANT_CLASS_STRING:
|
||||
return QVariant(QString(value));
|
||||
|
||||
case VARIANT_CLASS_ARRAY:
|
||||
// if (g_variant_is_of_type(value, G_VARIANT_TYPE_STRING_ARRAY)) {
|
||||
// GVariantIter iter;
|
||||
// QStringList list;
|
||||
// const gchar *str;
|
||||
|
||||
// g_variant_iter_init (&iter, value);
|
||||
// while (g_variant_iter_next (&iter, "&s", &str))
|
||||
// list.append (str);
|
||||
|
||||
// return QVariant(list);
|
||||
// } else if (g_variant_is_of_type(value, G_VARIANT_TYPE_BYTESTRING)) {
|
||||
// return QVariant(QByteArray(g_variant_get_bytestring(value)));
|
||||
// } else if (g_variant_is_of_type(value, G_VARIANT_TYPE("a{ss}"))) {
|
||||
// GVariantIter iter;
|
||||
// QMap<QString, QVariant> map;
|
||||
// const gchar *key;
|
||||
// const gchar *val;
|
||||
|
||||
// g_variant_iter_init (&iter, value);
|
||||
// while (g_variant_iter_next (&iter, "{&s&s}", &key, &val))
|
||||
// map.insert(key, QVariant(val));
|
||||
|
||||
// return map;
|
||||
// }
|
||||
|
||||
// fall through
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
}
|
||||
|
||||
QVariant ukuiStyleConfSettings::get(const QString &key) const
|
||||
{
|
||||
char *ckey = unqtify_name(key);
|
||||
char *value = kdk_conf2_get_value(ukuistyle_settings, ckey);
|
||||
|
||||
QVariant qvalue = types_to_qvariant(ckey, value);
|
||||
|
||||
g_free(value);
|
||||
g_free(ckey);
|
||||
return qvalue;
|
||||
}
|
||||
|
||||
void ukuiStyleConfSettings::set(const QString &key, const QVariant &value)
|
||||
{
|
||||
if (!this->trySet(key, value))
|
||||
qWarning("unable to set key '%s' to value '%s'", key.toUtf8().constData(), value.toString().toUtf8().constData());
|
||||
}
|
||||
|
||||
bool ukuiStyleConfSettings::trySet(const QString &key, const QVariant &value)
|
||||
{
|
||||
if (!ukuistyle_settings)
|
||||
return false;
|
||||
|
||||
char *ckey = unqtify_name(key);
|
||||
char *cvalue = unqtify_name(value.value<QString>());
|
||||
bool success = false;
|
||||
|
||||
success = kdk_conf2_set_value(ukuistyle_settings, ckey, cvalue);
|
||||
g_free(ckey);
|
||||
g_free(cvalue);
|
||||
return success;
|
||||
}
|
||||
|
||||
QStringList ukuiStyleConfSettings::keys() const
|
||||
{
|
||||
QStringList list;
|
||||
|
||||
char **keys = kdk_conf2_list_keys(ukuistyle_settings);
|
||||
for (int i = 0; keys[i]; i++)
|
||||
list.append(qtify_name(keys[i]));
|
||||
|
||||
g_strfreev(keys);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
void ukuiStyleConfSettings::reset(const QString &qkey)
|
||||
{
|
||||
if (!ukuistyle_settings)
|
||||
return;
|
||||
|
||||
char *key = unqtify_name(qkey);
|
||||
kdk_conf2_reset(ukuistyle_settings, key);
|
||||
g_free(key);
|
||||
}
|
||||
|
||||
bool ukuiStyleConfSettings::isSettingsAvailable(const QString &schema_id)
|
||||
{
|
||||
char *schema = unqtify_name(schema_id);
|
||||
bool result = false;
|
||||
if (kdk_conf2_new(schema, NULL)) {
|
||||
result = true;
|
||||
}
|
||||
|
||||
g_free(schema);
|
||||
return result;
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: xibowen <xibowen@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef UKUISTYLECONFSETTINGS_H
|
||||
#define UKUISTYLECONFSETTINGS_H
|
||||
|
||||
|
||||
#include <QObject>
|
||||
#include <QVariant>
|
||||
|
||||
typedef struct _KSettings KSettings;
|
||||
|
||||
class ukuiStyleConfSettings : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
enum VariantClass {
|
||||
VARIANT_CLASS_BOOLEAN = 'b',
|
||||
VARIANT_CLASS_BYTE = 'y',
|
||||
VARIANT_CLASS_INT16 = 'n',
|
||||
VARIANT_CLASS_UINT16 = 'q',
|
||||
VARIANT_CLASS_INT32 = 'i',
|
||||
VARIANT_CLASS_UINT32 = 'u',
|
||||
VARIANT_CLASS_INT64 = 'x',
|
||||
VARIANT_CLASS_UINT64 = 't',
|
||||
VARIANT_CLASS_HANDLE = 'h',
|
||||
VARIANT_CLASS_DOUBLE = 'd',
|
||||
VARIANT_CLASS_STRING = 's',
|
||||
VARIANT_CLASS_OBJECT_PATH = 'o',
|
||||
VARIANT_CLASS_SIGNATURE = 'g',
|
||||
VARIANT_CLASS_VARIANT = 'v',
|
||||
VARIANT_CLASS_MAYBE = 'm',
|
||||
VARIANT_CLASS_ARRAY = 'a',
|
||||
VARIANT_CLASS_TUPLE = '(',
|
||||
VARIANT_CLASS_DICT_ENTRY = '{'
|
||||
};
|
||||
|
||||
|
||||
ukuiStyleConfSettings(const QByteArray &schema_id);
|
||||
|
||||
~ukuiStyleConfSettings();
|
||||
|
||||
QVariant types_to_qvariant(const char *key, const char *value) const;
|
||||
|
||||
static ukuiStyleConfSettings *globalInstance();
|
||||
|
||||
QVariant get(const QString &key) const;
|
||||
|
||||
void set(const QString &key, const QVariant &value);
|
||||
|
||||
bool trySet(const QString &key, const QVariant &value);
|
||||
|
||||
QStringList keys() const;
|
||||
|
||||
void reset(const QString &key);
|
||||
|
||||
static bool isSettingsAvailable(const QString &schema_id);
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed(const QString &key);
|
||||
|
||||
private:
|
||||
KSettings *ukuistyle_settings = NULL;
|
||||
long signal_handler_id;
|
||||
};
|
||||
|
||||
#endif // UKUISTYLECONFSETTINGS_H
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -26,6 +26,9 @@
|
|||
#include "libqt5-ukui-style_global.h"
|
||||
#include <QGSettings>
|
||||
|
||||
//Fix me:after so
|
||||
//#include "ukui-style-conf-settings.h"
|
||||
|
||||
/*!
|
||||
* \brief The UKUIStyleSettings class
|
||||
* \details
|
||||
|
|
|
@ -0,0 +1,279 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(qt5-ukui-filedialog)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(QT_MIN_VERSION "5.12.0")
|
||||
set(KF5_MIN_VERSION "5.66.0")
|
||||
|
||||
# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
|
||||
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
|
||||
# They need to be set before the find_package(Qt5 ...) call.
|
||||
|
||||
#if(ANDROID)
|
||||
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
|
||||
# if (ANDROID_ABI STREQUAL "armeabi-v7a")
|
||||
# set(ANDROID_EXTRA_LIBS
|
||||
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
|
||||
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
|
||||
# endif()
|
||||
#endif()
|
||||
|
||||
find_package(Qt5Gui)
|
||||
message(${imported_location})
|
||||
set(LIB_PATH ${imported_location})
|
||||
get_filename_component(PARENT_PATH "${LIB_PATH}" PATH)
|
||||
get_filename_component(PARENT_PATH "${PARENT_PATH}" PATH)
|
||||
message("qt5-ukui-filedialog PARENT_PATH: ${PARENT_PATH}")
|
||||
set(TARGET_PATH ${PARENT_PATH})
|
||||
|
||||
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
|
||||
DBus
|
||||
Widgets
|
||||
X11Extras
|
||||
)
|
||||
|
||||
include_directories(${Qt5Widgets_PRIVATE_INCLUDE_DIRS})
|
||||
include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS})
|
||||
|
||||
|
||||
find_package(Qt5LinguistTools)
|
||||
|
||||
find_package(KF5WindowSystem ${KF5_MIN_VERSION} CONFIG REQUIRED COMPONENTS)
|
||||
find_package(KF5Wayland CONFIG REQUIRED COMPONENTS)
|
||||
|
||||
find_package(X11)
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(QGSETTINGS REQUIRED gsettings-qt)
|
||||
pkg_check_modules(PEONY REQUIRED peony)
|
||||
pkg_check_modules(REQUIRED kysdk-waylandhelper)
|
||||
pkg_check_modules(GLIB2 REQUIRED glib-2.0 gio-2.0 )
|
||||
pkg_check_modules(KYSDKWAYLANDHELPER REQUIRED kysdk-waylandhelper)
|
||||
pkg_check_modules(KYSDKCONF2 REQUIRED kysdk-conf2)
|
||||
|
||||
include_directories(${QGSETTINGS_INCLUDE_DIRS})
|
||||
include_directories(${GLIB2_INCLUDE_DIRS})
|
||||
|
||||
if (PEONY_FOUND)
|
||||
include_directories(${PEONY_INCLUDE_DIRS})
|
||||
link_directories(${PEONY_LIBRARY_DIRS})
|
||||
endif()
|
||||
if (KYSDKWAYLANDHELPER_FOUND)
|
||||
include_directories(${KYSDKWAYLANDHELPER_INCLUDE_DIRS})
|
||||
link_directories(${KYSDKWAYLANDHELPER_LIBRARY_DIRS})
|
||||
endif()
|
||||
if (QGSETTINGS_FOUND)
|
||||
include_directories(${QGSETTINGS_INCLUDE_DIRS})
|
||||
link_directories(${QGSETTINGS_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
if (KYSDKCONF2_FOUND)
|
||||
include_directories(${KYSDKCONF2_INCLUDE_DIRS})
|
||||
link_directories(${KYSDKCONF2_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
include_directories(../libqt5-ukui-style/)
|
||||
|
||||
file(GLOB_RECURSE TS_FILES
|
||||
translations/qt5-ukui-filedialog_zh_HK.ts
|
||||
translations/qt5-ukui-filedialog_zh_Hant.ts
|
||||
translations/qt5-ukui-filedialog_zh_Hans.ts
|
||||
translations/qt5-ukui-filedialog_zh_CN.ts
|
||||
translations/qt5-ukui-filedialog_ug.ts
|
||||
translations/qt5-ukui-filedialog_tr.ts
|
||||
translations/qt5-ukui-filedialog_mn.ts
|
||||
translations/qt5-ukui-filedialog_ky.ts
|
||||
translations/qt5-ukui-filedialog_kk.ts
|
||||
translations/qt5-ukui-filedialog_fr.ts
|
||||
translations/qt5-ukui-filedialog_fa.ts
|
||||
translations/qt5-ukui-filedialog_es.ts
|
||||
translations/qt5-ukui-filedialog_en_US.ts
|
||||
translations/qt5-ukui-filedialog_de.ts
|
||||
translations/qt5-ukui-filedialog_cs.ts
|
||||
translations/qt5-ukui-filedialog_bo_CN.ts
|
||||
)
|
||||
|
||||
set(Sources
|
||||
sidebar.cpp
|
||||
kyfiledialogprivate.cpp
|
||||
kyfiledialog.cpp
|
||||
uikyfiledialog.cpp
|
||||
pathbar.cpp
|
||||
menutoolbutoon.cpp
|
||||
filedialogplugin.cpp
|
||||
sidebar.h
|
||||
kyfiledialogprivate.h
|
||||
uikyfiledialog.h
|
||||
pathbar.h
|
||||
menutoolbutoon.h
|
||||
kyfiledialog.h
|
||||
filedialogplugin.h
|
||||
filedialogplugin_global.h
|
||||
filedialoginterface.h
|
||||
debug.h
|
||||
)
|
||||
|
||||
set(Json
|
||||
filedialogplugin.json)
|
||||
|
||||
# i18n
|
||||
set(UKUI_TRANSLATIONS_DIR "/usr/share/qt5-ukui-platformtheme")
|
||||
add_definitions(
|
||||
-DUKUI_TRANSLATIONS_DIR="${UKUI_TRANSLATIONS_DIR}"
|
||||
)
|
||||
if (NOT DEFINED UPDATE_TRANSLATIONS)
|
||||
set(UPDATE_TRANSLATIONS "No")
|
||||
endif()
|
||||
|
||||
# To create a new ts file: lupdate -recursive . -target-language en_US -ts translations/en_US.ts -no-ui-lines
|
||||
#file(GLOB TS_FILES "${CMAKE_CURRENT_SOURCE_DIR}/translations/*.ts")
|
||||
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${TS_FILES})
|
||||
|
||||
|
||||
# cmake -DUPDATE_TRANSLATIONS=yes
|
||||
if (UPDATE_TRANSLATIONS)
|
||||
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
|
||||
else()
|
||||
qt5_add_translation(QM_FILES ${TS_FILES})
|
||||
endif()
|
||||
|
||||
MESSAGE("QM_FILES PATH: ${QM_FILES}")
|
||||
|
||||
add_custom_target(translations ALL DEPENDS ${QM_FILES})
|
||||
|
||||
add_library(qt5-ukui-filedialog MODULE ${Sources} ${Json} ${TS_FILES})
|
||||
|
||||
target_link_libraries(qt5-ukui-filedialog
|
||||
Qt5::Widgets
|
||||
Qt5::DBus
|
||||
Qt5::Gui
|
||||
Qt5::X11Extras
|
||||
KF5::WaylandClient
|
||||
KF5::WindowSystem
|
||||
${QGSETTINGS_LIBRARIES}
|
||||
${KYSDKWAYLANDHELPER_LIBRARIES}
|
||||
xcb
|
||||
glib-2.0
|
||||
${PEONY_LIBRARIES}
|
||||
${XCB_LIBS}
|
||||
qt5-ukui-style
|
||||
${KYSDKCONF2_LIBRARIES}
|
||||
)
|
||||
|
||||
add_definitions(-DQT5UKUIPLATFORMTHEME_LIBRARY)
|
||||
add_definitions(-DQT_DEPRECATED_WARNINGS)
|
||||
add_definitions(-DQT_MESSAGELOGCONTEXT)
|
||||
|
||||
if(UNIX)
|
||||
MESSAGE("libqt5-ukui-filedialog TARGET_PATH: ${TARGET_PATH}")
|
||||
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${TARGET_PATH}/platformthemes/)
|
||||
|
||||
install(FILES ${QM_FILES} DESTINATION "${UKUI_TRANSLATIONS_DIR}")
|
||||
endif()
|
||||
|
||||
set(test_libs
|
||||
Qt5::Widgets
|
||||
glib-2.0
|
||||
peony
|
||||
)
|
||||
|
||||
SET(_code "
|
||||
#include <glib-object.h>
|
||||
#include <peony-qt/search-vfs-uri-parser.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
Peony::SearchVFSUriParser::addSearchKey(\"\", true);
|
||||
return 0;
|
||||
}")
|
||||
SET(_file ${CMAKE_CURRENT_BINARY_DIR}/DetermineHavePeonyInterface.cpp)
|
||||
FILE(WRITE "${_file}" "${_code}")
|
||||
TRY_COMPILE(HAVE_PEONY_INTERFACE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
"${_file}"
|
||||
LINK_LIBRARIES ${test_libs}
|
||||
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${GLIB2_INCLUDE_DIRS} ${PEONY_INCLUDE_DIRS}"
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
MESSAGE("Build output: ${OUTPUT} HAVE_PEONY_INTERFACE: ${HAVE_PEONY_INTERFACE}")
|
||||
|
||||
if(HAVE_PEONY_INTERFACE)
|
||||
add_definitions(-DHAVE_PEONY_INTERFACE=1)
|
||||
endif()
|
||||
|
||||
|
||||
#set(OPEN_ACTIONS_SEPARATOR "open-actions-seperator")
|
||||
#set(CREATE_ACTIONS_SEPARATOR "create-actions-seperator")
|
||||
#set(VIEW_ACTIONS_SEPARATOR "view-actions-seperator")
|
||||
#set(FILE_OPERATION_ACTIONS_SEPARATOR "file-operation-actions-seperator")
|
||||
#set(PLUGIN_ACTIONS_SEPARATOR "plugin-actions-seperator")
|
||||
#set(PROPERTIES_ACTIONS_SEPARATOR "properties-actions-seperator")
|
||||
#set(COMPUTER_ACTIONS_SEPARATOR "computer-actions-seperator")
|
||||
#set(TRASH_ACTIONS_SEPARATOR "trash-actions-seperator")
|
||||
#set(OPEN_IN_NEW_WINDOW_ACTION "open-in-new-window-action")
|
||||
#set(OPEN_IN_NEW_TAB_ACTION "open-in-new-tab-action")
|
||||
#set(ADD_TO_BOOKMARK_ACTION "add-to-bookmark-action")
|
||||
#set(OPEN_ACTION "open-action")
|
||||
#set(OPEN_WITH_ACTION "open-with-action")
|
||||
#set(OPEN_SELECTED_FILES_ACTION "open-selected-files-action")
|
||||
#set(CREATE_ACTION "create-action")
|
||||
#set(VIEW_TYPE_ACTION "view-type-action")
|
||||
#set(SORT_TYPE_ACTION "sort-type-action")
|
||||
#set(SORT_ORDER_ACTION "sort-order-action")
|
||||
#set(SORT_PREFERENCES_ACTION "sort-preferences-action")
|
||||
#set(COPY_ACTION "copy-action")
|
||||
#set(CUT_ACTION "cut-action")
|
||||
#set(TRASH_ACTION "trash-action")
|
||||
#set(DELETE_ACTION "delete-action")
|
||||
#set(RENAME_ACTION "rename-action")
|
||||
#set(PASTE_ACTION "paste-action")
|
||||
#set(REFRESH_ACTION "refresh-action")
|
||||
#set(SELECT_ALL_ACTION "select-all-action")
|
||||
#set(REVERSE_SELECT_ACTION "reverse-select-action")
|
||||
#set(PROPERTIES_ACTION "properties-action")
|
||||
#set(FORMAT_ACTION "format-action")
|
||||
#set(CLEAN_THE_TRASH_ACTION "clean-the-trash-action")
|
||||
#set(RESTORE_ACTION "restore-action")
|
||||
#set(CLEAN_THE_RECENT_ACTION "clean-the-recent-action")
|
||||
|
||||
#add_compile_definitions(OPEN_ACTIONS_SEPARATOR=${OPEN_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(CREATE_ACTIONS_SEPARATOR=${CREATE_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(VIEW_ACTIONS_SEPARATOR=${VIEW_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(FILE_OPERATION_ACTIONS_SEPARATOR=${FILE_OPERATION_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(PLUGIN_ACTIONS_SEPARATOR=${PLUGIN_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(PROPERTIES_ACTIONS_SEPARATOR=${PROPERTIES_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(COMPUTER_ACTIONS_SEPARATOR=${COMPUTER_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(TRASH_ACTIONS_SEPARATOR=${TRASH_ACTIONS_SEPARATOR})
|
||||
#add_compile_definitions(OPEN_IN_NEW_WINDOW_ACTION=${OPEN_IN_NEW_WINDOW_ACTION})
|
||||
#add_compile_definitions(OPEN_IN_NEW_TAB_ACTION=${OPEN_IN_NEW_TAB_ACTION})
|
||||
#add_compile_definitions(ADD_TO_BOOKMARK_ACTION=${ADD_TO_BOOKMARK_ACTION})
|
||||
#add_compile_definitions(OPEN_ACTION=${OPEN_ACTION})
|
||||
#add_compile_definitions(OPEN_WITH_ACTION=${OPEN_WITH_ACTION})
|
||||
#add_compile_definitions(OPEN_SELECTED_FILES_ACTION=${OPEN_SELECTED_FILES_ACTION})
|
||||
#add_compile_definitions(CREATE_ACTION=${CREATE_ACTION})
|
||||
#add_compile_definitions(VIEW_TYPE_ACTION=${VIEW_TYPE_ACTION})
|
||||
#add_compile_definitions(SORT_TYPE_ACTION=${SORT_TYPE_ACTION})
|
||||
#add_compile_definitions(SORT_ORDER_ACTION=${SORT_ORDER_ACTION})
|
||||
#add_compile_definitions(SORT_PREFERENCES_ACTION=${SORT_PREFERENCES_ACTION})
|
||||
#add_compile_definitions(COPY_ACTION=${COPY_ACTION})
|
||||
#add_compile_definitions(CUT_ACTION=${CUT_ACTION})
|
||||
#add_compile_definitions(TRASH_ACTION=${TRASH_ACTION})
|
||||
#add_compile_definitions(DELETE_ACTION=${DELETE_ACTION})
|
||||
#add_compile_definitions(RENAME_ACTION=${RENAME_ACTION})
|
||||
#add_compile_definitions(PASTE_ACTION=${PASTE_ACTION})
|
||||
#add_compile_definitions(REFRESH_ACTION=${REFRESH_ACTION})
|
||||
#add_compile_definitions(SELECT_ALL_ACTION=${SELECT_ALL_ACTION})
|
||||
#add_compile_definitions(REVERSE_SELECT_ACTION=${REVERSE_SELECT_ACTION})
|
||||
#add_compile_definitions(PROPERTIES_ACTION=${PROPERTIES_ACTION})
|
||||
#add_compile_definitions(FORMAT_ACTION=${FORMAT_ACTION})
|
||||
#add_compile_definitions(CLEAN_THE_TRASH_ACTION=${CLEAN_THE_TRASH_ACTION})
|
||||
#add_compile_definitions(RESTORE_ACTION=${RESTORE_ACTION})
|
||||
#add_compile_definitions(CLEAN_THE_RECENT_ACTION=${CLEAN_THE_RECENT_ACTION})
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef PDEBUG_H
|
||||
#define PDEBUG_H
|
||||
#include <QDebug>
|
||||
#include <QDateTime>
|
||||
|
||||
#define SERVICE "com.kylin.statusmanager.interface"
|
||||
#define PATH "/"
|
||||
#define INTERFACE "com.kylin.statusmanager.interface"
|
||||
|
||||
#define UKUI_SEARCH_SCHEMAS "org.ukui.search.settings"
|
||||
#define SEARCH_METHOD_KEY "fileIndexEnable"
|
||||
|
||||
namespace UKUIFileDialog {
|
||||
|
||||
class NullDebug
|
||||
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
template<typename T>
|
||||
|
||||
NullDebug & operator <<(const T&){return *this;}
|
||||
|
||||
};
|
||||
inline NullDebug nullDebug(){return NullDebug();}
|
||||
}
|
||||
|
||||
//#define LOG_TIMI
|
||||
|
||||
#ifdef LOG_TIMI
|
||||
|
||||
# define pDebug qDebug() << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss:zzz") << " platformtheme input:"
|
||||
|
||||
#else
|
||||
|
||||
# define pDebug UKUIFileDialog::nullDebug()
|
||||
|
||||
#endif
|
||||
|
||||
#endif // KYFILEDIALOG_H
|
|
@ -0,0 +1,17 @@
|
|||
#ifndef FILEDIALOGINTERFACE_H
|
||||
#define FILEDIALOGINTERFACE_H
|
||||
#include "qpa/qplatformdialoghelper.h"
|
||||
//定义接口
|
||||
class FileDialogInterface
|
||||
{
|
||||
public:
|
||||
virtual ~FileDialogInterface() {}
|
||||
virtual QPlatformDialogHelper* create() = 0;
|
||||
};
|
||||
|
||||
//一定是唯一的标识符
|
||||
#define FileDialogInterface_iid "UKUIPlatformTheme.Plugin.FileDialogInterface"
|
||||
|
||||
Q_DECLARE_INTERFACE(FileDialogInterface, FileDialogInterface_iid)
|
||||
|
||||
#endif // FILEDIALOGINTERFACE_H
|
|
@ -0,0 +1,12 @@
|
|||
#include "filedialogplugin.h"
|
||||
#include <QDebug>
|
||||
#include "kyfiledialog.h"
|
||||
#if QT_VERSION < 0x050000
|
||||
Q_EXPORT_PLUGIN2(plugin, myPlugin)
|
||||
#endif // QT_VERSION < 0x050000
|
||||
|
||||
QPlatformDialogHelper *FileDialogPlugin::create()
|
||||
{
|
||||
return new UKUIFileDialog::KyFileDialogHelper;
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
#ifndef MYPLUGIN_H
|
||||
#define MYPLUGIN_H
|
||||
#include <QtPlugin>
|
||||
#include "filedialoginterface.h"
|
||||
class FileDialogPlugin : public QObject,public FileDialogInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
#if QT_VERSION >= 0x050000
|
||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QGenericPluginFactoryInterface" FILE "filedialogplugin.json")
|
||||
Q_INTERFACES(FileDialogInterface);
|
||||
#endif // QT_VERSION >= 0x050000
|
||||
public:
|
||||
QPlatformDialogHelper *create();
|
||||
};
|
||||
#endif
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"Keys": [ "UKUIFiledialog" ]
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
#ifndef FILEDIALOGPLUGIN_GLOBAL_H
|
||||
#define FILEDIALOGPLUGIN_GLOBAL_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
|
||||
#if defined(QT5UKUIFILEDIALOG_LIBRARY)
|
||||
# define FILEDIALOGPLUGIN_EXPORT Q_DECL_EXPORT
|
||||
#else
|
||||
# define FILEDIALOGPLUGIN_EXPORT Q_DECL_IMPORT
|
||||
#endif
|
||||
|
||||
#endif // FILEDIALOGPLUGIN_GLOBAL_H
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,346 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
#ifndef KYNATIVEFILEDIALOG_H
|
||||
#define KYNATIVEFILEDIALOG_H
|
||||
#include <QDialog>
|
||||
#include <QDir>
|
||||
#include <QFileDialog>
|
||||
#include <QFileSystemModel>
|
||||
#include <QCompleter>
|
||||
#include <QListView>
|
||||
#include <QStringListModel>
|
||||
#include <QTranslator>
|
||||
#include "qpa/qplatformdialoghelper.h"
|
||||
#include <peony-qt/FMWindowIface.h>
|
||||
|
||||
#define OPEN_ACTIONS_SEPARATOR "open-actions-seperator"
|
||||
#define CREATE_ACTIONS_SEPARATOR "create-actions-seperator"
|
||||
#define VIEW_ACTIONS_SEPARATOR "view-actions-seperator"
|
||||
#define FILE_OPERATION_ACTIONS_SEPARATOR "file-operation-actions-seperator"
|
||||
#define PLUGIN_ACTIONS_SEPARATOR "plugin-actions-seperator"
|
||||
#define PROPERTIES_ACTIONS_SEPARATOR "properties-actions-seperator"
|
||||
#define COMPUTER_ACTIONS_SEPARATOR "computer-actions-seperator"
|
||||
#define TRASH_ACTIONS_SEPARATOR "trash-actions-seperator"
|
||||
#define OPEN_IN_NEW_WINDOW_ACTION "open-in-new-window-action"
|
||||
#define OPEN_IN_NEW_TAB_ACTION "open-in-new-tab-action"
|
||||
#define ADD_TO_BOOKMARK_ACTION "add-to-bookmark-action"
|
||||
#define OPEN_ACTION "open-action"
|
||||
#define OPEN_WITH_ACTION "open-with-action"
|
||||
#define OPEN_SELECTED_FILES_ACTION "open-selected-files-action"
|
||||
#define CREATE_ACTION "create-action"
|
||||
#define VIEW_TYPE_ACTION "view-type-action"
|
||||
#define SORT_TYPE_ACTION "sort-type-action"
|
||||
#define SORT_ORDER_ACTION "sort-order-action")
|
||||
#define SORT_PREFERENCES_ACTION "sort-preferences-action"
|
||||
#define COPY_ACTION "copy-action"
|
||||
#define CUT_ACTION "cut-action"
|
||||
#define TRASH_ACTION "trash-action"
|
||||
#define DELETE_ACTION "delete-action"
|
||||
#define RENAME_ACTION "rename-action"
|
||||
#define PASTE_ACTION "paste-action"
|
||||
#define REFRESH_ACTION "refresh-action"
|
||||
#define SELECT_ALL_ACTION "select-all-action"
|
||||
#define REVERSE_SELECT_ACTION "reverse-select-action"
|
||||
#define PROPERTIES_ACTION "properties-action"
|
||||
#define FORMAT_ACTION "format-action"
|
||||
#define CLEAN_THE_TRASH_ACTION "clean-the-trash-action"
|
||||
#define RESTORE_ACTION "restore-action"
|
||||
#define CLEAN_THE_RECENT_ACTION "clean-the-recent-action"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui { class KyNativeFileDialog; }
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace Peony {
|
||||
class DirectoryViewContainer;
|
||||
class DirectoryViewWidget;
|
||||
class FMWindowIface;
|
||||
}
|
||||
|
||||
namespace UKUIFileDialog {
|
||||
|
||||
class Ui_KyFileDialog;
|
||||
class FileDialogSideBar;
|
||||
class FileDialogPathBar;
|
||||
class KyNativeFileDialogPrivate;
|
||||
class KyFileDialogHelper;
|
||||
|
||||
class KyNativeFileDialog : public QDialog, public Peony::FMWindowIface
|
||||
{
|
||||
Q_OBJECT
|
||||
friend class KyFileDialogHelper;
|
||||
|
||||
public:
|
||||
enum ViewMode { List, Icon };
|
||||
KyNativeFileDialog(QWidget *parent = nullptr);
|
||||
~KyNativeFileDialog();
|
||||
|
||||
Peony::FMWindowIface *create(const QString &uri);
|
||||
Peony::FMWindowIface *create(const QStringList &uris);
|
||||
|
||||
|
||||
const QString getCurrentUri();
|
||||
const QStringList getCurrentSelections();
|
||||
const QStringList getCurrentAllFileUris();
|
||||
const QStringList getCurrentSelectionsList();
|
||||
const QList<std::shared_ptr<Peony::FileInfo>> getCurrentSelectionFileInfos();
|
||||
|
||||
void setCurrentSelections(QStringList selections);
|
||||
|
||||
Qt::SortOrder getCurrentSortOrder();
|
||||
int getCurrentSortColumn();
|
||||
|
||||
bool getWindowShowHidden();
|
||||
bool getWindowUseDefaultNameSortOrder();
|
||||
bool getWindowSortFolderFirst();
|
||||
|
||||
void refresh();
|
||||
void forceStopLoading();
|
||||
|
||||
void setShowHidden(bool showHidden);
|
||||
void setUseDefaultNameSortOrder(bool use);
|
||||
void setSortFolderFirst(bool set);
|
||||
|
||||
void setCurrentSelectionUris(const QStringList &uris);
|
||||
void setCurrentSortOrder (Qt::SortOrder order);
|
||||
void setCurrentSortColumn (int sortColumn);
|
||||
|
||||
void editUri(const QString &uri);
|
||||
void editUris(const QStringList &uris);
|
||||
|
||||
bool getFilterWorking();
|
||||
|
||||
void beginSwitchView(const QString &viewId);
|
||||
|
||||
|
||||
void setDirectory(const QString &directory);
|
||||
void setDirectory(const QDir &directory);
|
||||
QDir directory() const;
|
||||
|
||||
void selectFile(const QString &filename);
|
||||
QStringList selectedFiles() const;
|
||||
|
||||
void setDirectoryUrl(const QUrl &directory);
|
||||
QUrl directoryUrl() const;
|
||||
|
||||
void selectUrl(const QUrl &url);
|
||||
QList<QUrl> selectedUrls() const;
|
||||
|
||||
void setNameFilterDetailsVisible(bool enabled);
|
||||
bool isNameFilterDetailsVisible() const;
|
||||
|
||||
void setNameFilter(const QString &filter);
|
||||
void setNameFilters(const QStringList &filters);
|
||||
QStringList nameFilters() const;
|
||||
void selectNameFilter(const QString &filter);
|
||||
QString selectedMimeTypeFilter() const;
|
||||
QString selectedNameFilter() const;
|
||||
void selectNameFilterByIndex(int index);
|
||||
void selectNameFilterCurrentIndex(int index);
|
||||
int selectNameFilterIndex() const;
|
||||
|
||||
QDir::Filters filter();
|
||||
void setFilter(QDir::Filters filters);
|
||||
|
||||
void setViewMode(ViewMode mode);
|
||||
ViewMode viewMode() const;
|
||||
|
||||
void setFileMode(QFileDialog::FileMode mode);
|
||||
QFileDialog::FileMode fileMode();
|
||||
|
||||
void setAcceptMode(QFileDialog::AcceptMode mode);
|
||||
QFileDialog::AcceptMode acceptMode() const;
|
||||
|
||||
void setLabelText(QFileDialog::DialogLabel label, const QString &text);
|
||||
QString labelText(QFileDialog::DialogLabel label) const;
|
||||
|
||||
void setOptions(QFileDialog::Options options);
|
||||
void setOption(QFileDialog::Option option, bool on = true);
|
||||
bool testOption(QFileDialog::Option option) const;
|
||||
QFileDialog::Options options() const;
|
||||
void setCurrentInputName(const QString &name);
|
||||
Peony::DirectoryViewContainer *getCurrentPage();
|
||||
Peony::DirectoryViewContainer *getCurrentPage() const;
|
||||
|
||||
Peony::DirectoryViewWidget *containerView() const;
|
||||
|
||||
void setComBoxItems(const QStringList &filters);
|
||||
|
||||
bool isDir(QString path);
|
||||
|
||||
void updateMaximizeState();
|
||||
|
||||
void intiContainerSort();
|
||||
|
||||
void refreshContainerSort();
|
||||
|
||||
void refreshCompleter();
|
||||
|
||||
bool doSave(QStringList sFiles);
|
||||
|
||||
bool doOpen(QStringList sFiles);
|
||||
|
||||
bool saveMessageBox(QString name);
|
||||
|
||||
void setHelper(KyFileDialogHelper* helepr);
|
||||
|
||||
void setShortCuts();
|
||||
|
||||
void initialViewId();
|
||||
|
||||
void delayShow();
|
||||
|
||||
void discardDelayedShow();
|
||||
|
||||
QString copyEditText();
|
||||
|
||||
void installTranslate(QString local);
|
||||
|
||||
Q_SIGNALS:
|
||||
void switchViewRequest(const QString &viewId);
|
||||
|
||||
void fileSelected(const QUrl &file);
|
||||
void filesSelected(const QList<QUrl> &files);
|
||||
void currentChanged(const QUrl &path);
|
||||
void directoryEntered(const QUrl &directory);
|
||||
void selectedNameFilterChanged();
|
||||
void filterSelected(const QString &filter);
|
||||
void locationChangeEnd();
|
||||
|
||||
public Q_SLOTS:
|
||||
void goToUri(const QString &uri, bool addToHistory = true, bool forceUpdate = false);
|
||||
void goBack();
|
||||
void goForward();
|
||||
void goToParent();
|
||||
void onSwitchView();
|
||||
void updateWindowState();
|
||||
QString selectName();
|
||||
void updateStatusBar();
|
||||
void onNewFolder();
|
||||
void setSortType();
|
||||
void searchButtonClicked();
|
||||
void setSearchMode(bool mode);
|
||||
void lineEditTextChange(QString text);
|
||||
void containerMenuRequest(const QPoint &pos);
|
||||
void updateTableModel(bool tableMode);
|
||||
void updateSearchProgressBar();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
void paintEvent(QPaintEvent *e);
|
||||
void keyPressEvent(QKeyEvent *e);
|
||||
|
||||
private:
|
||||
Ui_KyFileDialog *mKyFileDialogUi = nullptr;
|
||||
QScopedPointer<KyNativeFileDialogPrivate> d_ptr;
|
||||
Q_DECLARE_PRIVATE_D(qGetPtrHelper(d_ptr), KyNativeFileDialog)
|
||||
void onAcceptButtonClicked();
|
||||
void onRejectButtonClicked();
|
||||
void onCurrentInputNameChanged();
|
||||
void handleEnterPressed();
|
||||
void updateAcceptButtonState();
|
||||
bool checkSaveFileExsits(QString path);
|
||||
void isTableModel();
|
||||
|
||||
private:
|
||||
bool m_searchMode = false;
|
||||
// QFileSystemModel *m_fileSystemModel = nullptr;
|
||||
QCompleter * m_completer = nullptr;
|
||||
QListView *m_listView = nullptr;
|
||||
QStringList m_CurrentPathAllFiles;
|
||||
KyFileDialogHelper *m_fileDialogHelper = nullptr;
|
||||
bool isInitialGoToUriNum = true;
|
||||
bool m_shortcutsSet = false;
|
||||
QString m_lastSearchPath;
|
||||
bool m_isClearSearchKey = false;
|
||||
QStringListModel *m_model = nullptr;
|
||||
QString m_copyEditText;
|
||||
bool m_istableModel = false;
|
||||
QMap<int, QString> m_nameFilterMap;
|
||||
QStringList m_uris_to_edit;
|
||||
bool m_needSearch = false;
|
||||
|
||||
QTranslator *m_translator = nullptr;
|
||||
QTranslator *m_translator0 = nullptr;
|
||||
QTranslator *m_translator1 = nullptr;
|
||||
QTranslator *m_translator2 = nullptr;
|
||||
QTranslator *m_translator3 = nullptr;
|
||||
|
||||
};
|
||||
|
||||
class KyFileDialogHelper : public QPlatformFileDialogHelper
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit KyFileDialogHelper();
|
||||
|
||||
~KyFileDialogHelper() override;
|
||||
|
||||
|
||||
virtual void exec() override;
|
||||
virtual bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent) override;
|
||||
virtual void hide() override;
|
||||
|
||||
virtual bool defaultNameFilterDisables() const override;
|
||||
virtual void setDirectory(const QUrl &directory) override;
|
||||
virtual QUrl directory() const override;
|
||||
virtual void selectFile(const QUrl &filename) override;
|
||||
virtual QList<QUrl> selectedFiles() const override;
|
||||
virtual void setFilter() override;
|
||||
virtual void selectNameFilter(const QString &filter) override;
|
||||
|
||||
virtual void selectMimeTypeFilter(const QString &filter) override;
|
||||
virtual QString selectedNameFilter() const override;
|
||||
virtual QString selectedMimeTypeFilter() const override;
|
||||
|
||||
virtual bool isSupportedUrl(const QUrl &url) const override;
|
||||
|
||||
bool isViewInitialFinished();
|
||||
|
||||
bool isShow();
|
||||
|
||||
public Q_SLOTS:
|
||||
void viewInitialFinished();
|
||||
Q_SIGNALS:
|
||||
void fileSelected(const QUrl &file);
|
||||
void filesSelected(const QList<QUrl> &files);
|
||||
void currentChanged(const QUrl &path);
|
||||
void directoryEntered(const QUrl &directory);
|
||||
void filterSelected(const QString &filter);
|
||||
|
||||
|
||||
private:
|
||||
KyNativeFileDialog* mKyFileDialog = nullptr;
|
||||
QUrl m_selectedFiles;
|
||||
bool m_viewInitialFinished = false;
|
||||
bool m_isShow = false;
|
||||
QUrl m_initialDirectory;
|
||||
QList<QUrl> m_initialSelectFiles;
|
||||
|
||||
private:
|
||||
void initDialog();
|
||||
};
|
||||
}
|
||||
|
||||
#endif // KYNATIVEFILEDIALOG_H
|
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
#include "kyfiledialogprivate.h"
|
||||
#include <QFileDialog>
|
||||
#include <QTimer>
|
||||
#include <QLineEdit>
|
||||
#include "kyfiledialog.h"
|
||||
#include "uikyfiledialog.h"
|
||||
using namespace UKUIFileDialog;
|
||||
KyNativeFileDialogPrivate::KyNativeFileDialogPrivate()
|
||||
{
|
||||
// Q_Q(KyNativeFileDialog);
|
||||
|
||||
m_timer = new QTimer;
|
||||
// m_container = q->m_container;
|
||||
}
|
||||
|
||||
KyNativeFileDialogPrivate::~KyNativeFileDialogPrivate()
|
||||
{
|
||||
if(m_timer){
|
||||
delete m_timer;
|
||||
m_timer = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
QStringList KyNativeFileDialogPrivate::typedFiles()
|
||||
{
|
||||
/*
|
||||
Q_Q(KyNativeFileDialog);
|
||||
QStringList files;
|
||||
QString editText = q->mKyFileDialogUi->m_fileNameEdit->text();
|
||||
if (!editText.contains(QLatin1Char('"'))) {
|
||||
#ifdef Q_OS_UNIX
|
||||
const QString prefix = q->directory().absolutePath() + QDir::separator();
|
||||
if (QFile::exists(prefix + editText))
|
||||
files << editText;
|
||||
else
|
||||
files << qt_tildeExpansion(editText);
|
||||
#else
|
||||
files << editText;
|
||||
Q_UNUSED(q)
|
||||
#endif
|
||||
} else {
|
||||
// " is used to separate files like so: "file1" "file2" "file3" ...
|
||||
// ### need escape character for filenames with quotes (")
|
||||
QStringList tokens = editText.split(QLatin1Char('\"'));
|
||||
for (int i=0; i<tokens.size(); ++i) {
|
||||
if ((i % 2) == 0)
|
||||
continue; // Every even token is a separator
|
||||
#ifdef Q_OS_UNIX
|
||||
const QString token = tokens.at(i);
|
||||
const QString prefix = q->directory().absolutePath() + QDir::separator();
|
||||
if (QFile::exists(prefix + token))
|
||||
files << token;
|
||||
else
|
||||
files << qt_tildeExpansion(token);
|
||||
#else
|
||||
files << toInternal(tokens.at(i));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return addDefaultSuffixToFiles(files);
|
||||
|
||||
*/
|
||||
return QStringList();
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
#ifndef KYNATIVEFILEDIALOGPRIVATE_H
|
||||
#define KYNATIVEFILEDIALOGPRIVATE_H
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QTimer>
|
||||
|
||||
namespace Peony {
|
||||
class DirectoryViewContainer;
|
||||
}
|
||||
namespace UKUIFileDialog {
|
||||
|
||||
class KyFileDialogHelper;
|
||||
class KyNativeFileDialogPrivate
|
||||
{
|
||||
friend class KyNativeFileDialog;
|
||||
public:
|
||||
KyNativeFileDialogPrivate();
|
||||
~KyNativeFileDialogPrivate();
|
||||
|
||||
private:
|
||||
QStringList typedFiles();
|
||||
|
||||
QStringList nameFilters;
|
||||
QFileDialog::AcceptMode acceptMode;
|
||||
QFileDialog::FileMode fileMode;
|
||||
QFileDialog::Options options;
|
||||
Peony::DirectoryViewContainer *m_container = nullptr;
|
||||
QString currentInputName;
|
||||
QTimer *m_timer = nullptr;
|
||||
QDir::Filters filters = QDir::AllEntries;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // KYNATIVEFILEDIALOGPRIVATE_H
|
||||
/*
|
||||
KyNativeFileDialogPrivate::KyNativeFileDialogPrivate()
|
||||
{
|
||||
// Q_Q(KyNativeFileDialog);
|
||||
|
||||
m_timer = new QTimer;
|
||||
// m_container = q->m_container;
|
||||
}
|
||||
|
||||
QStringList KyNativeFileDialogPrivate::typedFiles() const
|
||||
{
|
||||
Q_Q(KyNativeFileDialog);
|
||||
QStringList files;
|
||||
QString editText = q->mk ->text();
|
||||
if (!editText.contains(QLatin1Char('"'))) {
|
||||
#ifdef Q_OS_UNIX
|
||||
const QString prefix = q->directory().absolutePath() + QDir::separator();
|
||||
if (QFile::exists(prefix + editText))
|
||||
files << editText;
|
||||
else
|
||||
files << qt_tildeExpansion(editText);
|
||||
#else
|
||||
files << editText;
|
||||
Q_UNUSED(q)
|
||||
#endif
|
||||
} else {
|
||||
// " is used to separate files like so: "file1" "file2" "file3" ...
|
||||
// ### need escape character for filenames with quotes (")
|
||||
QStringList tokens = editText.split(QLatin1Char('\"'));
|
||||
for (int i=0; i<tokens.size(); ++i) {
|
||||
if ((i % 2) == 0)
|
||||
continue; // Every even token is a separator
|
||||
#ifdef Q_OS_UNIX
|
||||
const QString token = tokens.at(i);
|
||||
const QString prefix = q->directory().absolutePath() + QDir::separator();
|
||||
if (QFile::exists(prefix + token))
|
||||
files << token;
|
||||
else
|
||||
files << qt_tildeExpansion(token);
|
||||
#else
|
||||
files << toInternal(tokens.at(i));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return addDefaultSuffixToFiles(files);
|
||||
|
||||
return QStringList();
|
||||
}
|
||||
*/
|
|
@ -0,0 +1,98 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
#include "menutoolbutoon.h"
|
||||
#include <QApplication>
|
||||
#include <QDBusInterface>
|
||||
using namespace UKUIFileDialog;
|
||||
|
||||
static ToolButtonStyle *global_instance = nullptr;
|
||||
|
||||
MenuToolButton::MenuToolButton(QWidget *parent) : QToolButton(parent)
|
||||
{
|
||||
setStyle(ToolButtonStyle::getStyle());
|
||||
|
||||
QDBusInterface *interFace = new QDBusInterface(SERVICE, PATH, INTERFACE, QDBusConnection::sessionBus());
|
||||
if(interFace->isValid()){
|
||||
connect(interFace, SIGNAL(mode_change_signal(bool)), this, SLOT(tableModeChanged(bool)));
|
||||
}
|
||||
}
|
||||
|
||||
void MenuToolButton::tableModeChanged(bool isTableMode)
|
||||
{
|
||||
setStyle(ToolButtonStyle::getStyle());
|
||||
}
|
||||
|
||||
ToolButtonStyle *ToolButtonStyle::getStyle()
|
||||
{
|
||||
if (!global_instance) {
|
||||
global_instance = new ToolButtonStyle;
|
||||
}
|
||||
return global_instance;
|
||||
}
|
||||
|
||||
int ToolButtonStyle::pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option, const QWidget *widget) const
|
||||
{
|
||||
if (qobject_cast<const QToolButton *>(widget))
|
||||
return 0;
|
||||
|
||||
switch (metric) {
|
||||
case PM_ToolBarIconSize:
|
||||
return 16;
|
||||
case PM_ToolBarSeparatorExtent:
|
||||
return 1;
|
||||
case PM_ToolBarItemSpacing: {
|
||||
return 1;
|
||||
}
|
||||
default:
|
||||
return QProxyStyle::pixelMetric(metric, option, widget);
|
||||
}
|
||||
}
|
||||
|
||||
void ToolButtonStyle::drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const
|
||||
{
|
||||
//This is a "lie". We want to use instant popup menu for tool button, and we aslo
|
||||
//want use popup menu style with this tool button, so we change the related flags
|
||||
//to draw in our expected.
|
||||
if (control == CC_ToolButton) {
|
||||
QStyleOptionToolButton button = *qstyleoption_cast<const QStyleOptionToolButton *>(option);
|
||||
if (button.features.testFlag(QStyleOptionToolButton::HasMenu)) {
|
||||
button.features = QStyleOptionToolButton::None;
|
||||
if (!widget->property("isOptionButton").toBool()) {
|
||||
button.features |= QStyleOptionToolButton::HasMenu;
|
||||
button.features |= QStyleOptionToolButton::MenuButtonPopup;
|
||||
button.subControls |= QStyle::SC_ToolButtonMenu;
|
||||
}
|
||||
return qApp->style()->drawComplexControl(control, &button, painter, widget);
|
||||
}
|
||||
}
|
||||
return qApp->style()->drawComplexControl(control, option, painter, widget);
|
||||
}
|
||||
|
||||
void ToolButtonStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
|
||||
{
|
||||
if (element == PE_IndicatorToolBarSeparator) {
|
||||
return;
|
||||
}
|
||||
return qApp->style()->drawPrimitive(element, option, painter, widget);
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
#ifndef MENUTOOLBUTTON_H
|
||||
#define MENUTOOLBUTTON_H
|
||||
#include <QToolButton>
|
||||
#include <QProxyStyle>
|
||||
#include <QStyleOption>
|
||||
#include <QPainter>
|
||||
namespace UKUIFileDialog {
|
||||
class MenuToolButton : public QToolButton
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MenuToolButton(QWidget *parent = nullptr);
|
||||
~MenuToolButton(){}
|
||||
|
||||
Q_SIGNALS:
|
||||
|
||||
|
||||
public Q_SLOTS:
|
||||
void tableModeChanged(bool isTableMode);
|
||||
|
||||
};
|
||||
|
||||
class ToolButtonStyle : public QProxyStyle
|
||||
{
|
||||
friend class MenuToolButton;
|
||||
friend class HeaderBarContainer;
|
||||
static ToolButtonStyle *getStyle();
|
||||
|
||||
ToolButtonStyle() {}
|
||||
~ToolButtonStyle() {}
|
||||
|
||||
int pixelMetric(PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override;
|
||||
|
||||
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const override;
|
||||
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override;
|
||||
};
|
||||
}
|
||||
#endif // MENUTOOLBUTTON_H
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
#include "pathbar.h"
|
||||
#include <PeonyPathCompleter>
|
||||
#include <PeonyPathBarModel>
|
||||
#include <QDebug>
|
||||
#include <QObject>
|
||||
#include <QDBusInterface>
|
||||
#include <QDBusMessage>
|
||||
#include <peony-qt/file-utils.h>
|
||||
#include "debug.h"
|
||||
#include "settings/ukui-style-settings.h"
|
||||
using namespace UKUIFileDialog;
|
||||
|
||||
FileDialogPathBar::FileDialogPathBar(QWidget *parent) : QWidget(parent)//Peony::AdvancedLocationBar(parent)//QLineEdit(parent)//
|
||||
{
|
||||
setAttribute(Qt::WA_TranslucentBackground);
|
||||
setContentsMargins(0,0,0,0);
|
||||
m_pathBar = new Peony::AdvancedLocationBar(this);
|
||||
|
||||
QDBusInterface *interFace = new QDBusInterface(SERVICE, PATH, INTERFACE, QDBusConnection::sessionBus());
|
||||
if(interFace->isValid()){
|
||||
connect(interFace, SIGNAL(mode_change_signal(bool)), this, SLOT(updateTableModel(bool)));
|
||||
}
|
||||
|
||||
|
||||
QDBusMessage message = QDBusMessage::createMethodCall("com.kylin.statusmanager.interface",
|
||||
"/",
|
||||
"com.kylin.statusmanager.interface",
|
||||
"get_current_tabletmode");
|
||||
QDBusMessage ret = QDBusConnection::sessionBus().call(message);
|
||||
if (ret.type() != QDBusMessage::ReplyMessage)
|
||||
{
|
||||
//从返回参数获取返回值
|
||||
pDebug << "complex type failed!";
|
||||
updateTableModel(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
updateTableModel(ret.arguments()[0].value<bool>());
|
||||
}
|
||||
}
|
||||
|
||||
FileDialogPathBar::~FileDialogPathBar()
|
||||
{
|
||||
m_pathBar->deleteLater();
|
||||
m_pathBar = nullptr;
|
||||
}
|
||||
|
||||
void FileDialogPathBar::updatePath(const QString &uri)
|
||||
{
|
||||
pDebug << "m_pathBar........ updatePath:" << uri << Peony::FileUtils::getEncodedUri(uri);
|
||||
m_pathBar->updateLocation(Peony::FileUtils::urlEncode(uri));
|
||||
// setText(uri);
|
||||
// clearFocus();
|
||||
}
|
||||
|
||||
void FileDialogPathBar::resizeEvent(QResizeEvent *e)
|
||||
{
|
||||
m_pathBar->setFixedWidth(this->width());
|
||||
m_pathBar->setGeometry(0, (this->height() - m_pathBar->height()) / 2, this->width(), m_pathBar->height());
|
||||
}
|
||||
|
||||
Peony::AdvancedLocationBar *FileDialogPathBar::getPathBar()
|
||||
{
|
||||
return m_pathBar;
|
||||
}
|
||||
|
||||
void FileDialogPathBar::updateTableModel(bool isTable)
|
||||
{
|
||||
pDebug << "updateTableModel...." << isTable;
|
||||
// m_pathBar->updateTabletModeValue(isTable);
|
||||
if(isTable){
|
||||
m_pathBar->setFixedHeight(48);
|
||||
this->setFixedHeight(48);
|
||||
}
|
||||
else{
|
||||
m_pathBar->setFixedHeight(36);
|
||||
this->setFixedHeight(36);
|
||||
}
|
||||
pDebug << "m_pathBar height1111:" << m_pathBar->height() << this->height();
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
#ifndef PATHBAR_H
|
||||
#define PATHBAR_H
|
||||
#include <QLineEdit>
|
||||
#include <QResizeEvent>
|
||||
#include <peony-qt/controls/navigation-bar/advanced-location-bar.h>
|
||||
|
||||
namespace UKUIFileDialog {
|
||||
class FileDialogPathBar : public QWidget//public QLineEdit//
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FileDialogPathBar(QWidget *parent = nullptr);
|
||||
~FileDialogPathBar();
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
Peony::AdvancedLocationBar *getPathBar();
|
||||
|
||||
Q_SIGNALS:
|
||||
void goToUriRequest(const QString &uri, bool addToHistory = true);
|
||||
void updateWindowLocationRequest(const QString &uri, bool addHistory, bool forceUpdate = false);
|
||||
void refreshRequest();
|
||||
void searchRequest(const QString &path, const QString &key);
|
||||
|
||||
public Q_SLOTS:
|
||||
void updateTableModel(bool isTable);
|
||||
void updatePath(const QString &uri);
|
||||
private:
|
||||
Peony::AdvancedLocationBar *m_pathBar = nullptr;
|
||||
};
|
||||
}
|
||||
#endif // PATHBAR_H
|
|
@ -0,0 +1,505 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
#include "sidebar.h"
|
||||
#include <QTimer>
|
||||
#include <PeonySideBarModel>
|
||||
#include <QScrollBar>
|
||||
#include <QHeaderView>
|
||||
#include <QPainterPath>
|
||||
#include <QPainter>
|
||||
#include <QDebug>
|
||||
#include <QApplication>
|
||||
#include <QTreeWidget>
|
||||
#include <QMessageBox>
|
||||
#include <QToolTip>
|
||||
#include <QScreen>
|
||||
#include <QDBusInterface>
|
||||
#include "kyfiledialog.h"
|
||||
#include "peony-qt/controls/menu/side-bar-menu/side-bar-menu.h"
|
||||
#include "peony-qt/side-bar-abstract-item.h"
|
||||
#include "peony-qt/volume-manager.h"
|
||||
#include "peony-qt/file-enumerator.h"
|
||||
#include "peony-qt/file-utils.h"
|
||||
#include "peony-qt/file-info.h"
|
||||
#include "settings/ukui-style-settings.h"
|
||||
#include "debug.h"
|
||||
using namespace UKUIFileDialog;
|
||||
|
||||
FileDialogComboBox::FileDialogComboBox(QWidget *parent):QComboBox(parent)
|
||||
{
|
||||
if (QGSettings::isSchemaInstalled("org.ukui.style")) {
|
||||
auto settings = UKUIStyleSettings::globalInstance();
|
||||
connect(settings, &QGSettings::changed, this, [=](const QString &key){
|
||||
pDebug << "key changed:" << key << this->size();
|
||||
m_styleChanged = true;
|
||||
});
|
||||
}
|
||||
|
||||
connect(this, &FileDialogComboBox::setStyleChanged, this, [=](bool change){
|
||||
pDebug << "setStyleChanged m_styleChanged:" << change;
|
||||
m_styleChanged = change;
|
||||
});
|
||||
QDBusInterface *interFace = new QDBusInterface(SERVICE, PATH, INTERFACE, QDBusConnection::sessionBus());
|
||||
if(interFace->isValid()){
|
||||
connect(interFace, SIGNAL(mode_change_signal(bool)), this, SLOT(tableModeChanged(bool)));
|
||||
}
|
||||
m_minSize = this->minimumSize();
|
||||
pDebug << "combobox minsize...." << m_minSize;
|
||||
}
|
||||
|
||||
void FileDialogComboBox::tableModeChanged(bool isTableMode)
|
||||
{
|
||||
m_styleChanged = true;
|
||||
}
|
||||
|
||||
QSize FileDialogComboBox::minimumSizeHint() const
|
||||
{
|
||||
pDebug << "minimumSizeHint...." << m_styleChanged << this->size() << m_minSize;
|
||||
if(m_styleChanged || (qApp->screenAt(QCursor::pos())->availableSize().width() - 300) < QComboBox::minimumSizeHint().width())
|
||||
{
|
||||
Q_EMIT setStyleChanged(false);
|
||||
return m_minSize;//this->size();
|
||||
}
|
||||
QSize size = QComboBox::minimumSizeHint();
|
||||
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
|
||||
FileDialogSideBar::FileDialogSideBar(QWidget *parent) : QTreeView(parent)
|
||||
{
|
||||
// setStyle(SideBarStyle::getStyle());
|
||||
|
||||
setIconSize(QSize(16, 16));
|
||||
|
||||
// header()->setSectionResizeMode(QHeaderView::Stretch );
|
||||
header()->setStretchLastSection(false);
|
||||
header()->hide();
|
||||
|
||||
this->verticalScrollBar()->setProperty("drawScrollBarGroove", false);
|
||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
this->setFrameStyle(QFrame::NoFrame);
|
||||
setSortingEnabled(true);
|
||||
|
||||
setProperty("useIconHighlightEffect", true);
|
||||
setProperty("highlightMode", true);
|
||||
|
||||
setDragDropMode(QTreeView::NoDragDrop);
|
||||
setProperty("doNotBlur", true);
|
||||
viewport()->setProperty("doNotBlur", true);
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|
||||
setExpandsOnDoubleClick(false);
|
||||
setMouseTracking(true);//追踪鼠标
|
||||
setAutoScrollMargin(0);
|
||||
|
||||
|
||||
m_delegate = new SideBarItemDelegate(this);
|
||||
setItemDelegate(m_delegate);
|
||||
|
||||
m_model = new Peony::SideBarModel(this);
|
||||
m_proxyModel = new Peony::SideBarProxyFilterSortModel(this);
|
||||
m_proxyModel->setSourceModel(m_model);
|
||||
setModel(m_proxyModel);
|
||||
|
||||
Peony::VolumeManager *volumeManager = Peony::VolumeManager::getInstance();
|
||||
connect(volumeManager,&Peony::VolumeManager::volumeAdded,this,[=](const std::shared_ptr<Peony::Volume> &volume){
|
||||
m_proxyModel->invalidate();//display DVD device in real time.
|
||||
});
|
||||
connect(volumeManager,&Peony::VolumeManager::volumeRemoved,this,[=](const std::shared_ptr<Peony::Volume> &volume){
|
||||
m_proxyModel->invalidate();//The drive does not display when the DVD device is removed.
|
||||
//pDebug << "volumeRemoved:" <<QToolTip::text();
|
||||
//fix abnormal pull out usb device tips not hide issue, link to bug#81190
|
||||
if (QToolTip::isVisible()) {
|
||||
QToolTip::hideText();
|
||||
}
|
||||
});
|
||||
connect(volumeManager,&Peony::VolumeManager::driveDisconnected,this,[=](const std::shared_ptr<Peony::Drive> &drive){
|
||||
m_proxyModel->invalidate();//Multiple udisk eject display problem
|
||||
});
|
||||
connect(volumeManager,&Peony::VolumeManager::mountAdded,this,[=](const std::shared_ptr<Peony::Mount> &mount){
|
||||
m_proxyModel->invalidate();//display udisk in real time after format it.
|
||||
});
|
||||
|
||||
|
||||
connect(this, &FileDialogSideBar::clicked, this, [=](const QModelIndex &index){
|
||||
switch (index.column()) {
|
||||
case 0: {
|
||||
auto item = m_proxyModel->itemFromIndex(index);
|
||||
|
||||
if (! item)
|
||||
break;
|
||||
//continue to fix crash issue, related to bug#116201,116589
|
||||
if(item->isMountable()&&!item->isMounted())
|
||||
item->mount();
|
||||
else{
|
||||
auto uri = item->uri();
|
||||
|
||||
if (!item->uri().isEmpty()){
|
||||
if (uri == "computer:///ukui-data-volume") {
|
||||
uri = "file:///data";
|
||||
}
|
||||
Q_EMIT goToUriRequest(uri);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
auto item = m_proxyModel->itemFromIndex(index);
|
||||
if (item->isMounted() || item->isEjectable()||item->isStopable()) {
|
||||
auto leftIndex = m_proxyModel->index(index.row(), 0, index.parent());
|
||||
this->collapse(leftIndex);
|
||||
item->ejectOrUnmount();
|
||||
} else {
|
||||
// if item is not unmountable, just be same with first column.
|
||||
// fix #39716
|
||||
auto uri = item->uri();
|
||||
|
||||
if (!item->uri().isNull()){
|
||||
if (uri == "computer:///ukui-data-volume") {
|
||||
uri = "file:///data";
|
||||
}
|
||||
Q_EMIT goToUriRequest(uri);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
connect(this, &FileDialogSideBar::expanded, this, [=](const QModelIndex &index){
|
||||
auto item = m_proxyModel->itemFromIndex(index);
|
||||
item->findChildrenAsync();
|
||||
});
|
||||
|
||||
connect(this, &FileDialogSideBar::collapsed, this, [=](const QModelIndex &index){
|
||||
auto item = m_proxyModel->itemFromIndex(index);
|
||||
item->clearChildren();
|
||||
});
|
||||
|
||||
connect(this, &QTreeView::customContextMenuRequested, this, [=](const QPoint &pos){
|
||||
auto index = indexAt(pos);
|
||||
auto item = m_proxyModel->itemFromIndex(index);
|
||||
if (item) {
|
||||
if (item->type() != Peony::SideBarAbstractItem::SeparatorItem) {
|
||||
Peony::SideBarMenu menu(item, nullptr);
|
||||
QList<QAction *> actionList;
|
||||
if (item->type() == Peony::SideBarAbstractItem::FileSystemItem) {
|
||||
if ((0 != QString::compare(item->uri(), "computer:///")) &&
|
||||
(0 != QString::compare(item->uri(), "filesafe:///"))) {
|
||||
for (const auto &actionItem : actionList) {
|
||||
if(item->isVolume())/* 分区才去需要判断是否已挂载 */
|
||||
actionItem->setEnabled(item->isMounted());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu.exec(QCursor::pos());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
QDBusInterface *interFace = new QDBusInterface(SERVICE, PATH, INTERFACE, QDBusConnection::sessionBus());
|
||||
if(interFace->isValid()){
|
||||
connect(interFace, SIGNAL(mode_change_signal(bool)), this, SLOT(tableModeChanged(bool)));
|
||||
}
|
||||
|
||||
// if (QGSettings::isSchemaInstalled("org.ukui.style")) {
|
||||
// auto settings = UKUIStyleSettings::globalInstance();
|
||||
// connect(settings, &QGSettings::changed, this, [=](const QString &key){
|
||||
// pDebug << "key changed:" << key << width();
|
||||
// if (key == "styleName") {
|
||||
// m_siderWidth = this->width();
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
expandToDepth(1);
|
||||
setViewportMargins(4, 4, 0, 0);
|
||||
|
||||
pDebug << "columndffffffffffffffff";
|
||||
// setColumnHidden(1, true);
|
||||
}
|
||||
|
||||
FileDialogSideBar::~FileDialogSideBar()
|
||||
{
|
||||
if(m_proxyModel){
|
||||
m_proxyModel->deleteLater();
|
||||
m_proxyModel = nullptr;
|
||||
}
|
||||
if(m_model){
|
||||
m_model->deleteLater();
|
||||
m_model = nullptr;
|
||||
}
|
||||
if(m_delegate){
|
||||
m_delegate->deleteLater();
|
||||
m_delegate = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void FileDialogSideBar::tableModeChanged(bool isTableMode)
|
||||
{
|
||||
pDebug << "tableModeChanged........";
|
||||
// setStyle(SideBarStyle::getStyle());
|
||||
}
|
||||
|
||||
void FileDialogSideBar::resizeEvent(QResizeEvent *e)
|
||||
{
|
||||
setViewportMargins(4, 4, 0, 0);
|
||||
|
||||
// this->setGeometry(this->x(), this->y(), m_siderWidth, this->height());
|
||||
QTreeView::resizeEvent(e);
|
||||
pDebug << "FileDialogSideBar resizeEvent header count......:" << header()->count() << this->viewport()->width() << this->columnWidth(0) << this->columnWidth(1);
|
||||
if (header()->count() > 0) {
|
||||
this->setColumnWidth(1, 20);
|
||||
header()->resizeSection(0, this->viewport()->width() - this->columnWidth(1));
|
||||
}
|
||||
}
|
||||
|
||||
void FileDialogSideBar::menuRequest(const QPoint &pos)
|
||||
{
|
||||
// auto index = indexAt(pos);
|
||||
// auto item = proxyModel->itemFromIndex(index);
|
||||
// if (item) {
|
||||
// pDebug << "sider bar menu00000" << item->type() << index;
|
||||
// if (item->type() != Peony::SideBarAbstractItem::SeparatorItem) {
|
||||
// pDebug << "sider bar menu11111";
|
||||
//// Peony::SideBarMenu *menu = new Peony::SideBarMenu(item, this);
|
||||
// pDebug << "sider bar menu22222222";
|
||||
//// menu->exec(QCursor::pos());
|
||||
// pDebug << "sider bar menu3333333";
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
void FileDialogSideBar::paintEvent(QPaintEvent *event)
|
||||
{
|
||||
// pDebug << "sidebar paintEvent.......:" << this->size();
|
||||
QTreeView::paintEvent(event);
|
||||
}
|
||||
|
||||
//void FileDialogSideBar::paintEvent(QPaintEvent *e)
|
||||
//{
|
||||
// QColor color = this->palette().window().color();
|
||||
// QColor colorBase = QColor(Qt::red); //this->palette().base().color();
|
||||
|
||||
// int R1 = color.red();
|
||||
// int G1 = color.green();
|
||||
// int B1 = color.blue();
|
||||
// qreal a1 = 0.3;
|
||||
|
||||
// int R2 = colorBase.red();
|
||||
// int G2 = colorBase.green();
|
||||
// int B2 = colorBase.blue();
|
||||
// qreal a2 = 1;
|
||||
|
||||
// qreal a = 1 - (1 - a1)*(1 - a2);
|
||||
|
||||
// qreal R = (a1*R1 + (1 - a1)*a2*R2) / a;
|
||||
// qreal G = (a1*G1 + (1 - a1)*a2*G2) / a;
|
||||
// qreal B = (a1*B1 + (1 - a1)*a2*B2) / a;
|
||||
|
||||
// colorBase.setRed(R);
|
||||
// colorBase.setGreen(G);
|
||||
// colorBase.setBlue(B);
|
||||
// colorBase.setAlphaF(1);
|
||||
|
||||
//// QPainter p(this);
|
||||
//// QPainterPath sidebarPath;
|
||||
//// sidebarPath.addRoundedRect(this->geometry(), 6, 6);
|
||||
//// p.fillPath(sidebarPath, colorBase);
|
||||
//// viewport()->setObjectName("viewport");
|
||||
//// viewport()->setStyleSheet("QWidget#viewport{background-color:rgba(255,255,255,0.5)");////" + QString::number(colorBase.red()) + "," + QString::number(colorBase.green()) + "," + QString::number(colorBase.blue()) + "," + QString::number(colorBase.alpha()) + "}");
|
||||
// QTreeView::paintEvent(e);
|
||||
//}
|
||||
|
||||
|
||||
SideBarItemDelegate::SideBarItemDelegate(QObject *parent)
|
||||
{
|
||||
// if (QGSettings::isSchemaInstalled("org.ukui.style")) {
|
||||
// auto settings = UKUIStyleSettings::globalInstance();
|
||||
// connect(settings, &QGSettings::changed, this, [=](const QString &key){
|
||||
// pDebug << "key changed:" << key;
|
||||
// if (key == "styleName") {
|
||||
// pDebug << "key changed....";
|
||||
// this->paint();
|
||||
// this->update();
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
}
|
||||
|
||||
//QSize SideBarItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
|
||||
//{
|
||||
// auto size = QStyledItemDelegate::sizeHint(option, index);
|
||||
// size.setHeight(36);
|
||||
// return size;
|
||||
//}
|
||||
|
||||
|
||||
void SideBarItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
|
||||
{
|
||||
painter->save();
|
||||
if (index.column() == 1) {
|
||||
QPainterPath rightRoundedRegion;
|
||||
rightRoundedRegion.setFillRule(Qt::WindingFill);
|
||||
auto rect = option.rect;
|
||||
auto view = qobject_cast<const QAbstractItemView *>(option.widget);
|
||||
if (view) {
|
||||
rect.setRight(view->viewport()->rect().right());
|
||||
}
|
||||
int radius = 4;
|
||||
if(view && view->property("minRadius").isValid())
|
||||
radius = view->property("minRadius").toInt();
|
||||
|
||||
rightRoundedRegion.addRoundedRect(rect, radius, radius);
|
||||
rightRoundedRegion.addRect(rect.adjusted(0, 0, -1 * radius, 0));
|
||||
painter->setClipPath(rightRoundedRegion);
|
||||
}
|
||||
|
||||
painter->setRenderHint(QPainter::Antialiasing);
|
||||
QStyledItemDelegate::paint(painter, option, index);
|
||||
painter->restore();
|
||||
}
|
||||
|
||||
static SideBarStyle *global_instance = nullptr;
|
||||
SideBarStyle::SideBarStyle()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
SideBarStyle* SideBarStyle::getStyle()
|
||||
{
|
||||
if (!global_instance) {
|
||||
global_instance = new SideBarStyle;
|
||||
}
|
||||
return global_instance;
|
||||
}
|
||||
|
||||
void SideBarStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
|
||||
{
|
||||
painter->save();
|
||||
switch (element) {
|
||||
case QStyle::PE_IndicatorItemViewItemDrop: {
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);/* 反锯齿 */
|
||||
/* 按设计要求,边框颜色为调色板highlight值,圆角为6px */
|
||||
QColor color = option->palette.color(QPalette::Highlight);
|
||||
painter->setPen(color);
|
||||
int radius = 6;
|
||||
if(widget && widget->property("normalRadius").isValid())
|
||||
radius = widget->property("normalRadius").toInt();
|
||||
|
||||
painter->drawRoundedRect(option->rect, radius, radius);
|
||||
painter->restore();
|
||||
return;
|
||||
}
|
||||
|
||||
case QStyle::PE_IndicatorBranch: {
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
if (option->rect.x() == 0) {
|
||||
QPainterPath leftRoundedRegion;
|
||||
leftRoundedRegion.setFillRule(Qt::WindingFill);
|
||||
int radius = 4;
|
||||
if(widget && widget->property("minRadius").isValid())
|
||||
radius = widget->property("minRadius").toInt();
|
||||
|
||||
leftRoundedRegion.addRoundedRect(option->rect, radius, radius);
|
||||
leftRoundedRegion.addRect(option->rect.adjusted(radius, 0, 0, 0));
|
||||
painter->setClipPath(leftRoundedRegion);
|
||||
}
|
||||
const QStyleOptionViewItem *tmp = qstyleoption_cast<const QStyleOptionViewItem *>(option);
|
||||
QStyleOptionViewItem opt = *tmp;
|
||||
if (!opt.state.testFlag(QStyle::State_Selected)) {
|
||||
if (opt.state & QStyle::State_Sunken) {
|
||||
opt.palette.setColor(QPalette::Highlight, opt.palette.button().color());
|
||||
// opt.palette.setColor(QPalette::Highlight, Qt::red);
|
||||
}
|
||||
if (opt.state & QStyle::State_MouseOver) {
|
||||
opt.palette.setColor(QPalette::Highlight, opt.palette.mid().color());
|
||||
// opt.palette.setColor(QPalette::Highlight, Qt::green);
|
||||
}
|
||||
}
|
||||
qApp->style()->drawPrimitive(element, &opt, painter, widget);
|
||||
painter->restore();
|
||||
return;
|
||||
}
|
||||
case QStyle::PE_PanelItemViewRow: {
|
||||
painter->restore();
|
||||
return;
|
||||
break;
|
||||
}
|
||||
case QStyle::PE_PanelItemViewItem: {
|
||||
/*
|
||||
const QStyleOptionViewItem *vi = qstyleoption_cast<const QStyleOptionViewItem *>(option);
|
||||
QStyleOptionViewItem opt = *vi;
|
||||
painter->save();
|
||||
painter->setPen(Qt::NoPen);
|
||||
QPainterPath path;
|
||||
if (qobject_cast<const QTreeView*>(widget) || qobject_cast<const QTreeWidget*>(widget)) {
|
||||
path.addRoundedRect(vi->rect, 6, 6);
|
||||
}
|
||||
else {
|
||||
path.addRect(vi->rect);
|
||||
}
|
||||
// pDebug << "vi->rect:" << vi->rect;
|
||||
|
||||
if (!opt.state.testFlag(QStyle::State_Selected)) {
|
||||
if (opt.state & QStyle::State_Sunken) {
|
||||
opt.palette.setColor(QPalette::Highlight, opt.palette.button().color());
|
||||
}
|
||||
if (opt.state & QStyle::State_MouseOver) {
|
||||
opt.palette.setColor(QPalette::Highlight, opt.palette.mid().color());
|
||||
}
|
||||
}
|
||||
painter->drawPath(path);
|
||||
*/
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
qApp->style()->drawPrimitive(element, option, painter, widget);
|
||||
painter->restore();
|
||||
}
|
||||
|
||||
void SideBarStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
|
||||
{
|
||||
if (element == QStyle::CE_ItemViewItem) {
|
||||
const QStyleOptionViewItem *tmp = qstyleoption_cast<const QStyleOptionViewItem *>(option);
|
||||
QStyleOptionViewItem opt = *tmp;
|
||||
if (!opt.state.testFlag(QStyle::State_Selected)) {
|
||||
if (opt.state & QStyle::State_Sunken) {
|
||||
opt.palette.setColor(QPalette::Highlight, opt.palette.button().color());
|
||||
}
|
||||
if (opt.state & QStyle::State_MouseOver) {
|
||||
opt.palette.setColor(QPalette::Highlight, opt.palette.mid().color());
|
||||
}
|
||||
}
|
||||
return qApp->style()->drawControl(element, &opt, painter, widget);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
#ifndef SIDEBAR_H
|
||||
#define SIDEBAR_H
|
||||
#include <QTreeView>
|
||||
#include <QPaintEvent>
|
||||
#include <QStyledItemDelegate>
|
||||
#include <QStyleOptionViewItem>
|
||||
#include <QModelIndex>
|
||||
#include <QPainter>
|
||||
#include <QProxyStyle>
|
||||
#include <QStyleOption>
|
||||
#include <PeonySideBarProxyModel>
|
||||
#include <QComboBox>
|
||||
#include <QSize>
|
||||
#include <PeonySideBarModel>
|
||||
|
||||
namespace UKUIFileDialog {
|
||||
class FileDialogComboBox : public QComboBox
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FileDialogComboBox(QWidget *parent = nullptr);
|
||||
~FileDialogComboBox(){}
|
||||
QSize minimumSizeHint() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
void tableModeChanged(bool isTableMode);
|
||||
|
||||
Q_SIGNALS:
|
||||
void setStyleChanged(bool change) const;
|
||||
|
||||
private:
|
||||
bool m_styleChanged = false;
|
||||
QSize m_minSize;
|
||||
};
|
||||
|
||||
class SideBarItemDelegate : public QStyledItemDelegate
|
||||
{
|
||||
friend class FileDialogSideBar;
|
||||
explicit SideBarItemDelegate(QObject *parent = nullptr);
|
||||
~SideBarItemDelegate(){}
|
||||
|
||||
// QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
|
||||
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
||||
};
|
||||
|
||||
|
||||
class FileDialogSideBar : public QTreeView
|
||||
{
|
||||
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FileDialogSideBar(QWidget *parent = nullptr);
|
||||
~FileDialogSideBar();
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
void paintEvent(QPaintEvent *event);
|
||||
|
||||
public Q_SLOTS:
|
||||
void menuRequest(const QPoint &pos);
|
||||
void tableModeChanged(bool isTableMode);
|
||||
|
||||
private:
|
||||
Peony::SideBarProxyFilterSortModel *m_proxyModel = nullptr;
|
||||
Peony::SideBarModel *m_model = nullptr;
|
||||
SideBarItemDelegate *m_delegate = nullptr;
|
||||
|
||||
Q_SIGNALS:
|
||||
void goToUriRequest(const QString &uri, bool addToHistory = true, bool forceUpdate = false);
|
||||
|
||||
};
|
||||
|
||||
|
||||
class SideBarStyle : public QProxyStyle
|
||||
{
|
||||
public:
|
||||
explicit SideBarStyle();
|
||||
static SideBarStyle* getStyle();
|
||||
~SideBarStyle(){}
|
||||
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override;
|
||||
void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override;
|
||||
};
|
||||
}
|
||||
#endif // SIDEBAR_H
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="bo_CN">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">ཁ་རྒྱག་པ།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">ལག་བསྟར་བྱེད་ཆོག་པའི་'%1'ལ་Qt %2,Qt%3རྙེད་པ་རེད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">ཕན་ཚུན་མཐུན་ཐབས་མེད་པའི་Qt དཔེ་མཛོད་ཁང་གི་ནོར་འཁྲུལ།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">འགྲིགས།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">ཞིབ་ཕྲའི་གནས་ཚུལ་གསལ་བཤད་བྱ་དགོས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">གནས་ཚུལ་ཞིབ་ཕྲ་སྦས་སྐུང་བྱེད་</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>ཡིག་ཆའི་མིང་།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>བཟོ་བཅོས་བརྒྱབ་པའི་དུས་ཚོད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>ཡིག་ཆའི་རིགས་གྲས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>ཡིག་ཆའི་ཆེ་ཆུང་།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>ཐོག་མའི་འགྲོ་ལམ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>མར་འབབ་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>རིམ་པ་ཇེ་མང་དུ་འགྲོ་བཞིན།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>ཁྱོན་ཡོངས་ཀྱི་གོ་རིམ་བེད་སྤྱོད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>མཐོང་རིས་རེའུ་མིག</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>མཚོན་རྟགས་ལྟ་ཚུལ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">ཁ་རྒྱག་པ།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>ཁ་ཆད་བཞག་པའི་སྒྲོན་བརྙན</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>སྒྲོན་བརྙན་གྱི་འགུལ་རིས་ལ་བརྟེན་ནས་ཤོག་བྱང་ཆུང་ཆུང་བརྗེ་རེས་བྱེད་དུ་འཇུག་དགོས།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation>ཁ་ཕྱེ་བའི་ཡིག་ཆ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation>ཡིག་ཆ་ཉར་ཚགས་བྱེད་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>ཡིག་ཆ་ཡོད་ཚད་(*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>ཕྱིར་ལོག</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>མདུན་སྐྱོད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>གོང་ཕྱོགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>འཚོལ་ཞིབ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>མཐོང་རིས་ཀྱི་རིགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>གོ་རིམ་གྱི་རིགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>ཆེས་ཆེ་བསྒྱུར།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>ཁ་རྒྱག་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>སླར་གསོ་བྱེད་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>ཡིག་ཆའི་མིང་།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>སྒོ་ཕྱེ་བ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>ཕྱིར་འཐེན།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>ཉར་ཚགས་གཞན།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>ཡིག་ཁུག་གསར་འཛུགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>གྲོན་ཆུང་བྱེད་དགོས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>དཀར་ཆག</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>ཐ་ཚིག་སྒྲོག་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>གནས་ཡོད་པས། ཁྱོད་ཀྱིས་དངོས་གནས་ཚབ་བྱེད་ཐུབ་བམ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>དཀར་ཆག་གསར་བ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>ཁ་ཕྱིར་འཐེན་བྱ་དགོས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>ཡང་བསྐྱར་ལས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>ཉེན་བརྡ་བཏང་བ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>བཀོལ་སྤྱོད་འདི་ལ་རྒྱབ་སྐྱོར་མི་བྱེད།</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,212 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="cs_CZ">
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,361 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="30"/>
|
||||
<source>test open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="37"/>
|
||||
<source>directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="47"/>
|
||||
<source>selected uri</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="54"/>
|
||||
<source>test show</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="64"/>
|
||||
<source>test exec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="71"/>
|
||||
<source>test save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="78"/>
|
||||
<source>test static open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="30"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="36"/>
|
||||
<source>PushButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="47"/>
|
||||
<source>use auto highlight icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="54"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="43"/>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="72"/>
|
||||
<source>highlightOnly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="77"/>
|
||||
<source>bothDefaultAndHighlight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="50"/>
|
||||
<source>RadioButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="21"/>
|
||||
<source>style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="31"/>
|
||||
<source>icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="41"/>
|
||||
<source>menu opacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="55"/>
|
||||
<source>font</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation>Die ausführbare Datei '%1' erfordert Qt %2, Qt %3 gefunden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation>Fehler in der inkompatiblen Qt-Bibliothek</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation>OKAY</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation>Details anzeigen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation>Details ausblenden...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>Dateiname</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>Änderungsdatum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>Dateityp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>Dateigröße</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>Ursprünglicher Pfad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>Absteigend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>Aufsteigend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>Globale Sortierung verwenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>Listenansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>Icon-Ansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>Standard-Folie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>Lassen Sie das Tab-Widget mit einer Folienanimation wechseln.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2706"/>
|
||||
<source>Open File</source>
|
||||
<translation>Offene Linie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2707"/>
|
||||
<source>Save File</source>
|
||||
<translation>Datei speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2720"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>Alle Dateien (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>Zurück</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>Vorwärts gehen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>Cd nach oben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>Suchen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>Typ der Ansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>Art der Sortierung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>Maximieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>Wiederherstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>Offen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Abbrechen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>Speichern unter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>Neuer Ordner</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>Retten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>Verzeichnisse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>Warnung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>existieren, sind Sie sicher, ersetzen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>Neuer Ordner</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>Aufmachen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>Noch einmal machen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>warnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>Dieser Vorgang wird nicht unterstützt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="en_US">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">Close</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">Executable '%1' requires Qt %2, found Qt %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">Incompatible Qt Library Error</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">OK</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">Show Details...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">Hide Details...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>File Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>Modified Date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>File Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>File Size</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>Original Path</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>Descending</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>Ascending</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>Use global sorting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>List View</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>Icon View</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">Close</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation>Open File</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation>Save File</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>All Files (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>Go Back</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>Go Forward</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>Cd Up</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>Search</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>View Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>Sort Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>Maximize</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>Close</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>Restore</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>Open</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Cancel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>Save as</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>New Folder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>Save</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>Directories</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>Warning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>exist, are you sure replace?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>NewFolder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>Undo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>Redo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>warn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>This operation is not supported.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,361 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="es">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="30"/>
|
||||
<source>test open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="37"/>
|
||||
<source>directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="47"/>
|
||||
<source>selected uri</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="54"/>
|
||||
<source>test show</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="64"/>
|
||||
<source>test exec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="71"/>
|
||||
<source>test save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="78"/>
|
||||
<source>test static open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="30"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="36"/>
|
||||
<source>PushButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="47"/>
|
||||
<source>use auto highlight icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="54"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="43"/>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="72"/>
|
||||
<source>highlightOnly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="77"/>
|
||||
<source>bothDefaultAndHighlight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="50"/>
|
||||
<source>RadioButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="21"/>
|
||||
<source>style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="31"/>
|
||||
<source>icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="41"/>
|
||||
<source>menu opacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="55"/>
|
||||
<source>font</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2706"/>
|
||||
<source>Open File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2707"/>
|
||||
<source>Save File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2720"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,212 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="fa_IR">
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="fr_FR">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">Fermer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">L’exécutable '%1' nécessite Qt %2, trouvé Qt %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">Erreur de bibliothèque Qt incompatible</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">D’ACCORD</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">Afficher les détails...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">Masquer les détails...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>Nom du fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>Date de modification</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>Type de fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>Taille du fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>Chemin d’accès d’origine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>Descendant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>Ascendant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>Utiliser le tri global</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>Affichage en liste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>Affichage de l’icône</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="obsolete">Fermer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>Diapositive par défaut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>Laissez le widget d’onglet basculer avec une animation de diapositive.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation>Ouvrir un fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation>Enregistrer le fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>Tous les fichiers (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>Retour</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>Avancer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>Cd Up</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>Rechercher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>Type de vue</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>Type de tri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>Maximiser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>Fermer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>Restaurer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>Nom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>Ouvrir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>Enregistrer sous</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>Nouveau dossier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>Sauvegarder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>Téléphonique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>Avertissement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>exister, êtes-vous sûr de remplacer ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>NouveauDossier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>Défaire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>Refaire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>avertir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>Cette opération n’est pas prise en charge.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="kk_KZ">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">Жабу</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">Орындалатын '% 1' Qt% 2 дегенді қажет етеді, табылған Qt% 3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">Үйлеспейтін Qt кітапхана қатесі</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">ЖАҚСЫ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">Егжей-тегжейін көрсету...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">Мәліметтерді жасыру...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>Файл атауы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>Өзгертілген күн</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>Файл түрі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>Файл өлшемі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>Бастапқы жол</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>Кему</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>Көтерілу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>Ғаламдық сұрыптауды пайдалану</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>Тізім көрінісі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>Белгіше көрінісі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="obsolete">Жабу</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>Әдетті слайд</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>Слайд анимациясы бар tab widget ауыстырып қосқышына рұқсат етіңіз.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation>Файлды ашу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation>Файлды сақтау</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>Барлық файлдар (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>Қайтып бар</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>Алға жылжу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>Cd Up</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>Іздеу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>Көрініс түрі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>Сұрыптау түрі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>Барынша көбейту</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>Жабу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>Қалпына келтіру</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>Атауы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>Ашу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Болдырмау</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>Басқаша сақтау</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>Жаңа қапшық</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>Сақтау</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>Каталогтар</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>Ескерту</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>бар, сіз алмастырасыз ба?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>NewFolder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>Болдырмау</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>Редо</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>Ескерту</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>Бұл операцияға қолдау көрсетілмеген.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ky_KG">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">Жабуу</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">Аткарыла турган '%1' Qt %2 талап кылынат, Qt %3 табылган.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">Qt китепканасынын шайкеш келбеген катасы</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">МАКУЛ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">Егжей-тегжейин</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">Маалымат жашыруу...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>Файлдын аты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>Өзгөртүлгөн дата</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>Файл түрү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>Файл өлчөмү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>Оригиналдуу жол</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>Түшүп</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>Көтөрүлүш</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>Глобалдык сорттоону колдонуу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>Тизменин көрүнүшү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>Икона көрүнүшү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="obsolete">Жабуу</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>Дефолт слайды</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>Таблица виджет слайд анимациясы менен которуп берсин.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation>Файлды ачуу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation>Файлды сактоо</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>Бардык файлдар (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>Артка кайрыл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>Алга илгерилетүү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>Cd Up</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>Издөө</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>Көрүү түрү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>Түрүн сорттоо</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>Максималдуу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>Жабуу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>Калыбына келтирүү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>Аты-жөнү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>Ачуу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Жокко чыгаруу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>Үнөмдөө</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>Жаңы папка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>Сактоо</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>Каталогдор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>Эскертүү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>бар, сиз сөзсүз алмаштырып жатасызбы?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>Жаңы папкалар</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>Ундо</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>Редо</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>эскертүү</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>Бул операция колдолбойт.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,237 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="mn_MN">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">ᠬᠠᠭᠠᠬᠤ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">ᠭᠦᠢᠴᠡᠳᠬᠡᠵᠦ ᠪᠣᠯᠬᠤ ᠹᠠᠢᠯ '%1' Qt% 2 ᠬᠡᠷᠡᠭᠰᠡᠵᠦ ᠂ Qt% 3 ᠢ᠋/ ᠵᠢ ᠡᠷᠢᠵᠦ ᠣᠯᠬᠤ ᠬᠡᠷᠡᠭᠲᠡᠶ .</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">OK</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠨᠡᠷᠡᠢᠳᠦᠯ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>ᠵᠠᠰᠠᠭᠰᠠᠨ ᠡᠳᠦᠷ ᠰᠠᠷᠠ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠶᠡᠬᠡ ᠪᠠᠭᠠ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>ᠤᠭ ᠤ᠋ᠨ ᠵᠠᠮ ᠱᠤᠭᠤᠮ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>ᠪᠠᠭᠠᠰᠬᠠᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>ᠶᠡᠬᠡᠰᠬᠡᠬᠦ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>ᠪᠦᠬᠦ ᠪᠠᠢᠳᠠᠯ ᠤ᠋ᠨ ᠳᠠᠷᠠᠭᠠᠯᠠᠯ ᠢ᠋ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>ᠵᠢᠭᠰᠠᠭᠠᠯᠳᠠ ᠵᠢᠨ ᠬᠠᠷᠠᠭᠠᠨ ᠵᠢᠷᠤᠭ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>ᠰᠢᠪᠠᠭᠠ ᠵᠢᠨ ᠬᠠᠷᠠᠭᠠᠨ ᠵᠢᠷᠤᠭ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">ᠬᠠᠭᠠᠬᠤ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>Default Slide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation>ᠨᠡᠬᠡᠬᠡᠬᠦ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation>ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>ᠪᠦᠬᠦᠢᠯᠡ (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>ᠤᠬᠤᠷᠢᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>ᠤᠷᠤᠭᠰᠢᠯᠠᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>ᠳᠡᠭᠡᠭᠰᠢ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>ᠬᠠᠢᠯᠳᠠ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>ᠬᠠᠷᠠᠭᠠᠨ ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>ᠳᠠᠷᠠᠭᠠᠯᠠᠯ ᠤ᠋ᠨ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>ᠬᠠᠮᠤᠭ ᠤ᠋ᠨ ᠶᠡᠬᠡᠴᠢᠯᠡᠯ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>ᠬᠠᠭᠠᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>ᠡᠬᠡᠬᠦᠯᠬᠦ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠨᠡᠷᠡ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>ᠨᠡᠬᠡᠬᠡᠬᠦ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>ᠦᠬᠡᠢᠰᠭᠡᠬᠦ᠌</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>ᠦᠭᠡᠷᠡ ᠭᠠᠵᠠᠷ ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>ᠰᠢᠨᠡ ᠪᠡᠷ ᠪᠠᠢᠭᠤᠯᠤᠭᠰᠠᠨ ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠬᠠᠪᠳᠠᠰᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>ᠭᠠᠷᠴᠠᠭ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>ᠰᠡᠷᠡᠮᠵᠢᠯᠡᠬᠦᠯᠦᠯ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>ᠪᠠᠢᠨᠠ᠂ ᠰᠤᠯᠢᠬᠤ ᠤᠤ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>ᠰᠢᠨᠡ ᠪᠡᠷ ᠪᠠᠢᠭᠤᠯᠤᠭᠰᠠᠨ ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠬᠠᠪᠳᠠᠰᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>ᠬᠦᠴᠦᠨ ᠦᠬᠡᠢ ᠪᠤᠯᠭᠠᠬᠤ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>ᠳᠠᠬᠢᠵᠤ ᠬᠢᠬᠦ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>ᠰᠡᠷᠡᠮᠵᠢᠯᠡᠬᠦᠯᠬᠦ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>ᠳᠤᠰ ᠠᠵᠢᠯᠯᠠᠬᠤᠢ ᠵᠢ ᠳᠡᠮᠵᠢᠬᠦ ᠦᠬᠡᠢ.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,212 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="tr_TR">
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ug_CN">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">ياپ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">ئىجرا قىلىشقا بولىدىغان '٪1' Qt ٪2 نى تەلەپ قىلىدۇ، تېپىلغان Qt ٪3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">بىردەك بولمىغان QT ئامبىرى خاتالىقى</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">ماقۇل</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">تەپسىلاتىنى كۆرسەت...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">تەپسىلاتىنى يوشۇرۇش...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>ھۆججەت نامى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>ئۆزگەرتىلگەن ۋاقتى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>ھۆججەت تۈرى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>ھۆججەت چوڭلۇقى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>ئەسلى يول</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>پەسكە چۈشمەكتە</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>ئۆرلەش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>يەر شارىنى تۈرگە ئايرىشنى ئىشلىتىش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>تىزىملىك كۆرۈش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>ئايكون كۆرۈش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="obsolete">ياپ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>كۆڭۈلدىكى سىيرىلما</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>سىيرىلما كارتون ئارقىلىق تاختا ۋىكىپات ئالماشتۇرسۇن.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation type="unfinished">ھۆججەتنى ئېچىش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation type="unfinished">ھۆججەت ساقلاش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="unfinished">بارلىق ھۆججەتلەر (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation type="unfinished">قايت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation type="unfinished">ئالدىغا ماڭ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation type="unfinished">Cd Up</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished">ئىزدە</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation type="unfinished">كۆرۈش تىپى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation type="unfinished">تۈر تۈرى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation type="unfinished">ئەڭ چوڭ چەككە</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">ياپ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation type="unfinished">ئەسلىگە كەلتۈرۈش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished">ئىسىم-فامىلىسى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished">ئېچىش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">ئەمەلدىن قالدۇرۇش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation type="unfinished">تېجەش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation type="unfinished">يېڭى ھۆججەت قىسقۇچ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">ساقلاش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation type="unfinished">مۇندەرىجىلەر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished">دىققەت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="unfinished">مەۋجۇت، سىز راستىنلا ئالماشتۇرۇۋاتامسىز؟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation type="unfinished">يېڭى قاتلىغۇچ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished">Undo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished">قايتا-قايتا</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation type="unfinished">ئاگاھلاندۇرۇش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="unfinished">بۇ مەشغۇلات قوللىمايدۇ.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="zh_CN">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">关闭</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">可执行文件“%1”需要数量%2,找到数量%3。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">不兼容的Qt库错误</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">确认</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">显示细节……</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">隐藏细节……</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>文件名称</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>修改日期</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>文件类型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>文件大小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>原始路径</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>降序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>升序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>使用全局排序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>列表视图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>图标视图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">关闭</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>默认slide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>让选项卡小部件切换为幻灯片动画。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation>打开</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation>保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>所有(*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>后退</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>前进</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>向上</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>搜索</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>视图类型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>排序类型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>最大化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>关闭</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>还原</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>文件名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>打开</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>另存为</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>新建文件夹</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>目录</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>已存在,是否替换?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>新建文件夹</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>撤销</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>重做</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>不支持此操作。</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="zh_HK">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">關閉</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="vanished">可執行檔「%1」 需要數量%2,找到數量%3。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="vanished">不相容的Qt庫錯誤</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="vanished">確認</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<source>Show Details...</source>
|
||||
<translation type="vanished">顯示細節......</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="vanished">隱藏細節......</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>檔名稱</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>修改日期</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>檔案類型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>檔大小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>原始路徑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>降序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>升序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>使用全域排序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>清單檢視</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>圖示檢視</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="obsolete">關閉</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>默認slide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>讓選項卡小部件切換為幻燈片動畫。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2715"/>
|
||||
<source>Open File</source>
|
||||
<translation type="unfinished">打開</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2716"/>
|
||||
<source>Save File</source>
|
||||
<translation type="unfinished">保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2729"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="unfinished">所有(*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation type="unfinished">後退</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation type="unfinished">前進</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation type="unfinished">向上</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished">搜索</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation type="unfinished">視圖類型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation type="unfinished">排序類型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation type="unfinished">最大化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">關閉</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation type="unfinished">還原</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished">檔名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished">打開</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation type="unfinished">另存為</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation type="unfinished">新建資料夾</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished">保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation type="unfinished">目錄</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished">警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="unfinished">已存在,是否替換?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation type="unfinished">新建資料夾</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished">撤銷</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished">重做</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation type="unfinished">警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="unfinished">不支援此操作。</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,386 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="zh">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="14"/>
|
||||
<location filename="../../test/highlighted-icon-button/mainwindow.ui" line="14"/>
|
||||
<location filename="../../test/mps-style-application/mainwindow.ui" line="14"/>
|
||||
<location filename="../../test/system-settings/mainwindow.ui" line="14"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="117"/>
|
||||
<location filename="../../test/highlighted-icon-button/ui_mainwindow.h" line="102"/>
|
||||
<location filename="../../test/mps-style-application/ui_mainwindow.h" line="126"/>
|
||||
<location filename="../../test/system-settings/ui_mainwindow.h" line="122"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="30"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="118"/>
|
||||
<source>test open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="37"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="119"/>
|
||||
<source>directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="47"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="120"/>
|
||||
<source>selected uri</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="54"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="121"/>
|
||||
<source>test show</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="64"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="122"/>
|
||||
<source>test exec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="71"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="123"/>
|
||||
<source>test save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/filedialog/mainwindow.ui" line="78"/>
|
||||
<location filename="../../test/filedialog/ui_mainwindow.h" line="124"/>
|
||||
<source>test static open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/highlighted-icon-button/mainwindow.ui" line="30"/>
|
||||
<location filename="../../test/mps-style-application/mainwindow.ui" line="36"/>
|
||||
<location filename="../../test/highlighted-icon-button/ui_mainwindow.h" line="103"/>
|
||||
<location filename="../../test/mps-style-application/ui_mainwindow.h" line="127"/>
|
||||
<source>PushButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/highlighted-icon-button/mainwindow.ui" line="47"/>
|
||||
<location filename="../../test/highlighted-icon-button/ui_mainwindow.h" line="104"/>
|
||||
<source>use auto highlight icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/highlighted-icon-button/mainwindow.ui" line="54"/>
|
||||
<location filename="../../test/mps-style-application/mainwindow.ui" line="43"/>
|
||||
<location filename="../../test/highlighted-icon-button/ui_mainwindow.h" line="105"/>
|
||||
<location filename="../../test/mps-style-application/ui_mainwindow.h" line="128"/>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/highlighted-icon-button/mainwindow.ui" line="72"/>
|
||||
<location filename="../../test/highlighted-icon-button/ui_mainwindow.h" line="106"/>
|
||||
<source>highlightOnly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/highlighted-icon-button/mainwindow.ui" line="77"/>
|
||||
<location filename="../../test/highlighted-icon-button/ui_mainwindow.h" line="107"/>
|
||||
<source>bothDefaultAndHighlight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/mps-style-application/mainwindow.ui" line="50"/>
|
||||
<location filename="../../test/mps-style-application/ui_mainwindow.h" line="129"/>
|
||||
<source>RadioButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/system-settings/mainwindow.ui" line="21"/>
|
||||
<location filename="../../test/system-settings/ui_mainwindow.h" line="123"/>
|
||||
<source>style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/system-settings/mainwindow.ui" line="31"/>
|
||||
<location filename="../../test/system-settings/ui_mainwindow.h" line="124"/>
|
||||
<source>icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/system-settings/mainwindow.ui" line="41"/>
|
||||
<location filename="../../test/system-settings/ui_mainwindow.h" line="125"/>
|
||||
<source>menu opacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../test/system-settings/mainwindow.ui" line="55"/>
|
||||
<location filename="../../test/system-settings/ui_mainwindow.h" line="126"/>
|
||||
<source>font</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation>關閉</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation>可執行檔「%1」 需要數量%2,找到數量%3。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation>不相容的Qt庫錯誤</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation>確認</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation>顯示細節......</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation>隱藏細節......</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>檔名稱</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>修改日期</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>檔案類型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>檔大小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>原始路徑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>降序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>升序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>使用全域排序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>清單檢視</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>圖示檢視</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">關閉</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../debian/libqt5-ukui-style-dev/usr/include/qt5-ukui/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>默認slide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../debian/libqt5-ukui-style-dev/usr/include/qt5-ukui/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>讓選項卡小部件切換為幻燈片動畫。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="2696"/>
|
||||
<source>Open File</source>
|
||||
<translation>打開</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="2697"/>
|
||||
<source>Save File</source>
|
||||
<translation>保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="2710"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>所有(*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>後退</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>前進</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>向上</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>搜索</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>視圖類型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>排序類型</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>最大化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>關閉</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>還原</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>檔名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>打開</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>另存為</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>新建資料夾</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>目錄</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>已存在,是否替換?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="1910"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>新建資料夾</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="2198"/>
|
||||
<source>Undo</source>
|
||||
<translation>撤銷</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="2205"/>
|
||||
<source>Redo</source>
|
||||
<translation>重做</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="2404"/>
|
||||
<source>warn</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/filedialog/kyfiledialog.cpp" line="2404"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>不支援此操作。</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,506 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
#include "uikyfiledialog.h"
|
||||
#include <QFileDialog>
|
||||
#include "kyfiledialog.h"
|
||||
#include "debug.h"
|
||||
using namespace UKUIFileDialog;
|
||||
//Ui_KyFileDialog::Ui_KyFileDialog(QDialog *parent)
|
||||
//{
|
||||
// setupUi(parent);
|
||||
//}
|
||||
|
||||
Ui_KyFileDialog::Ui_KyFileDialog(QWidget *parent) : QWidget(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Ui_KyFileDialog::~Ui_KyFileDialog()
|
||||
{
|
||||
pDebug << "Ui_KyFileDialog destory111..........";
|
||||
/*
|
||||
if(m_pathbarWidget){
|
||||
m_pathbarWidget->deleteLater();
|
||||
m_pathbarWidget = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory122222..........";
|
||||
|
||||
if(m_pathbar){
|
||||
m_pathbar->deleteLater();
|
||||
m_pathbar = nullptr;
|
||||
}
|
||||
if(m_searchBtn){
|
||||
m_searchBtn->deleteLater();
|
||||
m_searchBtn = nullptr;
|
||||
}
|
||||
if(m_backButton){
|
||||
m_backButton->deleteLater();
|
||||
m_backButton = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory3223..........";
|
||||
|
||||
if(m_forwardButton){
|
||||
m_forwardButton->deleteLater();
|
||||
m_forwardButton = nullptr;
|
||||
}
|
||||
if(m_toParentButton){
|
||||
m_toParentButton->deleteLater();
|
||||
m_toParentButton = nullptr;
|
||||
}
|
||||
if(m_modeButton){
|
||||
m_modeButton->deleteLater();
|
||||
m_modeButton = nullptr;
|
||||
}
|
||||
if(m_sortButton){
|
||||
m_sortButton->deleteLater();
|
||||
m_sortButton = nullptr;
|
||||
}
|
||||
if(m_maximizeAndRestore){
|
||||
m_maximizeAndRestore->deleteLater();
|
||||
m_maximizeAndRestore = nullptr;
|
||||
}
|
||||
if(m_closeButton){
|
||||
m_closeButton->deleteLater();
|
||||
m_closeButton = nullptr;
|
||||
}
|
||||
if(m_modeMenu){
|
||||
m_modeMenu->deleteLater();
|
||||
m_modeMenu = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory3555423..........";
|
||||
|
||||
if(m_sortMenu){
|
||||
m_sortMenu->deleteLater();
|
||||
m_sortMenu = nullptr;
|
||||
}
|
||||
if(m_listModeAction){
|
||||
m_listModeAction->deleteLater();
|
||||
m_listModeAction = nullptr;
|
||||
}
|
||||
if(m_iconModeAction){
|
||||
m_iconModeAction->deleteLater();
|
||||
m_iconModeAction = nullptr;
|
||||
}
|
||||
if(m_sider){
|
||||
m_sider->deleteLater();
|
||||
m_sider = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory223322..........";
|
||||
|
||||
if(m_frame){
|
||||
m_frame->deleteLater();
|
||||
m_frame = nullptr;
|
||||
}
|
||||
if(m_splitter){
|
||||
m_splitter->deleteLater();
|
||||
m_splitter = nullptr;
|
||||
}
|
||||
if(vboxLayout){
|
||||
vboxLayout->deleteLater();
|
||||
vboxLayout = nullptr;
|
||||
}
|
||||
if(m_treeView){
|
||||
m_treeView->deleteLater();
|
||||
m_treeView = nullptr;
|
||||
}
|
||||
if(m_fileNameLabel){
|
||||
m_fileNameLabel->deleteLater();
|
||||
m_fileNameLabel = nullptr;
|
||||
}
|
||||
if(m_fileNameEdit){
|
||||
m_fileNameEdit->deleteLater();
|
||||
m_fileNameEdit = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory1245677..........";
|
||||
|
||||
if(m_fileTypeCombo){
|
||||
m_fileTypeCombo->deleteLater();
|
||||
m_fileTypeCombo = nullptr;
|
||||
}
|
||||
if(m_newFolderButton){
|
||||
m_newFolderButton->deleteLater();
|
||||
m_newFolderButton = nullptr;
|
||||
}
|
||||
if(m_acceptButton){
|
||||
m_acceptButton->deleteLater();
|
||||
m_acceptButton = nullptr;
|
||||
}
|
||||
if(m_rejectButton){
|
||||
m_rejectButton->deleteLater();
|
||||
m_rejectButton = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory23467899..........";
|
||||
|
||||
if(m_upSeperate){
|
||||
m_upSeperate->deleteLater();
|
||||
m_upSeperate = nullptr;
|
||||
}
|
||||
if(m_downSeperate){
|
||||
m_downSeperate->deleteLater();
|
||||
m_downSeperate = nullptr;
|
||||
}
|
||||
if(m_widget){
|
||||
m_widget->deleteLater();
|
||||
m_widget = nullptr;
|
||||
}
|
||||
qDebug() << "destory345..........";
|
||||
|
||||
if(m_container){
|
||||
qDebug() << "destory555..........";
|
||||
|
||||
m_container->deleteLater();
|
||||
m_container = nullptr;
|
||||
qDebug() << "destory666..........";
|
||||
|
||||
}
|
||||
qDebug() << "destory777..........";
|
||||
|
||||
if(m_siderWidget){
|
||||
m_siderWidget->deleteLater();
|
||||
m_siderWidget = nullptr;
|
||||
}
|
||||
|
||||
if(m_sortTypeGroup){
|
||||
m_sortTypeGroup->deleteLater();
|
||||
m_sortTypeGroup = nullptr;
|
||||
}
|
||||
if(m_fileName){
|
||||
m_fileName->deleteLater();
|
||||
m_fileName = nullptr;
|
||||
}
|
||||
if(m_modifiedDate){
|
||||
m_modifiedDate->deleteLater();
|
||||
m_modifiedDate = nullptr;
|
||||
}
|
||||
if(m_fileType){
|
||||
m_fileType->deleteLater();
|
||||
m_fileType = nullptr;
|
||||
}
|
||||
if(m_fileSize){
|
||||
m_fileSize->deleteLater();
|
||||
m_fileSize = nullptr;
|
||||
}
|
||||
if(m_originalPath){
|
||||
m_originalPath->deleteLater();
|
||||
m_originalPath = nullptr;
|
||||
}
|
||||
if(m_sortOrderGroup){
|
||||
m_sortOrderGroup->deleteLater();
|
||||
m_sortOrderGroup = nullptr;
|
||||
}
|
||||
if(m_descending){
|
||||
m_descending->deleteLater();
|
||||
m_descending = nullptr;
|
||||
}
|
||||
if(m_ascending){
|
||||
m_ascending->deleteLater();
|
||||
m_ascending = nullptr;
|
||||
}
|
||||
if(m_useGlobalSortAction){
|
||||
m_useGlobalSortAction->deleteLater();
|
||||
m_useGlobalSortAction = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory8888..........";
|
||||
|
||||
if(m_siderLayout){
|
||||
m_siderLayout->deleteLater();
|
||||
m_siderLayout = nullptr;
|
||||
}
|
||||
// if(m_gridLayout){
|
||||
// m_gridLayout->deleteLater();
|
||||
// m_gridLayout= nullptr;
|
||||
// }
|
||||
|
||||
if(m_hHeaderLayout){
|
||||
m_hHeaderLayout->deleteLater();
|
||||
m_hHeaderLayout = nullptr;
|
||||
}
|
||||
if(m_hLineEditLayout){
|
||||
m_hLineEditLayout->deleteLater();
|
||||
m_hLineEditLayout = nullptr;
|
||||
}
|
||||
if(m_hBtnLayout){
|
||||
m_hBtnLayout->deleteLater();
|
||||
m_hBtnLayout = nullptr;
|
||||
}
|
||||
qDebug() << "Ui_KyFileDialog destory123..........";
|
||||
*/
|
||||
}
|
||||
|
||||
void Ui_KyFileDialog::initSortMenu(QDialog *mKyFileDialog)
|
||||
{
|
||||
m_sortButton = new MenuToolButton(this);
|
||||
m_sortMenu = new QMenu(m_sortButton);
|
||||
|
||||
m_sortTypeGroup = new QActionGroup(m_sortMenu);
|
||||
m_sortTypeGroup->setExclusive(true);
|
||||
|
||||
m_fileName = m_sortMenu->addAction(QObject::tr("File Name"));
|
||||
m_fileName->setCheckable(true);
|
||||
m_sortTypeGroup->addAction(m_fileName);
|
||||
|
||||
m_modifiedDate = m_sortMenu->addAction(QObject::tr("Modified Date"));
|
||||
m_modifiedDate->setCheckable(true);
|
||||
m_sortTypeGroup->addAction(m_modifiedDate);
|
||||
|
||||
m_fileType = m_sortMenu->addAction(QObject::tr("File Type"));
|
||||
m_fileType->setCheckable(true);
|
||||
m_sortTypeGroup->addAction(m_fileType);
|
||||
|
||||
m_fileSize = m_sortMenu->addAction(QObject::tr("File Size"));
|
||||
m_fileSize->setCheckable(true);
|
||||
m_sortTypeGroup->addAction(m_fileSize);
|
||||
|
||||
m_originalPath = m_sortMenu->addAction(QObject::tr("Original Path"));
|
||||
m_originalPath->setCheckable(true);
|
||||
m_sortTypeGroup->addAction(m_originalPath);
|
||||
|
||||
m_sortMenu->addSeparator();
|
||||
|
||||
m_sortOrderGroup = new QActionGroup(m_sortMenu);
|
||||
m_sortOrderGroup->setExclusive(true);
|
||||
|
||||
m_descending = m_sortMenu->addAction(QObject::tr("Descending"));
|
||||
m_descending->setCheckable(true);
|
||||
m_sortOrderGroup->addAction(m_descending);
|
||||
|
||||
//switch defautl Descending Ascending order, fix bug#99924
|
||||
m_ascending = m_sortMenu->addAction(QObject::tr("Ascending"));
|
||||
m_ascending->setCheckable(true);
|
||||
m_sortOrderGroup->addAction(m_ascending);
|
||||
|
||||
m_sortMenu->addSeparator();
|
||||
|
||||
m_useGlobalSortAction = m_sortMenu->addAction(QObject::tr("Use global sorting"));
|
||||
m_useGlobalSortAction->setCheckable(true);
|
||||
|
||||
m_sortButton->setMenu(m_sortMenu);
|
||||
m_sortButton->setPopupMode(QToolButton::InstantPopup);
|
||||
m_sortButton->setAutoRaise(true);
|
||||
m_sortButton->setFixedSize(QSize(57, 40));
|
||||
m_sortButton->setIconSize(QSize(16, 16));
|
||||
|
||||
}
|
||||
|
||||
void Ui_KyFileDialog::initModeMenu(QDialog *mKyFileDialog)
|
||||
{
|
||||
m_modeButton = new MenuToolButton(this);
|
||||
m_modeButton->setPopupMode(QToolButton::InstantPopup);
|
||||
m_modeButton->setAutoRaise(true);
|
||||
m_modeButton->setFixedSize(QSize(57, 40));
|
||||
m_modeButton->setIconSize(QSize(16, 16));
|
||||
|
||||
m_modeMenu = new QMenu(m_modeButton);
|
||||
m_listModeAction = m_modeMenu->addAction(QIcon::fromTheme("view-list-symbolic"), QObject::tr("List View"));
|
||||
m_iconModeAction = m_modeMenu->addAction(QIcon::fromTheme("view-grid-symbolic"), QObject::tr("Icon View"));
|
||||
m_listModeAction->setCheckable(true);
|
||||
m_iconModeAction->setCheckable(true);
|
||||
m_modeButton->setMenu(m_modeMenu);
|
||||
}
|
||||
|
||||
void Ui_KyFileDialog::initSiderBar(QDialog *mKyFileDialog)
|
||||
{
|
||||
m_siderWidget = new QWidget(this);
|
||||
m_siderWidget->setMinimumWidth(144);
|
||||
m_siderLayout = new QVBoxLayout();
|
||||
m_siderLayout->setContentsMargins(0,0,0,0);
|
||||
|
||||
m_sider = new FileDialogSideBar(this);
|
||||
m_sider->setAttribute(Qt::WA_TranslucentBackground);
|
||||
}
|
||||
|
||||
void Ui_KyFileDialog::initHeaderBar(QDialog *mKyFileDialog)
|
||||
{
|
||||
m_hHeaderLayout = new QHBoxLayout(this);
|
||||
initModeMenu(mKyFileDialog);
|
||||
initSortMenu(mKyFileDialog);
|
||||
|
||||
m_hHeaderLayout->setContentsMargins(0,0,8,0);
|
||||
m_hHeaderLayout->setObjectName(QString::fromUtf8("hboxLayout"));
|
||||
m_backButton = new QToolButton(this);
|
||||
m_forwardButton = new QToolButton(this);
|
||||
m_toParentButton = new QToolButton(this);
|
||||
|
||||
m_pathbarWidget = new FileDialogPathBar(this);//new Peony::AdvancedLocationBar(mKyFileDialog);//
|
||||
m_pathbar = m_pathbarWidget->getPathBar();
|
||||
m_pathbar->setMinimumWidth(250);
|
||||
m_pathbar->setFocusPolicy(Qt::FocusPolicy(m_pathbar->focusPolicy() & ~Qt::TabFocus));
|
||||
|
||||
m_searchBtn = new QToolButton(this);
|
||||
|
||||
m_maximizeAndRestore = new QToolButton(this);
|
||||
|
||||
m_closeButton = new QToolButton(this);
|
||||
m_hHeaderLayout->setAlignment(Qt::AlignVCenter);
|
||||
|
||||
m_hHeaderLayout->addWidget(m_backButton);
|
||||
m_hHeaderLayout->addWidget(m_forwardButton);
|
||||
m_hHeaderLayout->addWidget(m_toParentButton);
|
||||
m_hHeaderLayout->addWidget(m_pathbarWidget);
|
||||
m_hHeaderLayout->addWidget(m_searchBtn);
|
||||
m_hHeaderLayout->addWidget(m_modeButton);
|
||||
m_hHeaderLayout->addWidget(m_sortButton);
|
||||
m_hHeaderLayout->addWidget(m_maximizeAndRestore);
|
||||
m_hHeaderLayout->addWidget(m_closeButton);
|
||||
|
||||
}
|
||||
|
||||
void Ui_KyFileDialog::initLineEditLayout(QDialog *mKyFileDialog)
|
||||
{
|
||||
m_hLineEditLayout = new QHBoxLayout(this);
|
||||
m_hLineEditLayout->setContentsMargins(4,0,24,0);
|
||||
m_fileNameLabel = new QLabel(this);
|
||||
m_fileNameLabel->setObjectName(QString::fromUtf8("fileNameLabel"));
|
||||
QSizePolicy sizePolicy2(QSizePolicy::Minimum, QSizePolicy::Preferred);
|
||||
sizePolicy2.setHorizontalStretch(0);
|
||||
sizePolicy2.setVerticalStretch(0);
|
||||
sizePolicy2.setHeightForWidth(m_fileNameLabel->sizePolicy().hasHeightForWidth());
|
||||
m_fileNameLabel->setSizePolicy(sizePolicy2);
|
||||
m_fileNameLabel->setMinimumSize(QSize(0, 0));
|
||||
pDebug << "3333333333333333333";
|
||||
|
||||
m_fileNameEdit = new QLineEdit(mKyFileDialog);
|
||||
m_fileNameEdit->setObjectName("fileNameEdit");
|
||||
QSizePolicy sizePolicy3(QSizePolicy::Minimum, QSizePolicy::Fixed);
|
||||
sizePolicy3.setHorizontalStretch(1);
|
||||
sizePolicy3.setVerticalStretch(0);
|
||||
sizePolicy3.setHeightForWidth(m_fileNameEdit->sizePolicy().hasHeightForWidth());
|
||||
m_fileNameEdit->setSizePolicy(sizePolicy3);
|
||||
pDebug << "44444444444444444";
|
||||
|
||||
m_fileTypeCombo = new FileDialogComboBox(this);
|
||||
QSizePolicy sizePolicy4(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||
sizePolicy4.setHorizontalStretch(0);
|
||||
sizePolicy4.setVerticalStretch(0);
|
||||
sizePolicy4.setHeightForWidth(m_fileTypeCombo->sizePolicy().hasHeightForWidth());
|
||||
m_fileTypeCombo->setSizePolicy(sizePolicy4);
|
||||
// m_fileTypeCombo->setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLength);
|
||||
//m_fileTypeCombo->setVisible(false);
|
||||
|
||||
m_hLineEditLayout->addWidget(m_fileNameLabel);
|
||||
m_hLineEditLayout->addWidget(m_fileNameEdit);
|
||||
m_hLineEditLayout->addWidget(m_fileTypeCombo);
|
||||
m_hLineEditLayout->setSpacing(15);
|
||||
}
|
||||
|
||||
void Ui_KyFileDialog::intiBtnLayout(QDialog *mKyFileDialog)
|
||||
{
|
||||
m_hBtnLayout = new QHBoxLayout(this);
|
||||
m_hBtnLayout->addSpacing(20);
|
||||
m_hBtnLayout->setContentsMargins(0,0,24,0);
|
||||
m_newFolderButton =new QPushButton(mKyFileDialog);
|
||||
m_newFolderButton->setObjectName(QString::fromUtf8("newFolderButton"));
|
||||
m_hBtnLayout->addWidget(m_newFolderButton);
|
||||
|
||||
|
||||
m_acceptButton = new QPushButton(mKyFileDialog);
|
||||
m_rejectButton = new QPushButton(mKyFileDialog);
|
||||
m_acceptButton->setEnabled(false);
|
||||
m_hBtnLayout->addStretch();
|
||||
m_hBtnLayout->addWidget(m_rejectButton, 0, Qt::AlignRight | Qt::AlignVCenter);
|
||||
m_hBtnLayout->addSpacing(15);
|
||||
m_hBtnLayout->addWidget(m_acceptButton, 0, Qt::AlignRight | Qt::AlignVCenter);
|
||||
|
||||
m_acceptButton->setObjectName(QString::fromUtf8("acceptButton"));
|
||||
m_rejectButton->setObjectName(QString::fromUtf8("rejectButton"));
|
||||
|
||||
pDebug << "6666666666666666";
|
||||
}
|
||||
|
||||
void Ui_KyFileDialog::setupUi(QDialog *mKyFileDialog)
|
||||
{
|
||||
if(mKyFileDialog->objectName().isEmpty()) {
|
||||
mKyFileDialog->setObjectName(QString::fromUtf8("KyNativeFileDialog"));
|
||||
}
|
||||
mKyFileDialog->resize(1160, 635);
|
||||
|
||||
mKyFileDialog->setSizeGripEnabled(true);
|
||||
mKyFileDialog->setAttribute(Qt::WA_TranslucentBackground);
|
||||
mKyFileDialog->setContentsMargins(0,0,0,0);
|
||||
|
||||
m_gridLayout = new QGridLayout(mKyFileDialog);
|
||||
m_gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
|
||||
|
||||
m_container = new Peony::DirectoryViewContainer(this);
|
||||
m_frame = new QFrame(this);
|
||||
vboxLayout = new QVBoxLayout(this);
|
||||
|
||||
initSiderBar(mKyFileDialog);
|
||||
|
||||
initHeaderBar(mKyFileDialog);
|
||||
initLineEditLayout(mKyFileDialog);
|
||||
intiBtnLayout(mKyFileDialog);
|
||||
|
||||
vboxLayout->addSpacing(8);
|
||||
vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
|
||||
vboxLayout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
vboxLayout->addLayout(m_hHeaderLayout);
|
||||
vboxLayout->addSpacing(6);
|
||||
m_upSeperate = new QFrame(mKyFileDialog);
|
||||
m_upSeperate->setFrameShape(QFrame::HLine);
|
||||
m_upSeperate->setFrameShadow(QFrame::Plain);
|
||||
vboxLayout->addWidget(m_upSeperate);
|
||||
vboxLayout->addSpacing(6);
|
||||
vboxLayout->addWidget(m_container);
|
||||
vboxLayout->addSpacing(15);
|
||||
|
||||
vboxLayout->addLayout(m_hLineEditLayout);
|
||||
vboxLayout->addSpacing(16);
|
||||
|
||||
m_downSeperate = new QFrame(mKyFileDialog);
|
||||
m_downSeperate->setFrameShape(QFrame::HLine);
|
||||
m_downSeperate->setFrameShadow(QFrame::Plain);
|
||||
vboxLayout->addWidget(m_downSeperate);
|
||||
vboxLayout->addSpacing(16);
|
||||
|
||||
vboxLayout->addLayout(m_hBtnLayout);
|
||||
vboxLayout->addSpacing(25);
|
||||
|
||||
m_frame->setFrameShadow(QFrame::Raised);
|
||||
m_frame->setFrameShape(QFrame::NoFrame);
|
||||
m_frame->setLayout(vboxLayout);
|
||||
|
||||
m_splitter = new QSplitter(this);
|
||||
m_splitter->setAttribute(Qt::WA_TranslucentBackground);
|
||||
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
sizePolicy1.setHorizontalStretch(0);
|
||||
sizePolicy1.setVerticalStretch(0);
|
||||
sizePolicy1.setHeightForWidth(m_splitter->sizePolicy().hasHeightForWidth());
|
||||
m_splitter->setSizePolicy(sizePolicy1);
|
||||
m_splitter->setOrientation(Qt::Horizontal);
|
||||
m_splitter->setHandleWidth(0);
|
||||
m_siderLayout->addWidget(m_sider);
|
||||
m_siderWidget->setLayout(m_siderLayout);
|
||||
m_splitter->addWidget(m_siderWidget);
|
||||
m_splitter->setStretchFactor(0, 20);
|
||||
m_splitter->addWidget(m_frame);
|
||||
m_splitter->setStretchFactor(1, 40);
|
||||
int siderWidIndex = m_splitter->indexOf(m_siderWidget);
|
||||
int frameIndex = m_splitter->indexOf(m_frame);
|
||||
m_splitter->setCollapsible(siderWidIndex, false);
|
||||
m_splitter->setCollapsible(frameIndex, false);
|
||||
m_gridLayout->addWidget(m_splitter);
|
||||
m_gridLayout->setContentsMargins(0,0,0,0);
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
/*
|
||||
* KWin Style UKUI
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Jing Tan <tanjing@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debug.h"
|
||||
#ifndef UI_KYFILEDIALOG_H
|
||||
#define UI_KYFILEDIALOG_H
|
||||
#include <QApplication>
|
||||
#include <QComboBox>
|
||||
#include <QTreeView>
|
||||
#include <QToolButton>
|
||||
#include <QLineEdit>
|
||||
#include <QFrame>
|
||||
#include <QSplitter>
|
||||
#include <QLabel>
|
||||
#include <QMenu>
|
||||
#include <QAction>
|
||||
#include <QGridLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QDebug>
|
||||
#include "sidebar.h"
|
||||
#include <QSizePolicy>
|
||||
#include "kyfiledialog.h"
|
||||
#include <peony-qt/controls/directory-view/directory-view-container.h>
|
||||
#include <peony-qt/controls/navigation-bar/advanced-location-bar.h>
|
||||
#include "pathbar.h"
|
||||
#include <QPushButton>
|
||||
#include <QToolBar>
|
||||
#include <QObject>
|
||||
#include <QDialog>
|
||||
#include "menutoolbutoon.h"
|
||||
|
||||
namespace Peony {
|
||||
class DirectoryViewContainer;
|
||||
}
|
||||
namespace UKUIFileDialog {
|
||||
class Ui_KyFileDialog: public QWidget
|
||||
{
|
||||
QOBJECT_H
|
||||
public:
|
||||
explicit Ui_KyFileDialog(QWidget *parent = nullptr);
|
||||
~Ui_KyFileDialog();
|
||||
|
||||
QGridLayout *m_gridLayout = nullptr;
|
||||
QHBoxLayout *m_hHeaderLayout = nullptr;
|
||||
QHBoxLayout *m_hLineEditLayout = nullptr;
|
||||
QHBoxLayout *m_hBtnLayout = nullptr;
|
||||
FileDialogPathBar *m_pathbarWidget = nullptr;
|
||||
Peony::AdvancedLocationBar *m_pathbar = nullptr;
|
||||
QToolButton *m_searchBtn = nullptr;
|
||||
//QWidget *m_pathbar = nullptr;
|
||||
QToolButton *m_backButton = nullptr;
|
||||
QToolButton *m_forwardButton = nullptr;
|
||||
QToolButton *m_toParentButton = nullptr;
|
||||
MenuToolButton *m_modeButton = nullptr;
|
||||
MenuToolButton *m_sortButton = nullptr;
|
||||
QToolButton *m_maximizeAndRestore = nullptr;
|
||||
QToolButton *m_closeButton = nullptr;
|
||||
QMenu *m_modeMenu = nullptr;
|
||||
QMenu *m_sortMenu = nullptr;
|
||||
QAction *m_listModeAction = nullptr;
|
||||
QAction *m_iconModeAction = nullptr;
|
||||
FileDialogSideBar *m_sider = nullptr;
|
||||
QFrame *m_frame = nullptr;
|
||||
QSplitter *m_splitter = nullptr;
|
||||
QVBoxLayout *vboxLayout = nullptr;
|
||||
QTreeView *m_treeView = nullptr;
|
||||
QLabel *m_fileNameLabel = nullptr;
|
||||
QLineEdit *m_fileNameEdit = nullptr;
|
||||
FileDialogComboBox *m_fileTypeCombo = nullptr;
|
||||
QPushButton *m_newFolderButton = nullptr;
|
||||
QPushButton *m_acceptButton = nullptr;
|
||||
QPushButton *m_rejectButton = nullptr;
|
||||
QFrame *m_upSeperate = nullptr;
|
||||
QFrame *m_downSeperate = nullptr;
|
||||
|
||||
QWidget *m_widget = nullptr;
|
||||
Peony::DirectoryViewContainer *m_container = nullptr;
|
||||
|
||||
QWidget *m_siderWidget = nullptr;
|
||||
QVBoxLayout *m_siderLayout = nullptr;
|
||||
|
||||
QActionGroup *m_sortTypeGroup = nullptr;
|
||||
QAction *m_fileName = nullptr;
|
||||
QAction *m_modifiedDate = nullptr;
|
||||
QAction *m_fileType = nullptr;
|
||||
QAction *m_fileSize = nullptr;
|
||||
QAction *m_originalPath = nullptr;
|
||||
QActionGroup *m_sortOrderGroup = nullptr;
|
||||
QAction *m_descending = nullptr;
|
||||
QAction *m_ascending = nullptr;
|
||||
QAction *m_useGlobalSortAction = nullptr;
|
||||
|
||||
public:
|
||||
void setupUi(QDialog *mKyFileDialog);
|
||||
|
||||
private:
|
||||
void initSortMenu(QDialog *mKyFileDialog);
|
||||
void initModeMenu(QDialog *mKyFileDialog);
|
||||
void initSiderBar(QDialog *mKyFileDialog);
|
||||
void initHeaderBar(QDialog *mKyFileDialog);
|
||||
void initLineEditLayout(QDialog *mKyFileDialog);
|
||||
void intiBtnLayout(QDialog *mKyFileDialog);
|
||||
};
|
||||
}
|
||||
#endif // UI_KYFILEDIALOG_H
|
|
@ -0,0 +1,180 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(qt5-ukui-platformtheme)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(QT_MIN_VERSION "5.12.0")
|
||||
set(KF5_MIN_VERSION "5.66.0")
|
||||
|
||||
# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
|
||||
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
|
||||
# They need to be set before the find_package(Qt5 ...) call.
|
||||
|
||||
#if(ANDROID)
|
||||
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
|
||||
# if (ANDROID_ABI STREQUAL "armeabi-v7a")
|
||||
# set(ANDROID_EXTRA_LIBS
|
||||
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
|
||||
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
|
||||
# endif()
|
||||
#endif()
|
||||
|
||||
find_package(Qt5Gui)
|
||||
message(${imported_location})
|
||||
set(LIB_PATH ${imported_location})
|
||||
get_filename_component(PARENT_PATH "${LIB_PATH}" PATH)
|
||||
get_filename_component(PARENT_PATH "${PARENT_PATH}" PATH)
|
||||
message("qt5-ukui-platformtheme PARENT_PATH: ${PARENT_PATH}")
|
||||
set(TARGET_PATH ${PARENT_PATH})
|
||||
|
||||
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
|
||||
DBus
|
||||
Widgets
|
||||
X11Extras
|
||||
Quick
|
||||
QuickControls2
|
||||
)
|
||||
|
||||
foreach(_dir ${Qt5Gui_PRIVATE_INCLUDE_DIRS})
|
||||
message(${_dir})
|
||||
|
||||
string(REGEX MATCHALL "QtGui" matches "${_dir}")
|
||||
list(LENGTH matches match_count)
|
||||
# message(STATUS "字符串中包含 ${match_count} 个 'QtGui'")
|
||||
if(${match_count} EQUAL 2)
|
||||
string(REPLACE "QtGui" "QtThemeSupport" ThemeSupport_string "${_dir}")
|
||||
endif()
|
||||
endforeach()
|
||||
message(${ThemeSupport_string})
|
||||
include_directories(${ThemeSupport_string})
|
||||
|
||||
include_directories(${Qt5Widgets_PRIVATE_INCLUDE_DIRS})
|
||||
include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS})
|
||||
|
||||
|
||||
find_package(Qt5LinguistTools)
|
||||
|
||||
find_package(KF5WindowSystem ${KF5_MIN_VERSION} CONFIG REQUIRED COMPONENTS)
|
||||
find_package(KF5Wayland CONFIG REQUIRED COMPONENTS)
|
||||
|
||||
find_package(X11)
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(QGSETTINGS REQUIRED gsettings-qt)
|
||||
pkg_check_modules(REQUIRED Qt5XdgIconLoader)
|
||||
pkg_check_modules(REQUIRED kysdk-waylandhelper)
|
||||
pkg_check_modules(FONTCONFIG REQUIRED fontconfig)
|
||||
pkg_check_modules(FREETYPE2 REQUIRED freetype2)
|
||||
pkg_check_modules(GLIB2 REQUIRED glib-2.0 gio-2.0 )
|
||||
pkg_check_modules(KYSDKWAYLANDHELPER REQUIRED kysdk-waylandhelper)
|
||||
pkg_check_modules(KYSDKCONF2 REQUIRED kysdk-conf2)
|
||||
|
||||
include_directories(${QGSETTINGS_INCLUDE_DIRS})
|
||||
include_directories(${GLIB2_INCLUDE_DIRS})
|
||||
|
||||
if (FONTCONFIG_FOUND)
|
||||
include_directories(${FONTCONFIG_INCLUDE_DIRS})
|
||||
link_directories(${FONTCONFIG_LIBRARY_DIRS})
|
||||
endif()
|
||||
if (FREETYPE2_FOUND)
|
||||
include_directories(${FREETYPE2_INCLUDE_DIRS})
|
||||
link_directories(${FREETYPE2_LIBRARY_DIRS})
|
||||
endif()
|
||||
if (KYSDKWAYLANDHELPER_FOUND)
|
||||
include_directories(${KYSDKWAYLANDHELPER_INCLUDE_DIRS})
|
||||
link_directories(${KYSDKWAYLANDHELPER_LIBRARY_DIRS})
|
||||
endif()
|
||||
if (QGSETTINGS_FOUND)
|
||||
include_directories(${QGSETTINGS_INCLUDE_DIRS})
|
||||
link_directories(${QGSETTINGS_LIBRARY_DIRS})
|
||||
endif()
|
||||
if (KYSDKCONF2_FOUND)
|
||||
include_directories(${KYSDKCONF2_INCLUDE_DIRS})
|
||||
link_directories(${KYSDKCONF2_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
|
||||
#message(${GLIB2_INCLUDE_DIRS})
|
||||
#message(${FREETYPE2_INCLUDE_DIRS})
|
||||
|
||||
include_directories(../libqt5-ukui-style/)
|
||||
|
||||
file(GLOB_RECURSE sources "*.h" "*.hpp" "*.cpp" "*.c" "*.ui")
|
||||
file(GLOB_RECURSE Json "*.json")
|
||||
|
||||
message("jsonfiles path:${Json}")
|
||||
|
||||
# To create a new ts file: lupdate -recursive . -target-language en_US -ts translations/en_US.ts -no-ui-lines
|
||||
file(GLOB TS_FILES "${CMAKE_CURRENT_SOURCE_DIR}/translations/*.ts")
|
||||
|
||||
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${sources} ${Json} ${TS_FILES})
|
||||
|
||||
# i18n
|
||||
set(UKUI_TRANSLATIONS_DIR "/usr/share/qt5-ukui-platformtheme")
|
||||
add_definitions(
|
||||
-DUKUI_TRANSLATIONS_DIR="${UKUI_TRANSLATIONS_DIR}"
|
||||
)
|
||||
if (NOT DEFINED UPDATE_TRANSLATIONS)
|
||||
set(UPDATE_TRANSLATIONS "No")
|
||||
endif()
|
||||
|
||||
# cmake -DUPDATE_TRANSLATIONS=yes
|
||||
if (UPDATE_TRANSLATIONS)
|
||||
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
|
||||
else()
|
||||
qt5_add_translation(QM_FILES ${TS_FILES})
|
||||
endif()
|
||||
|
||||
MESSAGE("QM_FILES PATH: ${QM_FILES}")
|
||||
|
||||
add_custom_target(themetranslations ALL DEPENDS ${QM_FILES})
|
||||
|
||||
add_library(qt5-ukui-platformtheme MODULE ${sources} ${Json} ${TS_FILES})
|
||||
|
||||
get_filename_component(PARENT_PATH "${PARENT_PATH}" PATH)
|
||||
get_filename_component(PARENT_PATH "${PARENT_PATH}" PATH)
|
||||
set(themesupport_dir ${PARENT_PATH})
|
||||
|
||||
message("_qt5Widgets_install_prefix_path:${themesupport_dir}")
|
||||
target_link_libraries(qt5-ukui-platformtheme
|
||||
Qt5::Widgets
|
||||
Qt5::DBus
|
||||
Qt5::Gui
|
||||
Qt5::X11Extras
|
||||
Qt5::Quick
|
||||
Qt5::QuickControls2
|
||||
KF5::WaylandClient
|
||||
KF5::WindowSystem
|
||||
${QGSETTINGS_LIBRARIES}
|
||||
${KYSDKWAYLANDHELPER_LIBRARIES}
|
||||
xcb
|
||||
glib-2.0
|
||||
${XCB_LIBS}
|
||||
qt5-ukui-style
|
||||
${KYSDKCONF2_LIBRARIES}
|
||||
${FONTCONFIG_LIBRARIES}
|
||||
${FREETYPE2_LIBRARIES}
|
||||
"${themesupport_dir}/libQt5ThemeSupport.a" #link Qt5ThemeSupport
|
||||
)
|
||||
|
||||
add_definitions(-DQT5UKUIPLATFORMTHEME_LIBRARY)
|
||||
add_definitions(-DQT_DEPRECATED_WARNINGS)
|
||||
add_definitions(-DQT_MESSAGELOGCONTEXT)
|
||||
|
||||
set(UKUIPLATFORMTHEME_DIR ${TARGET_PATH})
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE UKUIPLATFORMTHEME_DIR="${UKUIPLATFORMTHEME_DIR}")
|
||||
|
||||
message("DUKUIPLATFORMTHEME_DIR path: ${UKUIPLATFORMTHEME_DIR}")
|
||||
if(UNIX)
|
||||
MESSAGE("libqt5-ukui-platformtheme TARGET_PATH: ${TARGET_PATH}")
|
||||
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${TARGET_PATH}/platformthemes/)
|
||||
|
||||
install(FILES ${QM_FILES} DESTINATION "${UKUI_TRANSLATIONS_DIR}")
|
||||
endif()
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -0,0 +1,184 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Yue Lan <lanyue@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
#include "platform-theme-fontdata.h"
|
||||
#include <QDebug>
|
||||
|
||||
#undef signals
|
||||
#undef slots
|
||||
#undef emit
|
||||
|
||||
#include <gio/gio.h>
|
||||
|
||||
PlatformThemeFontData::PlatformThemeFontData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
PlatformThemeFontData::~PlatformThemeFontData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool PlatformThemeFontData::chooseFontFile(QString path)
|
||||
{
|
||||
QStringList list = path.split(".");
|
||||
QString fontTypeTTF = "ttf";
|
||||
QString fontTypeOTF = "otf";
|
||||
QString fontType = list.at(list.size()-1);
|
||||
|
||||
if (fontType.compare(fontTypeTTF, Qt::CaseInsensitive) == 0) {
|
||||
return true;
|
||||
} else if (fontType.compare(fontTypeOTF, Qt::CaseInsensitive) == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
QMap<QString, QString> PlatformThemeFontData::getAllFontInformation()
|
||||
{
|
||||
QMap<QString, QString> fontMap;
|
||||
QList<FontInformation> ret;
|
||||
ret.clear();
|
||||
|
||||
FT_Library ft_library;
|
||||
FT_Error err = FT_Init_FreeType(&ft_library);
|
||||
|
||||
if (err != FT_Err_Ok) {
|
||||
qCritical() << "Error : LibFun , getAllFontInformation , init freetype fail";
|
||||
|
||||
return fontMap;
|
||||
}
|
||||
|
||||
if (!FcInitReinitialize()) {
|
||||
qCritical() << "Error : LibFun , getAllFontInformation , init font list fail";
|
||||
|
||||
return fontMap;
|
||||
}
|
||||
|
||||
FcConfig *config = FcInitLoadConfigAndFonts();
|
||||
FcPattern *pat = FcPatternCreate();
|
||||
FcObjectSet *os = FcObjectSetBuild(FC_FILE , FC_FAMILY , FC_STYLE , FC_INDEX , NULL);
|
||||
|
||||
FcFontSet *fs = FcFontList(config , pat , os);
|
||||
|
||||
qInfo() << "Info : LibFun , getAllFontInformation , total matching fonts is " << fs->nfont;
|
||||
|
||||
for (int i = 0 ; i < fs->nfont && fs != NULL ; i++) {
|
||||
FontInformation item;
|
||||
FcChar8 *path = NULL;
|
||||
FcChar8 *family = NULL;
|
||||
// FcChar8 *style = NULL;
|
||||
int index;
|
||||
|
||||
FcPattern *font = fs->fonts[i];
|
||||
|
||||
if (FcPatternGetString(font , FC_FILE , 0 , &path) == FcResultMatch &&
|
||||
FcPatternGetString(font , FC_FAMILY , 0 , &family) == FcResultMatch &&
|
||||
// FcPatternGetString(font , FC_STYLE , 0 , &style) == FcResultMatch &&
|
||||
FcPatternGetInteger(font , FC_INDEX , 0 , &index) == FcResultMatch)
|
||||
{
|
||||
item.path = QString((char *)path);
|
||||
item.family = QString((char *)family);
|
||||
// item.style = QString((char *)style);
|
||||
}
|
||||
|
||||
/* 对字体文件进行判断(判断后缀名是否为.ttf .otf)*/
|
||||
if (!chooseFontFile(item.path)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
gchar *fontData = NULL;
|
||||
gsize fontDataLenth;
|
||||
g_autoptr(GError) error = NULL;
|
||||
|
||||
GFile *fd = g_file_new_for_path((const gchar *)path);
|
||||
if (!g_file_load_contents(fd , NULL , &fontData , &fontDataLenth , NULL , &error)) {
|
||||
qWarning() << "Waring : LibFun , getAllFontInformation , load font file fail , Path is [ " << path << " ]" << " error is [ " << error->message << " ]";
|
||||
|
||||
ret << item;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
FT_Error ft_error;
|
||||
FT_Face ft_retval;
|
||||
|
||||
ft_error = FT_New_Memory_Face(ft_library , (const FT_Byte *)fontData , (FT_Long)fontDataLenth , index , &ft_retval);
|
||||
if (ft_error != FT_Err_Ok) {
|
||||
qWarning() << "Waring : LibFun , getAllFontInformation , read font data fail , Path is [ " << path << " ]";
|
||||
|
||||
ret << item;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
///名字
|
||||
if (ft_retval->family_name) {
|
||||
item.name = QString((char *)ft_retval->family_name);
|
||||
}
|
||||
|
||||
///样式
|
||||
if (ft_retval->style_name) {
|
||||
item.style = QString((char *)ft_retval->style_name);
|
||||
}
|
||||
|
||||
///路径
|
||||
g_autofree gchar *location = NULL;
|
||||
location = g_file_get_path(fd);
|
||||
item.path = QString((char *)location);
|
||||
|
||||
///种类
|
||||
g_autoptr(GFileInfo) fileInfo;
|
||||
fileInfo = g_file_query_info(fd , G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," G_FILE_ATTRIBUTE_STANDARD_SIZE , G_FILE_QUERY_INFO_NONE , NULL , NULL);
|
||||
if (fileInfo != NULL) {
|
||||
g_autofree gchar *fileType = g_content_type_get_description(g_file_info_get_content_type(fileInfo));
|
||||
|
||||
item.type = QString((char *)fileType);
|
||||
}
|
||||
|
||||
qDebug() << "name:" << item.name << "style:" << item.style << "path:" << item.path << "family:" << item.family;
|
||||
*/
|
||||
|
||||
ret << item;
|
||||
fontMap.insert(item.family, item.path);
|
||||
|
||||
FT_Done_Face(ft_retval);
|
||||
g_object_unref(fd);
|
||||
g_free(fontData);
|
||||
}
|
||||
|
||||
if (pat) {
|
||||
FcPatternDestroy(pat);
|
||||
}
|
||||
|
||||
if (os) {
|
||||
FcObjectSetDestroy(os);
|
||||
}
|
||||
|
||||
if (fs) {
|
||||
FcFontSetDestroy(fs);
|
||||
}
|
||||
return fontMap;
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Yue Lan <lanyue@kylinos.cn>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef PLATFORMTHEMEFONTDATA_H
|
||||
#define PLATFORMTHEMEFONTDATA_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QFont>
|
||||
#include <fontconfig/fontconfig.h>
|
||||
#include <freetype2/ft2build.h>
|
||||
#include <freetype2/freetype/freetype.h>
|
||||
|
||||
|
||||
typedef struct _FontInformation
|
||||
{
|
||||
QString path; /* 路径 */
|
||||
QString family; /* 系列 */
|
||||
QString style; /* 样式 */
|
||||
// QString name; /* 名称 */
|
||||
// QString type; /* 种类 */
|
||||
// QString version; /* 版本 */
|
||||
// QString copyright; /* 版权 */
|
||||
// QString manufacturer; /* 商标 */
|
||||
// QString description; /* 描述 */
|
||||
// QString designer; /* 设计师 */
|
||||
// QString license; /* 许可证 */
|
||||
} FontInformation;
|
||||
|
||||
class PlatformThemeFontData : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PlatformThemeFontData();
|
||||
~PlatformThemeFontData();
|
||||
|
||||
public:
|
||||
QMap<QString, QString> getAllFontInformation();
|
||||
bool chooseFontFile(QString path);
|
||||
|
||||
};
|
||||
|
||||
#endif // PLATFORMTHEMEFONTDATA_H
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -23,8 +23,8 @@
|
|||
#include <QVariant>
|
||||
#include <QStandardPaths>
|
||||
#include "qt5-ukui-platform-theme.h"
|
||||
#include "ukui-style-settings.h"
|
||||
#include "highlight-effect.h"
|
||||
#include "settings/ukui-style-settings.h"
|
||||
#include "effects/highlight-effect.h"
|
||||
|
||||
#include <QFontDatabase>
|
||||
#include <QApplication>
|
||||
|
@ -46,8 +46,14 @@
|
|||
#include <private/qdbustrayicon_p.h>
|
||||
|
||||
#include <QQuickStyle>
|
||||
|
||||
#include "widget/message-box.h"
|
||||
#include <QDBusPendingCall>
|
||||
#include <QDBusPendingCallWatcher>
|
||||
#include <QDBusPendingReply>
|
||||
#include "widget/messagebox/message-box.h"
|
||||
//#include "widget/filedialog/kyfiledialog.h"
|
||||
#include "platform-theme-fontdata.h"
|
||||
#include "../qt5-ukui-filedialog/filedialoginterface.h"
|
||||
#include "widget/filedialog/xdgdesktopportalfiledialog_p.h"
|
||||
|
||||
#if !defined(QT_NO_DBUS) && !defined(QT_NO_SYSTEMTRAYICON)
|
||||
static bool isDBusTrayAvailable() {
|
||||
|
@ -63,6 +69,69 @@ static bool isDBusTrayAvailable() {
|
|||
}
|
||||
#endif
|
||||
|
||||
void Qt5UKUIPlatformTheme::slotChangeStyle(const QString& key)
|
||||
{
|
||||
auto settings = UKUIStyleSettings::globalInstance();
|
||||
if (key == "iconThemeName" || key == "icon-theme-name") {
|
||||
QString icontheme = settings->get("icon-theme-name").toString();
|
||||
|
||||
QIcon::setThemeName(icontheme);
|
||||
|
||||
QIcon icon = qApp->windowIcon();
|
||||
qApp->setWindowIcon(QIcon::fromTheme(icon.name()));
|
||||
// update all widgets for repaint new themed icons.
|
||||
for (auto widget : QApplication::allWidgets()) {
|
||||
widget->update();
|
||||
}
|
||||
}
|
||||
|
||||
if (key == "systemFont" || key == "system-font") {
|
||||
//Skip QGuiApplication avoid it crash when we setfont
|
||||
auto *app = qobject_cast<QApplication *>(qApp);
|
||||
if(app == nullptr)
|
||||
return;
|
||||
|
||||
QString font = settings->get("system-font").toString();
|
||||
|
||||
QFontDatabase db;
|
||||
int id = 0;
|
||||
if (!db.families().contains(font)) {
|
||||
PlatformThemeFontData fontData;
|
||||
QMap<QString, QString> fontMap = fontData.getAllFontInformation();
|
||||
if(fontMap.contains(font)){
|
||||
auto iter = fontMap.find(font);
|
||||
id = QFontDatabase::addApplicationFont(iter.value());
|
||||
}
|
||||
}
|
||||
|
||||
QFontDatabase newDb;
|
||||
if (newDb.families().contains(font)) {
|
||||
QFont oldFont = QApplication::font();
|
||||
m_system_font.setFamily(font);
|
||||
m_fixed_font.setFamily(font);
|
||||
oldFont.setFamily(font);
|
||||
QApplication::setFont(oldFont);
|
||||
}
|
||||
}
|
||||
if (key == "systemFontSize" || key == "system-font-size") {
|
||||
//Skip QGuiApplication avoid it crash when we setfont
|
||||
auto *app = qobject_cast<QApplication *>(qApp);
|
||||
if(app == nullptr)
|
||||
return;
|
||||
|
||||
if (qApp->property("noChangeSystemFontSize").isValid() && qApp->property("noChangeSystemFontSize").toBool())
|
||||
return;
|
||||
double fontSize = settings->get("system-font-size").toString().toDouble();
|
||||
if (fontSize > 0) {
|
||||
QFont oldFont = QApplication::font();
|
||||
m_system_font.setPointSize(fontSize);
|
||||
m_fixed_font.setPointSize(fontSize*1.2);
|
||||
oldFont.setPointSizeF(fontSize);
|
||||
QApplication::setFont(oldFont);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Qt5UKUIPlatformTheme::Qt5UKUIPlatformTheme(const QStringList &args)
|
||||
{
|
||||
//FIXME:
|
||||
|
@ -93,62 +162,44 @@ Qt5UKUIPlatformTheme::Qt5UKUIPlatformTheme(const QStringList &args)
|
|||
QApplication::setFont(m_system_font);
|
||||
}
|
||||
|
||||
connect(settings, &QGSettings::changed, this, [=](const QString &key){
|
||||
if (key == "iconThemeName") {
|
||||
QString icontheme = settings->get("icon-theme-name").toString();
|
||||
|
||||
QIcon::setThemeName(icontheme);
|
||||
|
||||
QIcon icon = qApp->windowIcon();
|
||||
qApp->setWindowIcon(QIcon::fromTheme(icon.name()));
|
||||
// update all widgets for repaint new themed icons.
|
||||
for (auto widget : QApplication::allWidgets()) {
|
||||
widget->update();
|
||||
}
|
||||
if (app->applicationName().toLower().contains(QLatin1String("kwin"))) {
|
||||
QDBusConnection::sessionBus().connect(QString(),
|
||||
QStringLiteral("/UKUIPlatformTheme"),
|
||||
QStringLiteral("org.ukui.UKUIPlatformTheme"),
|
||||
QStringLiteral("refreshFonts"),
|
||||
this,
|
||||
SLOT(slotChangeStyle(QString)));
|
||||
}
|
||||
|
||||
if (key == "systemFont") {
|
||||
//Skip QGuiApplication avoid it crash when we setfont
|
||||
auto *app = qobject_cast<QApplication *>(qApp);
|
||||
if(app == nullptr)
|
||||
return;
|
||||
|
||||
QString font = settings->get("system-font").toString();
|
||||
QFontDatabase db;
|
||||
if (db.families().contains(font)) {
|
||||
QFont oldFont = QApplication::font();
|
||||
m_system_font.setFamily(font);
|
||||
m_fixed_font.setFamily(font);
|
||||
oldFont.setFamily(font);
|
||||
QApplication::setFont(oldFont);
|
||||
}
|
||||
}
|
||||
if (key == "systemFontSize") {
|
||||
//Skip QGuiApplication avoid it crash when we setfont
|
||||
auto *app = qobject_cast<QApplication *>(qApp);
|
||||
if(app == nullptr)
|
||||
return;
|
||||
|
||||
if (qApp->property("noChangeSystemFontSize").isValid() && qApp->property("noChangeSystemFontSize").toBool())
|
||||
return;
|
||||
double fontSize = settings->get("system-font-size").toString().toDouble();
|
||||
if (fontSize > 0) {
|
||||
QFont oldFont = QApplication::font();
|
||||
m_system_font.setPointSize(fontSize);
|
||||
m_fixed_font.setPointSize(fontSize*1.2);
|
||||
oldFont.setPointSizeF(fontSize);
|
||||
QApplication::setFont(oldFont);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
connect(settings, &QGSettings::changed, this, &Qt5UKUIPlatformTheme::slotChangeStyle);
|
||||
}
|
||||
|
||||
// // add qqc2 style
|
||||
// if (QFile::exists(QString("%1/kf5/kirigami/org.kylin.style.so").arg(QT_PLUGIN_INSTALL_DIRS))) {
|
||||
// QQuickStyle::setStyle("org.kylin.style");
|
||||
// }
|
||||
if(qApp->inherits("QApplication") == true && qAppName() != "cura") {
|
||||
QQuickStyle::setStyle("org.ukui.style");
|
||||
}
|
||||
|
||||
|
||||
// Get information about portal version
|
||||
QDBusMessage message = QDBusMessage::createMethodCall(QLatin1String("org.freedesktop.portal.Desktop"),
|
||||
QLatin1String("/org/freedesktop/portal/desktop"),
|
||||
QLatin1String("org.freedesktop.DBus.Properties"),
|
||||
QLatin1String("Get"));
|
||||
message << QLatin1String("org.freedesktop.portal.FileChooser") << QLatin1String("version");
|
||||
QDBusPendingCall pendingCall = QDBusConnection::sessionBus().asyncCall(message);
|
||||
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall);
|
||||
QObject::connect(watcher, &QDBusPendingCallWatcher::finished, [&] (QDBusPendingCallWatcher *watcher) {
|
||||
QDBusPendingReply<QVariant> reply = *watcher;
|
||||
if (reply.isValid()) {
|
||||
qDebug() << "FileChooserPortalVersion......." << reply.value().toUInt();
|
||||
m_portalVersion = reply.value().toUInt();
|
||||
}
|
||||
watcher->deleteLater();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
Qt5UKUIPlatformTheme::~Qt5UKUIPlatformTheme()
|
||||
|
@ -182,9 +233,21 @@ const QFont *Qt5UKUIPlatformTheme::font(Font type) const
|
|||
|
||||
QVariant Qt5UKUIPlatformTheme::themeHint(ThemeHint hint) const
|
||||
{
|
||||
if(qAppName() == "cura")
|
||||
return QPlatformTheme::themeHint(hint);
|
||||
|
||||
switch (hint) {
|
||||
case QPlatformTheme::StyleNames:
|
||||
return QStringList()<<"ukui";
|
||||
case QPlatformTheme::StyleNames:{
|
||||
// qDebug() << "Qt5UKUIPlatformTheme....";
|
||||
// if (UKUIStyleSettings::isSchemaInstalled("org.ukui.style")) {
|
||||
// if (auto settings = UKUIStyleSettings::globalInstance()) {
|
||||
// QString themeName = settings->get("widget-theme-name").toString();
|
||||
// if(themeName == "classical")
|
||||
// return QStringList()<< "ukui-default";
|
||||
// }
|
||||
// }
|
||||
return QStringList()<< "ukui";
|
||||
}
|
||||
|
||||
case QPlatformTheme::SystemIconThemeName: {
|
||||
if (UKUIStyleSettings::isSchemaInstalled("org.ukui.style")) {
|
||||
|
@ -200,8 +263,7 @@ QVariant Qt5UKUIPlatformTheme::themeHint(ThemeHint hint) const
|
|||
case QPlatformTheme::SystemIconFallbackThemeName:
|
||||
return "hicolor";
|
||||
case QPlatformTheme::IconThemeSearchPaths:
|
||||
//FIXME:
|
||||
return QStringList()<<".local/share/icons"<<"/usr/share/icons"<<"/usr/local/share/icons";
|
||||
return xdgIconThemePaths();
|
||||
// case WheelScrollLines:
|
||||
// {
|
||||
// return QVariant(1);
|
||||
|
@ -212,6 +274,19 @@ QVariant Qt5UKUIPlatformTheme::themeHint(ThemeHint hint) const
|
|||
return QPlatformTheme::themeHint(hint);
|
||||
}
|
||||
|
||||
QStringList Qt5UKUIPlatformTheme::xdgIconThemePaths() const {
|
||||
QStringList paths;
|
||||
// Add home directory first in search path
|
||||
const QFileInfo homeIconDir(QDir::homePath() + QLatin1String("/.icons"));
|
||||
if (homeIconDir.isDir())
|
||||
paths.prepend(homeIconDir.absoluteFilePath());
|
||||
|
||||
paths.append(QStandardPaths::locateAll(QStandardPaths::GenericDataLocation,
|
||||
QStringLiteral("icons"),
|
||||
QStandardPaths::LocateDirectory));
|
||||
return paths;
|
||||
}
|
||||
|
||||
QIconEngine *Qt5UKUIPlatformTheme::createIconEngine(const QString &iconName) const
|
||||
{
|
||||
// QPluginLoader l(XDG_ICON_ENGINE_PATH);
|
||||
|
@ -233,15 +308,15 @@ QIconEngine *Qt5UKUIPlatformTheme::createIconEngine(const QString &iconName) con
|
|||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 9, 0))
|
||||
bool Qt5UKUIPlatformTheme::usePlatformNativeDialog(DialogType type) const
|
||||
{
|
||||
return true;
|
||||
switch (type) {
|
||||
case QPlatformTheme::FileDialog:
|
||||
return true;
|
||||
case QPlatformTheme::FontDialog:
|
||||
case QPlatformTheme::ColorDialog:
|
||||
return false;
|
||||
case QPlatformTheme::MessageDialog:
|
||||
if (qAppName() == "ukui-control-center" || qAppName() == "kybackup")
|
||||
return false;
|
||||
// if (qAppName() == "ukui-control-center")
|
||||
// return false;
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
|
@ -252,14 +327,29 @@ bool Qt5UKUIPlatformTheme::usePlatformNativeDialog(DialogType type) const
|
|||
|
||||
QPlatformDialogHelper *Qt5UKUIPlatformTheme::createPlatformDialogHelper(DialogType type) const
|
||||
{
|
||||
QObject* plugin = nullptr;
|
||||
const char* c = UKUIPLATFORMTHEME_DIR;
|
||||
QString path = QString::fromUtf8(c);
|
||||
|
||||
//QString path = UKUIPLATFORMTHEME_DIR;
|
||||
if (QFile::exists(QString("%1/platformthemes/libqt5-ukui-filedialog.so").arg(path))) {
|
||||
QPluginLoader loader(QString("%1/platformthemes/libqt5-ukui-filedialog.so").arg(path));
|
||||
plugin = loader.instance();
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case QPlatformTheme::FileDialog:
|
||||
if (m_portalVersion >= 3) {
|
||||
return new XdgDesktopPortalFileDialog;
|
||||
|
||||
//return qobject_cast<FileDialogInterface *>(plugin)->create();
|
||||
}
|
||||
|
||||
//return new KyFileDialogHelper;
|
||||
case QPlatformTheme::FontDialog:
|
||||
case QPlatformTheme::ColorDialog:
|
||||
return QPlatformTheme::createPlatformDialogHelper(type);
|
||||
case QPlatformTheme::MessageDialog:
|
||||
if (qAppName() == "kybackup")
|
||||
return nullptr;
|
||||
return new MessageBoxHelper;
|
||||
default:
|
||||
break;
|
||||
|
@ -291,4 +381,5 @@ QPlatformSystemTrayIcon *Qt5UKUIPlatformTheme::createPlatformSystemTrayIcon() co
|
|||
return new QDBusTrayIcon();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -86,9 +86,16 @@ public:
|
|||
QPlatformSystemTrayIcon *createPlatformSystemTrayIcon() const override;
|
||||
#endif
|
||||
|
||||
public Q_SLOTS:
|
||||
void slotChangeStyle(const QString& key);
|
||||
|
||||
private:
|
||||
QStringList xdgIconThemePaths() const;
|
||||
|
||||
private:
|
||||
QFont m_system_font;
|
||||
QFont m_fixed_font;
|
||||
int m_portalVersion = 0;
|
||||
};
|
||||
|
||||
#endif // QT5UKUIPLATFORMTHEME_H
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2019-12-31T14:19:01
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += widgets dbus gui-private widgets-private x11extras quick quickcontrols2 KWindowSystem
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 5)|greaterThan(QT_MINOR_VERSION, 7): \
|
||||
QT += theme_support-private
|
||||
else: \
|
||||
QT += platformsupport-private
|
||||
|
||||
TARGET = qt5-ukui-platformtheme
|
||||
TEMPLATE = lib
|
||||
CONFIG += plugin
|
||||
CONFIG += c++11 link_pkgconfig
|
||||
PKGCONFIG += gsettings-qt Qt5XdgIconLoader kysdk-waylandhelper
|
||||
|
||||
include(../libqt5-ukui-style/libqt5-ukui-style.pri)
|
||||
|
||||
DEFINES += QT5UKUIPLATFORMTHEME_LIBRARY
|
||||
|
||||
XDG_ICON_ENGINE = $$[QT_INSTALL_PLUGINS]/iconengines/libQt5XdgIconPlugin.so
|
||||
DEFINES += XDG_ICON_ENGINE_PATH='\\"$${XDG_ICON_ENGINE}\\"'
|
||||
|
||||
QT_PLUGIN_INSTALL_DIRS = $$[QT_INSTALL_PLUGINS]
|
||||
DEFINES += QT_PLUGIN_INSTALL_DIRS='\\"$${QT_PLUGIN_INSTALL_DIRS}\\"'
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
# any feature of Qt which has been marked as deprecated (the exact warnings
|
||||
# depend on your compiler). Please consult the documentation of the
|
||||
# deprecated API in order to know how to port your code away from it.
|
||||
DEFINES += QT_DEPRECATED_WARNINGS
|
||||
#DEFINES += QT_NO_DEBUG_OUTPUT
|
||||
DEFINES += QT_MESSAGELOGCONTEXT
|
||||
|
||||
# You can also make your code fail to compile if you use deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
include(widget/widget.pri)
|
||||
|
||||
SOURCES += \
|
||||
qt5-ukui-platform-theme.cpp \
|
||||
main.cpp
|
||||
|
||||
HEADERS += \
|
||||
qt5-ukui-platform-theme.h \
|
||||
qt5-ukui-platformtheme_global.h
|
||||
|
||||
unix {
|
||||
target.path = $$[QT_INSTALL_PLUGINS]/platformthemes
|
||||
INSTALLS += target
|
||||
}
|
||||
|
||||
DISTFILES += \
|
||||
ukui.json
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Qt5-UKUI's Library
|
||||
*
|
||||
* Copyright (C) 2020, Tianjin KYLIN Information Technology Co., Ltd.
|
||||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
|
|
@ -0,0 +1,221 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="bo_CN">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation>ཁ་རྒྱག་པ།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation>ལག་བསྟར་བྱེད་ཆོག་པའི་'%1'ལ་Qt %2,Qt%3རྙེད་པ་རེད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation>ཕན་ཚུན་མཐུན་ཐབས་མེད་པའི་Qt དཔེ་མཛོད་ཁང་གི་ནོར་འཁྲུལ།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation>འགྲིགས།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation>ཞིབ་ཕྲའི་གནས་ཚུལ་གསལ་བཤད་བྱ་དགོས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation>གནས་ཚུལ་ཞིབ་ཕྲ་སྦས་སྐུང་བྱེད་</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>File Name</source>
|
||||
<translation type="vanished">ཡིག་ཆའི་མིང་།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modified Date</source>
|
||||
<translation type="vanished">བཟོ་བཅོས་བརྒྱབ་པའི་དུས་ཚོད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File Type</source>
|
||||
<translation type="vanished">ཡིག་ཆའི་རིགས་གྲས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File Size</source>
|
||||
<translation type="vanished">ཡིག་ཆའི་ཆེ་ཆུང་།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Original Path</source>
|
||||
<translation type="vanished">ཐོག་མའི་འགྲོ་ལམ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descending</source>
|
||||
<translation type="vanished">མར་འབབ་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ascending</source>
|
||||
<translation type="vanished">རིམ་པ་ཇེ་མང་དུ་འགྲོ་བཞིན།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use global sorting</source>
|
||||
<translation type="vanished">ཁྱོན་ཡོངས་ཀྱི་གོ་རིམ་བེད་སྤྱོད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>List View</source>
|
||||
<translation type="vanished">མཐོང་རིས་རེའུ་མིག</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Icon View</source>
|
||||
<translation type="vanished">མཚོན་རྟགས་ལྟ་ཚུལ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation>ཁ་རྒྱག་པ།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>ཁ་ཆད་བཞག་པའི་སྒྲོན་བརྙན</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>སྒྲོན་བརྙན་གྱི་འགུལ་རིས་ལ་བརྟེན་ནས་ཤོག་བྱང་ཆུང་ཆུང་བརྗེ་རེས་བྱེད་དུ་འཇུག་དགོས།</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<source>Open File</source>
|
||||
<translation type="vanished">ཁ་ཕྱེ་བའི་ཡིག་ཆ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save File</source>
|
||||
<translation type="vanished">ཡིག་ཆ་ཉར་ཚགས་བྱེད་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="vanished">ཡིག་ཆ་ཡོད་ཚད་(*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<source>Go Back</source>
|
||||
<translation type="vanished">ཕྱིར་ལོག</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Go Forward</source>
|
||||
<translation type="vanished">མདུན་སྐྱོད།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cd Up</source>
|
||||
<translation type="vanished">གོང་ཕྱོགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation type="vanished">འཚོལ་ཞིབ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View Type</source>
|
||||
<translation type="vanished">མཐོང་རིས་ཀྱི་རིགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sort Type</source>
|
||||
<translation type="vanished">གོ་རིམ་གྱི་རིགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximize</source>
|
||||
<translation type="vanished">ཆེས་ཆེ་བསྒྱུར།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">ཁ་རྒྱག་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Restore</source>
|
||||
<translation type="vanished">སླར་གསོ་བྱེད་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="vanished">ཡིག་ཆའི་མིང་།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation type="vanished">སྒོ་ཕྱེ་བ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="vanished">ཕྱིར་འཐེན།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save as</source>
|
||||
<translation type="vanished">ཉར་ཚགས་གཞན།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New Folder</source>
|
||||
<translation type="vanished">ཡིག་ཁུག་གསར་འཛུགས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save</source>
|
||||
<translation type="vanished">གྲོན་ཆུང་བྱེད་དགོས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Directories</source>
|
||||
<translation type="vanished">དཀར་ཆག</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation type="vanished">ཐ་ཚིག་སྒྲོག་པ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="vanished">གནས་ཡོད་པས། ཁྱོད་ཀྱིས་དངོས་གནས་ཚབ་བྱེད་ཐུབ་བམ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NewFolder</source>
|
||||
<translation type="vanished">དཀར་ཆག་གསར་བ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Undo</source>
|
||||
<translation type="vanished">ཁ་ཕྱིར་འཐེན་བྱ་དགོས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Redo</source>
|
||||
<translation type="vanished">ཡང་བསྐྱར་ལས།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>warn</source>
|
||||
<translation type="vanished">ཉེན་བརྡ་བཏང་བ།</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="vanished">བཀོལ་སྤྱོད་འདི་ལ་རྒྱབ་སྐྱོར་མི་བྱེད།</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="cs_CZ">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,361 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="30"/>
|
||||
<source>test open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="37"/>
|
||||
<source>directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="47"/>
|
||||
<source>selected uri</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="54"/>
|
||||
<source>test show</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="64"/>
|
||||
<source>test exec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="71"/>
|
||||
<source>test save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="78"/>
|
||||
<source>test static open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="30"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="36"/>
|
||||
<source>PushButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="47"/>
|
||||
<source>use auto highlight icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="54"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="43"/>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="72"/>
|
||||
<source>highlightOnly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="77"/>
|
||||
<source>bothDefaultAndHighlight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="50"/>
|
||||
<source>RadioButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="21"/>
|
||||
<source>style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="31"/>
|
||||
<source>icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="41"/>
|
||||
<source>menu opacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="55"/>
|
||||
<source>font</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation>Die ausführbare Datei '%1' erfordert Qt %2, Qt %3 gefunden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation>Fehler in der inkompatiblen Qt-Bibliothek</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation>OKAY</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation>Details anzeigen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation>Details ausblenden...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation>Dateiname</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation>Änderungsdatum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation>Dateityp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation>Dateigröße</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation>Ursprünglicher Pfad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation>Absteigend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation>Aufsteigend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation>Globale Sortierung verwenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation>Listenansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation>Icon-Ansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation>Standard-Folie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation>Lassen Sie das Tab-Widget mit einer Folienanimation wechseln.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2706"/>
|
||||
<source>Open File</source>
|
||||
<translation>Offene Linie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2707"/>
|
||||
<source>Save File</source>
|
||||
<translation>Datei speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2720"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation>Alle Dateien (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation>Zurück</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation>Vorwärts gehen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation>Cd nach oben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation>Suchen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation>Typ der Ansicht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation>Art der Sortierung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation>Maximieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation>Wiederherstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation>Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation>Offen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Abbrechen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation>Speichern unter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation>Neuer Ordner</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation>Retten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation>Verzeichnisse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation>Warnung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation>existieren, sind Sie sicher, ersetzen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation>Neuer Ordner</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation>Aufmachen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation>Noch einmal machen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation>warnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation>Dieser Vorgang wird nicht unterstützt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,221 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="en_US">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation>Close</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation>Executable '%1' requires Qt %2, found Qt %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation>Incompatible Qt Library Error</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation>Show Details...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation>Hide Details...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>File Name</source>
|
||||
<translation type="vanished">File Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modified Date</source>
|
||||
<translation type="vanished">Modified Date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File Type</source>
|
||||
<translation type="vanished">File Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File Size</source>
|
||||
<translation type="vanished">File Size</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Original Path</source>
|
||||
<translation type="vanished">Original Path</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descending</source>
|
||||
<translation type="vanished">Descending</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ascending</source>
|
||||
<translation type="vanished">Ascending</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use global sorting</source>
|
||||
<translation type="vanished">Use global sorting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>List View</source>
|
||||
<translation type="vanished">List View</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Icon View</source>
|
||||
<translation type="vanished">Icon View</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation>Close</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<source>Open File</source>
|
||||
<translation type="vanished">Open File</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save File</source>
|
||||
<translation type="vanished">Save File</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="vanished">All Files (*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<source>Go Back</source>
|
||||
<translation type="vanished">Go Back</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Go Forward</source>
|
||||
<translation type="vanished">Go Forward</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cd Up</source>
|
||||
<translation type="vanished">Cd Up</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation type="vanished">Search</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View Type</source>
|
||||
<translation type="vanished">View Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sort Type</source>
|
||||
<translation type="vanished">Sort Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximize</source>
|
||||
<translation type="vanished">Maximize</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="vanished">Close</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Restore</source>
|
||||
<translation type="vanished">Restore</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="vanished">Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation type="vanished">Open</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="vanished">Cancel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save as</source>
|
||||
<translation type="vanished">Save as</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New Folder</source>
|
||||
<translation type="vanished">New Folder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save</source>
|
||||
<translation type="vanished">Save</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Directories</source>
|
||||
<translation type="vanished">Directories</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation type="vanished">Warning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="vanished">exist, are you sure replace?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NewFolder</source>
|
||||
<translation type="vanished">NewFolder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Undo</source>
|
||||
<translation type="vanished">Undo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Redo</source>
|
||||
<translation type="vanished">Redo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>warn</source>
|
||||
<translation type="vanished">warn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="vanished">This operation is not supported.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,361 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="es">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="14"/>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="30"/>
|
||||
<source>test open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="37"/>
|
||||
<source>directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="47"/>
|
||||
<source>selected uri</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="54"/>
|
||||
<source>test show</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="64"/>
|
||||
<source>test exec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="71"/>
|
||||
<source>test save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/filedialog/mainwindow.ui" line="78"/>
|
||||
<source>test static open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="30"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="36"/>
|
||||
<source>PushButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="47"/>
|
||||
<source>use auto highlight icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="54"/>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="43"/>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="72"/>
|
||||
<source>highlightOnly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/highlighted-icon-button/mainwindow.ui" line="77"/>
|
||||
<source>bothDefaultAndHighlight</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/mps-style-application/mainwindow.ui" line="50"/>
|
||||
<source>RadioButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="21"/>
|
||||
<source>style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="31"/>
|
||||
<source>icon</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="41"/>
|
||||
<source>menu opacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../test/system-settings/mainwindow.ui" line="55"/>
|
||||
<source>font</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="259"/>
|
||||
<source>File Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="263"/>
|
||||
<source>Modified Date</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="267"/>
|
||||
<source>File Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="271"/>
|
||||
<source>File Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="275"/>
|
||||
<source>Original Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="284"/>
|
||||
<source>Descending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="289"/>
|
||||
<source>Ascending</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="295"/>
|
||||
<source>Use global sorting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="315"/>
|
||||
<source>List View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/ui_kyfiledialog.cpp" line="316"/>
|
||||
<source>Icon View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-platformtheme/widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyFileDialogHelper</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2706"/>
|
||||
<source>Open File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2707"/>
|
||||
<source>Save File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2720"/>
|
||||
<source>All Files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUIFileDialog::KyNativeFileDialog</name>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="221"/>
|
||||
<source>Go Back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="228"/>
|
||||
<source>Go Forward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="234"/>
|
||||
<source>Cd Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="241"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="249"/>
|
||||
<source>View Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="260"/>
|
||||
<source>Sort Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="265"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="378"/>
|
||||
<source>Maximize</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="279"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="375"/>
|
||||
<source>Restore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="987"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="990"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1578"/>
|
||||
<source>Open</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="991"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1000"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="995"/>
|
||||
<source>Save as</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="997"/>
|
||||
<source>New Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="999"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1582"/>
|
||||
<source>Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1035"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1036"/>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1038"/>
|
||||
<source>Directories</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1227"/>
|
||||
<source>exist, are you sure replace?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="1920"/>
|
||||
<source>NewFolder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2208"/>
|
||||
<source>Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2215"/>
|
||||
<source>Redo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>warn</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt5-ukui-filedialog/kyfiledialog.cpp" line="2414"/>
|
||||
<source>This operation is not supported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="fa_IR">
|
||||
<context>
|
||||
<name>MessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="97"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="272"/>
|
||||
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.h" line="274"/>
|
||||
<source>Incompatible Qt Library Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QDialogButtonBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="362"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1090"/>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QMessageBox</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="418"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Show Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="881"/>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="1517"/>
|
||||
<source>Hide Details...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../widget/messagebox/message-box.cpp" line="730"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UKUI::TabWidget::DefaultSlideAnimatorFactory</name>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="50"/>
|
||||
<source>Default Slide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../libqt5-ukui-style/animations/tabwidget/ukui-tabwidget-default-slide-animator-factory.h" line="51"/>
|
||||
<source>Let tab widget switch with a slide animation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue