Import Upstream version 3.0.2.0216
21
README.md
|
@ -33,24 +33,3 @@ Note: build-depends references the paragraph in debian/control.
|
|||
> sudo make install
|
||||
|
||||
Note: If you want to run ukui-menu, You just need to execute the ukui-menu command at the terminal.
|
||||
|
||||
## DBUS interface
|
||||
|
||||
BUS Name:org.ukui.menu
|
||||
|
||||
path:/org/ukui/menu
|
||||
|
||||
Interface:org.ukui.menu
|
||||
|
||||
Method name:
|
||||
|
||||
GetMenuStatus () <---> Get ukui-menu display hidden status
|
||||
|
||||
WinKeyResponse () <---> ukui-menu display hidden state change interface
|
||||
|
||||
GetSecurityConfigPath () <---> Get security control profile path
|
||||
|
||||
## Configuration file
|
||||
|
||||
.config/ukui/Ukuimenu.db
|
||||
|
||||
|
|
Before Width: | Height: | Size: 633 B |
Before Width: | Height: | Size: 361 B |
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="DM-icon-所有应用" transform="translate(-441 -38)">
|
||||
<rect id="尺寸-16" width="16" height="16" transform="translate(441 38)" fill="none"/>
|
||||
<path id="所有应用" d="M5.5,0H2.3A1.2,1.2,0,0,0,1.1,1.2V4.4A1.2,1.2,0,0,0,2.3,5.6H5.5A1.2,1.2,0,0,0,6.7,4.4V1.2A1.2,1.2,0,0,0,5.5,0ZM2.3.8H5.5a.4.4,0,0,1,.4.4V4.4a.4.4,0,0,1-.4.4H2.3a.4.4,0,0,1-.4-.4V1.2A.4.4,0,0,1,2.3.8ZM11.9,0H8.7A1.2,1.2,0,0,0,7.5,1.2V4.4A1.2,1.2,0,0,0,8.7,5.6h3.2a1.2,1.2,0,0,0,1.2-1.2V1.2A1.2,1.2,0,0,0,11.9,0ZM8.7.8h3.2a.4.4,0,0,1,.4.4V4.4a.4.4,0,0,1-.4.4H8.7a.4.4,0,0,1-.4-.4V1.2A.4.4,0,0,1,8.7.8Zm3.2,5.6H8.7A1.2,1.2,0,0,0,7.5,7.6v3.2A1.2,1.2,0,0,0,8.7,12h3.2a1.2,1.2,0,0,0,1.2-1.2V7.6a1.2,1.2,0,0,0-1.2-1.2Zm-3.2.8h3.2a.4.4,0,0,1,.4.4v3.2a.4.4,0,0,1-.4.4H8.7a.4.4,0,0,1-.4-.4V7.6a.4.4,0,0,1,.4-.4ZM5.5,6.4H2.3A1.2,1.2,0,0,0,1.1,7.6v3.2A1.2,1.2,0,0,0,2.3,12H5.5a1.2,1.2,0,0,0,1.2-1.2V7.6A1.2,1.2,0,0,0,5.5,6.4Zm-3.2.8H5.5a.4.4,0,0,1,.4.4v3.2a.4.4,0,0,1-.4.4H2.3a.4.4,0,0,1-.4-.4V7.6a.4.4,0,0,1,.4-.4Z" transform="translate(441.898 40)" fill="#e0e0e0"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 230 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="DM-icon-_arrow" data-name="DM-icon- arrow" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="热点区域" width="16" height="16" fill="#fff" opacity="0"/>
|
||||
<path id="arrow" d="M303.35,388.438l-2.091,2.364-2.091-2.364a.478.478,0,0,0-.751,0,.64.64,0,0,0,0,.849l2.466,2.788a.478.478,0,0,0,.751,0l2.466-2.788a.657.657,0,0,0,0-.849.489.489,0,0,0-.751,0Z" transform="translate(-293.256 -382.256)" fill="#fff" opacity="0.45"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 479 B |
Before Width: | Height: | Size: 460 B |
Before Width: | Height: | Size: 323 B |
|
@ -1,13 +0,0 @@
|
|||
<svg id="DM-icon-关闭" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
|
||||
<defs>
|
||||
<clipPath id="clip-path">
|
||||
<rect x="1" y="1" width="16" height="16" fill="none"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<g id="icon-关闭" transform="translate(-1 -1)" clip-path="url(#clip-path)" style="isolation: isolate">
|
||||
<g id="icon-关闭-2" data-name="icon-关闭" transform="translate(-261.743 -495)">
|
||||
<path id="联合_10" data-name="联合 10" d="M6.5,6.5h0v0h0v0Z" transform="translate(261.743 504.194) rotate(-45)" fill="none" stroke="#e0e0e0" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 721 B |
Before Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 292 B |
|
@ -1,13 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="DM-icon-功能排序" transform="translate(-412 -38)">
|
||||
<rect id="尺寸-16" width="16" height="16" transform="translate(412 38)" fill="none"/>
|
||||
<g id="功能" transform="translate(153 -597)">
|
||||
<g id="矩形_218" data-name="矩形 218" transform="translate(261 637)" fill="none" stroke="#e0e0e0" stroke-width="1">
|
||||
<rect width="12" height="12" rx="2" stroke="none"/>
|
||||
<rect x="0.5" y="0.5" width="11" height="11" rx="1.5" fill="none"/>
|
||||
</g>
|
||||
<rect id="矩形_219" data-name="矩形 219" width="5" height="1" transform="translate(267 642)" fill="#e0e0e0" opacity="0.752"/>
|
||||
<rect id="矩形_220" data-name="矩形 220" width="1" height="10" transform="translate(266 638)" fill="#e0e0e0" opacity="0.752"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 861 B |
Before Width: | Height: | Size: 285 B |
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="DM-icon-check" transform="translate(-317 -38)">
|
||||
<rect id="矩形" width="16" height="16" rx="1" transform="translate(317 38)" fill="#d8d8d8" opacity="0"/>
|
||||
<path id="路径" d="M8.489.287A1.068,1.068,0,0,1,9.22,0H10.6a.2.2,0,0,1,.146.354l-6.977,6.5a.535.535,0,0,1-.795-.076L-.147,2.455a.205.205,0,0,1,.172-.324h.99a1.062,1.062,0,0,1,.862.437L3.422,4.715a.214.214,0,0,0,.319.03Z" transform="translate(320.186 43)" fill="#e0e0e0"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 486 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="DM-icon-选项" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<path id="icon-三杠" d="M12682-11771v-1h14v1Zm0-5v-1h14v1Zm0-5v-1h14v1Z" transform="translate(-12681 11783.998)" fill="#e0e0e0"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 305 B |
Before Width: | Height: | Size: 432 B |
|
@ -1,10 +0,0 @@
|
|||
<svg id="DM-icon-search" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<g id="搜索" transform="translate(-230 -499)">
|
||||
<g id="椭圆_83" data-name="椭圆 83" transform="translate(232 501)" fill="none" stroke="#e0e0e0" stroke-width="1">
|
||||
<circle cx="6" cy="6" r="6" stroke="none"/>
|
||||
<circle cx="6" cy="6" r="5.5" fill="none"/>
|
||||
</g>
|
||||
<line id="直线_105" data-name="直线 105" x2="2" y2="2" transform="translate(242 511)" fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-width="1.2"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 762 B |
Before Width: | Height: | Size: 373 B |
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="DM-icon-返回" transform="translate(-520 -38)">
|
||||
<rect id="尺寸-16" width="16" height="16" transform="translate(520 38)" fill="none"/>
|
||||
<path id="icon-back" d="M20.309,14.869l-5.621,5.194,6,4.806" transform="translate(510.313 26.131)" fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" opacity="0.604"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 464 B |
Before Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 669 B |
Before Width: | Height: | Size: 392 B |
|
@ -1,7 +0,0 @@
|
|||
<svg id="DM-icon-字母排序" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<g id="字母" transform="translate(-259.451 -579.866)">
|
||||
<path id="路径_324" data-name="路径 324" d="M-22710,10451.866l5-12,5,12" transform="translate(22972.451 -9858)" fill="none" stroke="#e0e0e0" stroke-linejoin="bevel" stroke-width="1"/>
|
||||
<rect id="矩形_217" data-name="矩形 217" width="7" height="1" transform="translate(264 589)" fill="#e0e0e0"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 553 B |
Before Width: | Height: | Size: 559 B |
Before Width: | Height: | Size: 378 B |
|
@ -1,8 +0,0 @@
|
|||
<svg id="DM-icon-放大" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸" width="16" height="16" fill="none"/>
|
||||
<g id="icon" transform="translate(-622.5 -494.5)">
|
||||
<path id="路径_16" data-name="路径 16" d="M.45,10v4.5h4.5" transform="translate(623.551 494.5)" fill="none" stroke="#e6e6e6" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
|
||||
<path id="路径_17" data-name="路径 17" d="M0,0V4.5H4.5" transform="translate(636.999 500.5) rotate(180)" fill="none" stroke="#e6e6e6" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
|
||||
<circle id="椭圆_12" data-name="椭圆 12" cx="2" cy="2" r="2" transform="translate(628.5 500.5)" fill="#e6e6e6"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 760 B |
Before Width: | Height: | Size: 536 B |
Before Width: | Height: | Size: 327 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="icon-_所有应用" data-name="icon- 所有应用" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<path id="所有应用" d="M5.5,0H2.3A1.2,1.2,0,0,0,1.1,1.2V4.4A1.2,1.2,0,0,0,2.3,5.6H5.5A1.2,1.2,0,0,0,6.7,4.4V1.2A1.2,1.2,0,0,0,5.5,0ZM2.3.8H5.5a.4.4,0,0,1,.4.4V4.4a.4.4,0,0,1-.4.4H2.3a.4.4,0,0,1-.4-.4V1.2A.4.4,0,0,1,2.3.8ZM11.9,0H8.7A1.2,1.2,0,0,0,7.5,1.2V4.4A1.2,1.2,0,0,0,8.7,5.6h3.2a1.2,1.2,0,0,0,1.2-1.2V1.2A1.2,1.2,0,0,0,11.9,0ZM8.7.8h3.2a.4.4,0,0,1,.4.4V4.4a.4.4,0,0,1-.4.4H8.7a.4.4,0,0,1-.4-.4V1.2A.4.4,0,0,1,8.7.8Zm3.2,5.6H8.7A1.2,1.2,0,0,0,7.5,7.6v3.2A1.2,1.2,0,0,0,8.7,12h3.2a1.2,1.2,0,0,0,1.2-1.2V7.6a1.2,1.2,0,0,0-1.2-1.2Zm-3.2.8h3.2a.4.4,0,0,1,.4.4v3.2a.4.4,0,0,1-.4.4H8.7a.4.4,0,0,1-.4-.4V7.6a.4.4,0,0,1,.4-.4ZM5.5,6.4H2.3A1.2,1.2,0,0,0,1.1,7.6v3.2A1.2,1.2,0,0,0,2.3,12H5.5a1.2,1.2,0,0,0,1.2-1.2V7.6A1.2,1.2,0,0,0,5.5,6.4Zm-3.2.8H5.5a.4.4,0,0,1,.4.4v3.2a.4.4,0,0,1-.4.4H2.3a.4.4,0,0,1-.4-.4V7.6a.4.4,0,0,1,.4-.4Z" transform="translate(0.898 2)"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 491 B |
Before Width: | Height: | Size: 345 B |
|
@ -1,13 +0,0 @@
|
|||
<svg id="icon-_关闭" data-name="icon- 关闭" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
|
||||
<defs>
|
||||
<clipPath id="clip-path">
|
||||
<rect x="1" y="1" width="16" height="16" fill="none"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<g id="icon-关闭" transform="translate(-1 -1)" clip-path="url(#clip-path)" style="isolation: isolate">
|
||||
<g id="icon-关闭-2" data-name="icon-关闭" transform="translate(-261.743 -495)">
|
||||
<path id="联合_10" data-name="联合 10" d="M6.5,6.5h0v0h0v0Z" transform="translate(261.743 504.194) rotate(-45)" fill="none" stroke="#262626" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 744 B |
Before Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 226 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="icon-_下拉_小" data-name="icon- 下拉 小" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="热点区域" width="16" height="16" fill="#fff" opacity="0"/>
|
||||
<path id="arrow" d="M303.35,388.438l-2.091,2.364-2.091-2.364a.478.478,0,0,0-.751,0,.64.64,0,0,0,0,.849l2.466,2.788a.478.478,0,0,0,.751,0l2.466-2.788a.657.657,0,0,0,0-.849.489.489,0,0,0-.751,0Z" transform="translate(-293.256 -382.256)" opacity="0.504"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 472 B |
Before Width: | Height: | Size: 899 B |
Before Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 304 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="全屏_icon-关闭_" data-name="全屏 icon-关闭 " xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<path id="联合_10" data-name="联合 10" d="M5.658,5.657h0v0h0v0Z" transform="translate(0 8) rotate(-45)" fill="none" stroke="#333" stroke-width="1"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 363 B |
Before Width: | Height: | Size: 393 B |
Before Width: | Height: | Size: 260 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="全屏_icon-_下拉_" data-name="全屏 icon- 下拉 " xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="矩形_237" data-name="矩形 237" width="16" height="16" fill="none"/>
|
||||
<path id="icon-_arrow_白" data-name="icon- arrow 白" d="M306.746,388.528l-3.485,3.546-3.485-3.546a.854.854,0,0,0-1.251,0,.89.89,0,0,0,0,1.273l4.111,4.182a.854.854,0,0,0,1.251,0L308,389.8a.911.911,0,0,0,0-1.273.874.874,0,0,0-1.251,0Z" transform="translate(-295.256 -383.256)" fill="#fff" opacity="0.351"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 543 B |
Before Width: | Height: | Size: 550 B |
Before Width: | Height: | Size: 380 B |
|
@ -1,11 +0,0 @@
|
|||
<svg id="全屏_icon-功能排序_" data-name="全屏 icon-功能排序 " xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<rect id="尺寸-24" width="24" height="24" rx="4" fill="none"/>
|
||||
<g id="组_211" data-name="组 211" transform="translate(0.922 0.923)">
|
||||
<rect id="矩形_219" data-name="矩形 219" width="10" height="1.5" transform="translate(11.077 9.077)" fill="#fff" opacity="0.746"/>
|
||||
<rect id="矩形_220" data-name="矩形 220" width="1.5" height="20" transform="translate(9.577 1.077)" fill="#fff" opacity="0.746"/>
|
||||
<g id="矩形_218" data-name="矩形 218" transform="translate(0.077 0.077)" fill="none" stroke="#fff" stroke-linejoin="bevel" stroke-width="1.5">
|
||||
<rect width="22" height="22" rx="3" stroke="none"/>
|
||||
<rect x="0.75" y="0.75" width="20.5" height="20.5" rx="2.25" fill="none"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 884 B |
Before Width: | Height: | Size: 867 B |
Before Width: | Height: | Size: 472 B |
|
@ -1,7 +0,0 @@
|
|||
<svg id="全屏_icon-字母排序" data-name="全屏 icon-字母排序" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<rect id="尺寸-24" width="24" height="24" rx="4" fill="none"/>
|
||||
<g id="字母-大" transform="translate(3 1)" opacity="0.9">
|
||||
<path id="路径_324" data-name="路径 324" d="M-22710,10460.865l9-21,9,21" transform="translate(22709.996 -10439.865)" fill="none" stroke="#fff" stroke-linejoin="bevel" stroke-width="1.5"/>
|
||||
<rect id="矩形_217" data-name="矩形 217" width="10.462" height="1.5" transform="translate(3.86 12.433)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 566 B |
Before Width: | Height: | Size: 382 B |
|
@ -1,10 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24.499" height="24.5" viewBox="0 0 24.499 24.5">
|
||||
<g id="全屏_icon-缩小_" data-name="全屏 icon-缩小 " transform="translate(0.25 0.25)">
|
||||
<rect id="尺寸-24" width="24" height="24" rx="4" fill="none"/>
|
||||
<g id="缩小" transform="translate(1 1.999)" opacity="0.852">
|
||||
<path id="路径_16" data-name="路径 16" d="M6.95,16.5V10H.45" transform="translate(-0.95 5.001)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
|
||||
<path id="路径_17" data-name="路径 17" d="M0,0V6.5H6.5" transform="translate(15.999 -1.499)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
|
||||
<circle id="椭圆_12" data-name="椭圆 12" cx="2.5" cy="2.5" r="2.5" transform="translate(8.5 7.501)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 872 B |
Before Width: | Height: | Size: 695 B |
Before Width: | Height: | Size: 379 B |
|
@ -1,7 +0,0 @@
|
|||
<svg id="全屏_icon-搜索_" data-name="全屏 icon-搜索 " xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="矩形_236" data-name="矩形 236" width="16" height="16" fill="none"/>
|
||||
<g id="路径" transform="translate(1 1)" fill="none" stroke-miterlimit="10">
|
||||
<path d="M6.446,0a6.447,6.447,0,0,1,5.126,10.356l2.18,2.181a.87.87,0,0,1,0,1.216h0a.87.87,0,0,1-1.216,0l-2.181-2.18A6.447,6.447,0,1,1,6.446,0Z" stroke="none"/>
|
||||
<path d="M 6.446412086486816 1.000001907348633 C 3.443252563476562 1.000001907348633 1.000001907348633 3.443252563476562 1.000001907348633 6.446412086486816 C 1.000001907348633 9.44957160949707 3.443252563476562 11.89281272888184 6.446412086486816 11.89281272888184 C 7.65184211730957 11.89281272888184 8.79376220703125 11.50727272033691 9.74874210357666 10.77787208557129 L 10.33222103118896 10.33222103118896 L 10.77787208557129 9.74874210357666 C 11.50727272033691 8.79376220703125 11.89281272888184 7.65184211730957 11.89281272888184 6.446412086486816 C 11.89281272888184 3.443252563476562 9.44957160949707 1.000001907348633 6.446412086486816 1.000001907348633 M 6.446412086486816 1.9073486328125e-06 C 10.00666236877441 1.9073486328125e-06 12.89281177520752 2.886152267456055 12.89281177520752 6.446412086486816 C 12.89281177520752 7.916312217712402 12.40084266662598 9.271322250366211 11.57258224487305 10.35573196411133 L 13.75247192382812 12.53664207458496 C 14.08256244659424 12.86689186096191 14.0825023651123 13.42217254638672 13.75233173370361 13.75233173370361 C 13.58723163604736 13.91743755340576 13.36581897735596 14 13.1444206237793 14 C 12.92307662963867 14 12.70174694061279 13.91749668121338 12.53664207458496 13.75247192382812 L 10.35573196411133 11.57258224487305 C 9.271322250366211 12.40084266662598 7.916312217712402 12.89281177520752 6.446412086486816 12.89281177520752 C 2.886152267456055 12.89281177520752 1.9073486328125e-06 10.00666236877441 1.9073486328125e-06 6.446412086486816 C 1.9073486328125e-06 2.886152267456055 2.886152267456055 1.9073486328125e-06 6.446412086486816 1.9073486328125e-06 Z" stroke="none" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 482 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="全屏_icon-所有应用" data-name="全屏 icon-所有应用" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<rect id="尺寸-24" width="24" height="24" rx="4" fill="none"/>
|
||||
<path id="所有" d="M8.434,0H3.1a2,2,0,0,0-2,2V7.333a2,2,0,0,0,2,2H8.434a2,2,0,0,0,2-2V2A2,2,0,0,0,8.434,0ZM3.1,1.333H8.434A.667.667,0,0,1,9.1,2V7.333A.667.667,0,0,1,8.434,8H3.1a.667.667,0,0,1-.667-.667V2A.667.667,0,0,1,3.1,1.333ZM19.1,0H13.768a2,2,0,0,0-2,2V7.333a2,2,0,0,0,2,2H19.1a2,2,0,0,0,2-2V2A2,2,0,0,0,19.1,0ZM13.768,1.333H19.1A.667.667,0,0,1,19.768,2V7.333A.667.667,0,0,1,19.1,8H13.768a.667.667,0,0,1-.667-.667V2a.667.667,0,0,1,.667-.667ZM19.1,10.667H13.768a2,2,0,0,0-2,2V18a2,2,0,0,0,2,2H19.1a2,2,0,0,0,2-2V12.667a2,2,0,0,0-2-2ZM13.768,12H19.1a.667.667,0,0,1,.667.667V18a.667.667,0,0,1-.667.667H13.768A.667.667,0,0,1,13.1,18V12.667A.667.667,0,0,1,13.768,12ZM8.434,10.667H3.1a2,2,0,0,0-2,2V18a2,2,0,0,0,2,2H8.434a2,2,0,0,0,2-2V12.667a2,2,0,0,0-2-2ZM3.1,12H8.434a.667.667,0,0,1,.667.667V18a.667.667,0,0,1-.667.667H3.1A.667.667,0,0,1,2.434,18V12.667A.667.667,0,0,1,3.1,12Z" transform="translate(0.898 2)" fill="#fff" opacity="0.904"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 312 B |
|
@ -1,11 +0,0 @@
|
|||
<svg id="icon-_功能排序" data-name="icon- 功能排序" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<g id="功能" transform="translate(-259 -635)">
|
||||
<g id="矩形_218" data-name="矩形 218" transform="translate(261 637)" fill="none" stroke="#262626" stroke-width="1">
|
||||
<rect width="12" height="12" rx="2" stroke="none"/>
|
||||
<rect x="0.5" y="0.5" width="11" height="11" rx="1.5" fill="none"/>
|
||||
</g>
|
||||
<rect id="矩形_219" data-name="矩形 219" width="5" height="1" transform="translate(267 642)" fill="#595959"/>
|
||||
<rect id="矩形_220" data-name="矩形 220" width="1" height="10" transform="translate(266 638)" fill="#595959"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 766 B |
Before Width: | Height: | Size: 838 B |
Before Width: | Height: | Size: 430 B |
|
@ -1,10 +0,0 @@
|
|||
<svg id="icon-_search" data-name="icon- search" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<g id="搜索icon" transform="translate(-230 -499)">
|
||||
<g id="椭圆_83" data-name="椭圆 83" transform="translate(232 501)" fill="none" stroke="#262626" stroke-width="1">
|
||||
<circle cx="6" cy="6" r="6" stroke="none"/>
|
||||
<circle cx="6" cy="6" r="5.5" fill="none"/>
|
||||
</g>
|
||||
<line id="直线_105" data-name="直线 105" x2="2" y2="2" transform="translate(242 511)" fill="none" stroke="#262626" stroke-linecap="round" stroke-width="1.2"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 377 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="icon-_返回" data-name="icon- 返回" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<path id="icon-back" d="M20.309,14.869l-5.621,5.194,6,4.806" transform="translate(-9.688 -11.869)" fill="none" stroke="#5c5c5c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 392 B |
Before Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 176 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="icon-_选项" data-name="icon- 选项" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<path id="icon-三杠" d="M12682-11771v-1h14v1Zm0-5v-1h14v1Zm0-5v-1h14v1Z" transform="translate(-12681 11784.001)"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 313 B |
Before Width: | Height: | Size: 206 B |
Before Width: | Height: | Size: 330 B |
|
@ -1,4 +0,0 @@
|
|||
<svg id="icon-check" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="矩形" width="16" height="16" rx="1" fill="#d8d8d8" opacity="0"/>
|
||||
<path id="路径" d="M8.489.287A1.068,1.068,0,0,1,9.22,0H10.6a.2.2,0,0,1,.146.354l-6.977,6.5a.535.535,0,0,1-.795-.076L-.147,2.455a.205.205,0,0,1,.172-.324h.99a1.062,1.062,0,0,1,.862.437L3.422,4.715a.214.214,0,0,0,.319.03Z" transform="translate(3.186 5)" fill="#595959"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 459 B |
Before Width: | Height: | Size: 541 B |
Before Width: | Height: | Size: 688 B |
Before Width: | Height: | Size: 421 B |
|
@ -1,7 +0,0 @@
|
|||
<svg id="icon-_字母排序" data-name="icon- 字母排序" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸-16" width="16" height="16" fill="none"/>
|
||||
<g id="字母" transform="translate(-259.451 -579.866)">
|
||||
<path id="路径_324" data-name="路径 324" d="M-22710,10451.866l5-12,5,12" transform="translate(22972.451 -9858)" fill="none" stroke="#262626" stroke-linejoin="bevel" stroke-width="1"/>
|
||||
<rect id="矩形_217" data-name="矩形 217" width="7" height="1" transform="translate(264 589)" fill="#262626"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 582 B |
Before Width: | Height: | Size: 559 B |
Before Width: | Height: | Size: 390 B |
|
@ -1,8 +0,0 @@
|
|||
<svg id="icon-放大" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<rect id="尺寸" width="16" height="16" fill="none"/>
|
||||
<g id="icon" transform="translate(-622.5 -494.5)">
|
||||
<path id="路径_16" data-name="路径 16" d="M.45,10v4.5h4.5" transform="translate(623.551 494.5)" fill="none" stroke="#262626" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
|
||||
<path id="路径_17" data-name="路径 17" d="M0,0V4.5H4.5" transform="translate(636.999 500.5) rotate(180)" fill="none" stroke="#262626" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
|
||||
<circle id="椭圆_12" data-name="椭圆 12" cx="2" cy="2" r="2" transform="translate(628.5 500.5)" fill="#262626"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 757 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 632 B |
|
@ -1,5 +0,0 @@
|
|||
<svg id="icon-电源" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<rect id="矩形" width="24" height="24" fill="#d8d8d8" opacity="0"/>
|
||||
<path id="路径" d="M3.574,0A8.853,8.853,0,0,0,0,7.1,8.95,8.95,0,0,0,9,16a8.95,8.95,0,0,0,9-8.9A8.852,8.852,0,0,0,14.442.011" transform="translate(3 6)" fill="none" stroke="#f75d4f" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"/>
|
||||
<path id="路径_3" data-name="路径 3" d="M.694,8V0" transform="translate(11 3)" fill="none" stroke="#f75d4f" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 657 B |
|
@ -1,4 +0,0 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="8" height="8" rx="4" transform="matrix(0 -1 -1 0 16 16)" fill="white" fill-opacity="0.25"/>
|
||||
<rect x="-0.5" y="-0.5" width="7" height="7" rx="3.5" transform="matrix(0 -1 -1 0 15 15)" stroke="white" stroke-opacity="0.5"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 336 B |
|
@ -1,4 +0,0 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="8" height="16" rx="4" transform="matrix(0 -1 -1 0 20 16)" fill="white"/>
|
||||
<rect x="-0.5" y="-0.5" width="7" height="15" rx="3.5" transform="matrix(0 -1 -1 0 19 15)" stroke="white" stroke-opacity="0.5"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 318 B |
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ukui-global search-search-blue</title>
|
||||
<g id="Edu-OS-Light" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="TM-桌面01" transform="translate(-136.000000, -229.000000)">
|
||||
<g id="编组-4" transform="translate(112.000000, 72.000000)">
|
||||
<g id="bar-搜索" transform="translate(0.000000, 129.000000)">
|
||||
<g id="ukui-global-search-search-blue" transform="translate(24.000000, 28.000000)">
|
||||
<rect id="矩形" fill="#D8D8D8" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M20.0438748,18.9452961 C20.1903159,19.010529 20.3261068,19.1023875 20.4459222,19.2208716 L21.3871392,20.1620886 C21.9073266,20.682276 21.9073266,21.5256665 21.3871392,22.0458539 C20.8669518,22.5660413 20.0235614,22.5660413 19.503374,22.0458539 L18.562157,21.1046369 C18.4194646,20.9622814 18.3111039,20.7892687 18.2453117,20.5987494 C13.6793877,23.9173079 7.31736537,23.0972668 3.74219939,18.7293519 C0.167033407,14.361437 0.620549962,7.96283413 4.77605327,4.14284924 C8.93155659,0.32286435 15.3456416,0.408360923 19.3978496,4.33775053 C23.4500576,8.26714015 23.7328629,14.6755578 20.0425435,18.9466274 L20.0438748,18.9452961 Z M12,20 C16.418278,20 20,16.418278 20,12 C20,7.581722 16.418278,4 12,4 C7.581722,4 4,7.581722 4,12 C4,16.418278 7.581722,20 12,20 Z" id="形状" fill="#33BFE9"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.7 KiB |
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ukui-global search-search</title>
|
||||
<g id="Edu-OS-Light" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="TM-桌面01" transform="translate(-136.000000, -229.000000)">
|
||||
<g id="编组-4" transform="translate(112.000000, 72.000000)">
|
||||
<g id="bar-搜索" transform="translate(0.000000, 129.000000)">
|
||||
<g id="ukui-global-search-search" transform="translate(24.000000, 28.000000)">
|
||||
<rect id="矩形" fill="#D8D8D8" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M20.0438748,18.9452961 C20.1903159,19.010529 20.3261068,19.1023875 20.4459222,19.2208716 L21.3871392,20.1620886 C21.9073266,20.682276 21.9073266,21.5256665 21.3871392,22.0458539 C20.8669518,22.5660413 20.0235614,22.5660413 19.503374,22.0458539 L18.562157,21.1046369 C18.4194646,20.9622814 18.3111039,20.7892687 18.2453117,20.5987494 C13.6793877,23.9173079 7.31736537,23.0972668 3.74219939,18.7293519 C0.167033407,14.361437 0.620549962,7.96283413 4.77605327,4.14284924 C8.93155659,0.32286435 15.3456416,0.408360923 19.3978496,4.33775053 C23.4500576,8.26714015 23.7328629,14.6755578 20.0425435,18.9466274 L20.0438748,18.9452961 Z M12,20 C16.418278,20 20,16.418278 20,12 C20,7.581722 16.418278,4 12,4 C7.581722,4 4,7.581722 4,12 C4,16.418278 7.581722,20 12,20 Z" id="形状" fill="#6F6F6F"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
66
main.cpp
|
@ -16,8 +16,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "mainwindow.h"
|
||||
#include "tabletwindow.h"
|
||||
#include "src/MainWindow/mainwindow.h"
|
||||
#include <QtSingleApplication>
|
||||
#include <QDesktopWidget>
|
||||
#include <QFile>
|
||||
|
@ -26,20 +25,20 @@
|
|||
#include <QLocale>
|
||||
#include <X11/Xlib.h>
|
||||
#include <syslog.h>
|
||||
#include "utility.h"
|
||||
#include "file-utils.h"
|
||||
#include "src/UtilityFunction/proxystyle.h"
|
||||
#include <KWindowEffects>
|
||||
#include "src/UtilityFunction/utility.h"
|
||||
#include "src/SearchResultWidget/file-utils.h"
|
||||
#include <ukuisdk/kylin-com4c.h>
|
||||
#include <ukuisdk/kylin-com4cxx.h>
|
||||
#define UKUI_SERVICE "org.gnome.SessionManager"
|
||||
#define UKUI_PATH "/org/gnome/SessionManager"
|
||||
#define UKUI_INTERFACE "org.gnome.SessionManager"
|
||||
#include "src/UtilityFunction/utility.h"
|
||||
|
||||
#include <ukui-log4qt.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
initUkuiLog4qt("ukui-menu");
|
||||
g_projectCodeName = KDKGetPrjCodeName().c_str();
|
||||
projectCodeName = KDKGetPrjCodeName().c_str();
|
||||
qRegisterMetaType<QVector<QStringList>>("QVector<QStringList>");
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
|
||||
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
|
@ -64,45 +63,14 @@ int main(int argc, char *argv[])
|
|||
myDebug() << "Load translations file" << QLocale() << "failed!";
|
||||
}
|
||||
|
||||
if (!g_projectCodeName.contains("V10SP1-edu")) {
|
||||
FileUtils::loadHanziTable(":/src/BackProcess/Search/pinyinWithoutTone.txt");
|
||||
MainWindow w;
|
||||
app.setActivationWindow(&w);
|
||||
|
||||
if (Style::m_panelPosition == 0) {
|
||||
w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + Style::m_availableScreenHeight - Style::minh - 3,
|
||||
Style::minw, Style::minh));
|
||||
} else if (Style::m_panelPosition == 1) {
|
||||
w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + 4, Style::minw, Style::minh));
|
||||
} else if (Style::m_panelPosition == 2) {
|
||||
w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + 4, Style::minw, Style::minh));
|
||||
} else {
|
||||
w.setGeometry(QRect(Style::m_primaryScreenX + Style::m_availableScreenWidth - Style::minw - 4, Style::m_primaryScreenY + 4,
|
||||
Style::minw, Style::minh));
|
||||
}
|
||||
|
||||
w.show();
|
||||
w.raise();
|
||||
w.update();
|
||||
w.activateWindow();
|
||||
w.hide();
|
||||
return app.exec();
|
||||
} else {
|
||||
TabletWindow w;
|
||||
app.setActivationWindow(&w);
|
||||
centerToScreen(&w);
|
||||
w.setAttribute(Qt::WA_TranslucentBackground, true);
|
||||
w.setAttribute(Qt::WA_X11NetWmWindowTypeDesktop, false);
|
||||
w.setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint);
|
||||
w.raise();
|
||||
w.activateWindow();
|
||||
//拉起后通知session
|
||||
QDBusInterface interface(UKUI_SERVICE,
|
||||
UKUI_PATH,
|
||||
UKUI_INTERFACE,
|
||||
QDBusConnection::sessionBus());
|
||||
interface.call("startupfinished", "ukui-menu", "finish");
|
||||
return app.exec();
|
||||
}
|
||||
Zeeker::FileUtils::loadHanziTable(":/src/SearchResultWidget/pinyinWithoutTone.txt");
|
||||
MainWindow w;
|
||||
app.setActivationWindow(&w);
|
||||
w.show();
|
||||
w.raise();
|
||||
w.update();
|
||||
w.activateWindow();
|
||||
w.hide();
|
||||
//测试
|
||||
return app.exec();
|
||||
}
|
||||
|
||||
|
|
184
res.qrc
|
@ -1,128 +1,13 @@
|
|||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>data/img/mainviewwidget/all-2x.png</file>
|
||||
<file>data/img/mainviewwidget/all.png</file>
|
||||
<file>data/img/mainviewwidget/all.svg</file>
|
||||
<file>data/img/mainviewwidget/attributeaction.svg</file>
|
||||
<file>data/img/mainviewwidget/close-2x.png</file>
|
||||
<file>data/img/mainviewwidget/close.png</file>
|
||||
<file>data/img/mainviewwidget/close.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-all-2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-all.png</file>
|
||||
<file>data/img/mainviewwidget/DM-all.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-close-2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-close.png</file>
|
||||
<file>data/img/mainviewwidget/DM-close.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-function-2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-function.png</file>
|
||||
<file>data/img/mainviewwidget/DM-function.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-arrow.png</file>
|
||||
<file>data/img/mainviewwidget/DM-arrow.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-arrow-2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-返回.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-返回.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-返回@2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-选项.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-选项@2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-check.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-check.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-check@2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-search.png</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-search.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-search@2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-letter-2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-letter.png</file>
|
||||
<file>data/img/mainviewwidget/DM-letter.svg</file>
|
||||
<file>data/img/mainviewwidget/DM-max-2x.png</file>
|
||||
<file>data/img/mainviewwidget/DM-max.png</file>
|
||||
<file>data/img/mainviewwidget/DM-max.svg</file>
|
||||
<file>data/img/mainviewwidget/downarrow-pressed.svg</file>
|
||||
<file>data/img/mainviewwidget/downarrow.svg</file>
|
||||
<file>data/img/mainviewwidget/drop-down-2x.png</file>
|
||||
<file>data/img/mainviewwidget/drop-down.png</file>
|
||||
<file>data/img/mainviewwidget/drop-down.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/fixed.svg</file>
|
||||
<file>data/img/mainviewwidget/full-all-2x.png</file>
|
||||
<file>data/img/mainviewwidget/full-close-2x.png</file>
|
||||
<file>data/img/mainviewwidget/full-close.png</file>
|
||||
<file>data/img/mainviewwidget/full-close.svg</file>
|
||||
<file>data/img/mainviewwidget/full-drop-down-2x.png</file>
|
||||
<file>data/img/mainviewwidget/full-drop-down.png</file>
|
||||
<file>data/img/mainviewwidget/full-drop-down.svg</file>
|
||||
<file>data/img/mainviewwidget/full-function-2x.png</file>
|
||||
<file>data/img/mainviewwidget/full-function.png</file>
|
||||
<file>data/img/mainviewwidget/full-function.svg</file>
|
||||
<file>data/img/mainviewwidget/full-letter-2x.png</file>
|
||||
<file>data/img/mainviewwidget/full-letter.png</file>
|
||||
<file>data/img/mainviewwidget/full-letter.svg</file>
|
||||
<file>data/img/mainviewwidget/full-min-2x.png</file>
|
||||
<file>data/img/mainviewwidget/full-min.png</file>
|
||||
<file>data/img/mainviewwidget/full-min.svg</file>
|
||||
<file>data/img/mainviewwidget/full-search-2x.png</file>
|
||||
<file>data/img/mainviewwidget/full-search.png</file>
|
||||
<file>data/img/mainviewwidget/full-search.svg</file>
|
||||
<file>data/img/mainviewwidget/fullicon-all.png</file>
|
||||
<file>data/img/mainviewwidget/fullicon-all.svg</file>
|
||||
<file>data/img/mainviewwidget/function-2x.png</file>
|
||||
<file>data/img/mainviewwidget/function.png</file>
|
||||
<file>data/img/mainviewwidget/function.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/icon- 返回.png</file>
|
||||
<file>data/img/mainviewwidget/icon- 返回.svg</file>
|
||||
<file>data/img/mainviewwidget/icon- 返回@2x.png</file>
|
||||
<file>data/img/mainviewwidget/icon- 选项.png</file>
|
||||
<file>data/img/mainviewwidget/icon- 选项.svg</file>
|
||||
<file>data/img/mainviewwidget/icon- 选项@2x.png</file>
|
||||
<file>data/img/mainviewwidget/icon- search-2x.png</file>
|
||||
<file>data/img/mainviewwidget/icon- search.png</file>
|
||||
<file>data/img/mainviewwidget/icon- search.svg</file>
|
||||
<file>data/img/mainviewwidget/icon-check.png</file>
|
||||
<file>data/img/mainviewwidget/icon-check.svg</file>
|
||||
<file>data/img/mainviewwidget/icon-check@2x.png</file>
|
||||
<file>data/img/mainviewwidget/Image-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Image-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Image-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Image-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/leftarrow-hover.svg</file>
|
||||
<file>data/img/mainviewwidget/leftarrow.svg</file>
|
||||
<file>data/img/mainviewwidget/letter-2x.png</file>
|
||||
<file>data/img/mainviewwidget/letter.png</file>
|
||||
<file>data/img/mainviewwidget/letter.svg</file>
|
||||
<file>data/img/mainviewwidget/lock-fs.svg</file>
|
||||
<file>data/img/mainviewwidget/lock.svg</file>
|
||||
<file>data/img/mainviewwidget/max-2x.png</file>
|
||||
<file>data/img/mainviewwidget/max.png</file>
|
||||
<file>data/img/mainviewwidget/max.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/power-2x.png</file>
|
||||
<file>data/img/mainviewwidget/power.png</file>
|
||||
<file>data/img/mainviewwidget/power.svg</file>
|
||||
<file>data/img/mainviewwidget/recent-disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/recent-enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/recent-gray.svg</file>
|
||||
|
@ -130,26 +15,10 @@
|
|||
<file>data/img/mainviewwidget/rightarrow-hover.svg</file>
|
||||
<file>data/img/mainviewwidget/rightarrow.svg</file>
|
||||
<file>data/img/mainviewwidget/search.svg</file>
|
||||
<file>data/img/mainviewwidget/select.svg</file>
|
||||
<file>data/img/mainviewwidget/selected.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/ukui-search-blue.svg</file>
|
||||
<file>data/img/mainviewwidget/ukui-search.svg</file>
|
||||
<file>data/img/mainviewwidget/unfixed.svg</file>
|
||||
<file>data/img/mainviewwidget/uninstall.svg</file>
|
||||
<file>data/img/mainviewwidget/uparrow-pressed.svg</file>
|
||||
<file>data/img/mainviewwidget/uparrow.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Normal.svg</file>
|
||||
<file>data/img/sidebarwidget/commonuse.svg</file>
|
||||
<file>data/img/sidebarwidget/computer.svg</file>
|
||||
<file>data/img/sidebarwidget/control.svg</file>
|
||||
|
@ -160,16 +29,59 @@
|
|||
<file>data/img/sidebarwidget/lock.svg</file>
|
||||
<file>data/img/sidebarwidget/max.svg</file>
|
||||
<file>data/img/sidebarwidget/min.svg</file>
|
||||
<file>data/img/sidebarwidget/personal.svg</file>
|
||||
<file>data/img/sidebarwidget/rightarrow.svg</file>
|
||||
<file>data/img/sidebarwidget/setting.svg</file>
|
||||
<file>data/img/sidebarwidget/shutdown.svg</file>
|
||||
<file>data/img/sidebarwidget/trash.svg</file>
|
||||
<file>data/img/sidebarwidget/unfixed.svg</file>
|
||||
<file>data/img/sidebarwidget/usericon-darkcolor.svg</file>
|
||||
<file>data/img/sidebarwidget/usericon-lightcolor.svg</file>
|
||||
<file>src/BackProcess/Search/pinyinWithoutTone.txt</file>
|
||||
<file>src/BackProcess/Search/pinyinWithTone.txt</file>
|
||||
<file>data/img/mainviewwidget/DM-icon-option.svg</file>
|
||||
<file>data/img/sidebarwidget/personal.svg</file>
|
||||
<file>data/img/sidebarwidget/trash.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Development-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Education-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Game-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Image-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Image-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Image-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Image-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Internet-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Office-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Others-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Social-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/System-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Video-Normal.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Checked.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Disabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Enabled.svg</file>
|
||||
<file>data/img/mainviewwidget/Mobile-Normal.svg</file>
|
||||
<file>src/SearchResultWidget/pinyinWithTone.txt</file>
|
||||
<file>src/SearchResultWidget/pinyinWithoutTone.txt</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
#include "dbus.h"
|
||||
#include <QFileInfo>
|
||||
#include <QDir>
|
||||
#include "utility.h"
|
||||
|
||||
DBus::DBus(QObject *parent) : QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void DBus::ReloadSecurityConfig()
|
||||
{
|
||||
Q_EMIT sendReloadSignal();
|
||||
}
|
||||
|
||||
QString DBus::GetSecurityConfigPath()
|
||||
{
|
||||
QString path = QDir::homePath() + "/.config/ukui-menu-security-config.json";
|
||||
return path;
|
||||
}
|
||||
|
||||
void DBus::WinKeyResponse()
|
||||
{
|
||||
Q_EMIT winKeyResponseSignal();
|
||||
}
|
||||
|
||||
bool DBus::GetMenuStatus()
|
||||
{
|
||||
return g_menuStatus;
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
#ifndef DBUS_H
|
||||
#define DBUS_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class DBus : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_CLASSINFO("D-Bus Interface", "org.ukui.menu")
|
||||
public:
|
||||
explicit DBus(QObject *parent = 0);
|
||||
|
||||
Q_SIGNALS:
|
||||
void sendReloadSignal();
|
||||
void winKeyResponseSignal();
|
||||
|
||||
public Q_SLOTS:
|
||||
QString GetSecurityConfigPath();
|
||||
void ReloadSecurityConfig();
|
||||
void WinKeyResponse();
|
||||
bool GetMenuStatus();
|
||||
};
|
||||
|
||||
#endif // DBUS_H
|
|
@ -1,38 +0,0 @@
|
|||
#include "desktop_watcher.h"
|
||||
#include <QDir>
|
||||
#include <QEventLoop>
|
||||
|
||||
DesktopWatcher::DesktopWatcher()
|
||||
{
|
||||
//监控.desktop文件目录
|
||||
m_fileWatcher = new QFileSystemWatcher;
|
||||
m_fileWatcher->addPaths(QStringList() << QString("/usr/share/applications")
|
||||
<< QString(QDir::homePath() + "/.local/share/applications/")
|
||||
<< QString("/var/lib/snapd/desktop/applications/")
|
||||
<< QString("/var/lib/flatpak/exports/share/applications/"));
|
||||
connect(m_fileWatcher, &QFileSystemWatcher::directoryChanged, this, &DesktopWatcher::directoryChangedSlot);
|
||||
// m_recentFile = new QFileSystemWatcher;
|
||||
// m_recentFile->addPath(QString(QDir::homePath()+"/.local/share/recently-used.xbel"));
|
||||
// connect(m_recentFile,&QFileSystemWatcher::fileChanged,this,[=](){
|
||||
// m_recentFile->addPath(QDir::homePath()+"/.local/share/recently-used.xbel");
|
||||
// Q_EMIT updateRecentList();});
|
||||
m_directoryChangedThread = new DirectoryChangedThread;
|
||||
connect(m_directoryChangedThread, &DirectoryChangedThread::requestUpdateSignal, this, &DesktopWatcher::requestUpdateSlot);
|
||||
}
|
||||
|
||||
/**
|
||||
* desktop文件目录改变信号槽
|
||||
*/
|
||||
void DesktopWatcher::directoryChangedSlot(const QString &path)
|
||||
{
|
||||
QEventLoop loop;
|
||||
QTimer::singleShot(100, &loop, SLOT(quit()));
|
||||
loop.exec();
|
||||
m_directoryChangedThread->start();
|
||||
}
|
||||
|
||||
void DesktopWatcher::requestUpdateSlot()
|
||||
{
|
||||
m_directoryChangedThread->quit();
|
||||
Q_EMIT directoryChangedSignal();
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
#ifndef DESKTOPWATCHER_H
|
||||
#define DESKTOPWATCHER_H
|
||||
#include <QFileSystemWatcher>
|
||||
#include "directory_changed_thread.h"
|
||||
|
||||
|
||||
class DesktopWatcher : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DesktopWatcher();
|
||||
|
||||
public:
|
||||
Q_SIGNALS:
|
||||
/**
|
||||
* @brief Desktop file directory change signal
|
||||
*/
|
||||
void directoryChangedSignal();
|
||||
void updateRecentList();
|
||||
|
||||
public Q_SLOTS:
|
||||
|
||||
void directoryChangedSlot(const QString &path);
|
||||
void requestUpdateSlot();
|
||||
|
||||
private:
|
||||
QFileSystemWatcher *m_fileWatcher = nullptr; //Monitor desktop folder status
|
||||
// QFileSystemWatcher *m_recentFile=nullptr;
|
||||
DirectoryChangedThread *m_directoryChangedThread = nullptr;
|
||||
};
|
||||
|
||||
#endif // DESKTOPWATCHER_H
|
|
@ -1,147 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2019 Tianjin KYLIN Information Technology 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, 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 <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "tablet_directorychanged_thread.h"
|
||||
#include <syslog.h>
|
||||
#include <QIcon>
|
||||
#include <QtDBus>
|
||||
#include "tabletlistview.h"
|
||||
#include <QDebug>
|
||||
#include <QEventLoop>
|
||||
|
||||
TabletDirectoryChangedThread::TabletDirectoryChangedThread()
|
||||
{
|
||||
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||
QString path = QDir::homePath() + "/.config/ukui/ukui-menu.ini";
|
||||
setting = new QSettings(path, QSettings::IniFormat);
|
||||
}
|
||||
|
||||
TabletDirectoryChangedThread::~TabletDirectoryChangedThread()
|
||||
{
|
||||
if (m_ukuiMenuInterface) {
|
||||
delete m_ukuiMenuInterface;
|
||||
}
|
||||
|
||||
if (setting) {
|
||||
delete setting;
|
||||
}
|
||||
|
||||
m_ukuiMenuInterface = nullptr;
|
||||
setting = nullptr;
|
||||
}
|
||||
|
||||
|
||||
void TabletDirectoryChangedThread::run()
|
||||
{
|
||||
QStringList desktopfpList = m_ukuiMenuInterface->getDesktopFilePath();
|
||||
myDebug() << "应用列表desktopfpList" << desktopfpList.size() << desktopfpList;
|
||||
myDebug() << "应用列表desktopfpVector" << UkuiMenuInterface::desktopfpVector.size() << UkuiMenuInterface::desktopfpVector;
|
||||
QString m_desktopfp;
|
||||
|
||||
for (int i = 0; i < desktopfpList.count(); i++) {
|
||||
myDebug() << desktopfpList.at(i) << "是否存在于已安装应用列表中" <<
|
||||
UkuiMenuInterface::desktopfpVector.contains(QString(desktopfpList.at(i)));
|
||||
|
||||
if (!UkuiMenuInterface::desktopfpVector.contains(QString(desktopfpList.at(i)))) {
|
||||
m_desktopfp = desktopfpList.at(i);
|
||||
myDebug() << "安装应用" << m_desktopfp;
|
||||
//获取当前时间戳
|
||||
QDateTime dt = QDateTime::currentDateTime();
|
||||
int datetime = dt.toTime_t();
|
||||
QString str = desktopfpList.at(i).section(' ', 0, 0);
|
||||
QStringList list = str.split('/');
|
||||
str = list[list.size() - 1];
|
||||
QString desktopfn = str;
|
||||
setting->beginGroup("recentapp");
|
||||
setting->setValue(desktopfn, datetime);
|
||||
setting->sync();
|
||||
setting->endGroup();
|
||||
//wgx
|
||||
setting->beginGroup("application");
|
||||
QStringList applist = setting->allKeys();
|
||||
int appnum = setting->allKeys().count();
|
||||
int maxindex = 0;
|
||||
|
||||
for (int i = 0; i < appnum; i++) {
|
||||
if (setting->value(applist.at(i)).toInt() > maxindex) {
|
||||
maxindex = setting->value(applist.at(i)).toInt();
|
||||
}
|
||||
}
|
||||
|
||||
setting->setValue(desktopfn, maxindex + 1); //setting->allKeys().count()
|
||||
setting->sync();
|
||||
setting->endGroup();
|
||||
//
|
||||
QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfpList.at(i));
|
||||
syslog(LOG_LOCAL0 | LOG_DEBUG, "%s", iconstr.toLocal8Bit().data());
|
||||
syslog(LOG_LOCAL0 | LOG_DEBUG, "软件安装desktop文件名:%s", desktopfn.toLocal8Bit().data());
|
||||
|
||||
Q_FOREACH (QString path, QIcon::themeSearchPaths()) {
|
||||
syslog(LOG_LOCAL0 | LOG_DEBUG, "%s", path.toLocal8Bit().data());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < UkuiMenuInterface::desktopfpVector.count(); i++) {
|
||||
if (!desktopfpList.contains(UkuiMenuInterface::desktopfpVector.at(i))) {
|
||||
QString desktopfp = UkuiMenuInterface::desktopfpVector.at(i);
|
||||
QFileInfo fileInfo(desktopfp);
|
||||
QString desktopfn = fileInfo.fileName();
|
||||
myDebug() << "卸载" << desktopfn;
|
||||
setting->beginGroup("lockapplication");
|
||||
setting->remove(desktopfn);
|
||||
setting->sync();
|
||||
setting->endGroup();
|
||||
setting->beginGroup("application");
|
||||
|
||||
if (!setting->contains(desktopfn)) {
|
||||
setting->sync();
|
||||
setting->endGroup();
|
||||
continue;
|
||||
}
|
||||
|
||||
int val = setting->value(desktopfn).toInt();
|
||||
myDebug() << "卸载val" << val;
|
||||
setting->remove(desktopfn);
|
||||
QStringList desktopfnList = setting->allKeys();
|
||||
|
||||
for (int i = 0; i < desktopfnList.count(); i++) {
|
||||
if (setting->value(desktopfnList.at(i)).toInt() > val) {
|
||||
setting->setValue(desktopfnList.at(i), setting->value(desktopfnList.at(i)).toInt() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
setting->sync();
|
||||
setting->endGroup();
|
||||
setting->beginGroup("recentapp");
|
||||
setting->remove(desktopfn);
|
||||
setting->sync();
|
||||
setting->endGroup();
|
||||
syslog(LOG_LOCAL0 | LOG_DEBUG, "软件卸载desktop文件名:%s", desktopfn.toLocal8Bit().data());
|
||||
QDBusInterface iface("com.ukui.panel.desktop",
|
||||
"/",
|
||||
"com.ukui.panel.desktop",
|
||||
QDBusConnection::sessionBus());
|
||||
iface.call("RemoveFromTaskbar", desktopfp);
|
||||
}
|
||||
}
|
||||
|
||||
UkuiMenuInterface::appInfoVector.clear();
|
||||
UkuiMenuInterface::appInfoVector = m_ukuiMenuInterface->createAppInfoVector();
|
||||
Q_EMIT requestUpdateSignal(m_desktopfp);
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2019 Tianjin KYLIN Information Technology 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, 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 <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef TABLETDIRECTORYCHANGEDTHREAD_H
|
||||
#define TABLETDIRECTORYCHANGEDTHREAD_H
|
||||
#include <QThread>
|
||||
#include <QObject>
|
||||
#include <QSettings>
|
||||
#include "ukuimenuinterface.h"
|
||||
#include <QStandardItemModel>
|
||||
#include <tabletlistview.h>
|
||||
|
||||
class TabletDirectoryChangedThread: public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TabletDirectoryChangedThread();
|
||||
~TabletDirectoryChangedThread();
|
||||
void run();
|
||||
|
||||
private:
|
||||
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
|
||||
QSettings *setting = nullptr;
|
||||
TabletListView *m_listView = nullptr;
|
||||
QStandardItemModel *listmodel = nullptr;
|
||||
|
||||
int index = 0;
|
||||
|
||||
Q_SIGNALS:
|
||||
/**
|
||||
* @brief Request update signal
|
||||
*/
|
||||
void requestUpdateSignal(QString desktopfp);
|
||||
void deleteAppSignal();
|
||||
|
||||
};
|
||||
|
||||
#endif // DIRECTORYCHANGEDTHREAD_H
|
|
@ -1,90 +0,0 @@
|
|||
#include "currenttime_interface.h"
|
||||
#include <QTimer>
|
||||
#define TIME_FORMAT "org.ukui.control-center.panel.plugins"
|
||||
#define TIME_FORMAT_KEY "hoursystem"
|
||||
#include <QDebug>
|
||||
#include <QGSettings>
|
||||
|
||||
CurrentTimeInterface::CurrentTimeInterface()
|
||||
{
|
||||
//获得语言环境
|
||||
dateTime = new QDateTime;
|
||||
myTimer = new QTimer();
|
||||
myTimer->start(1000);
|
||||
|
||||
if (QGSettings::isSchemaInstalled(TIME_FORMAT)) {
|
||||
timeSetting = new QGSettings(TIME_FORMAT);
|
||||
|
||||
if (timeSetting->keys().contains(TIME_FORMAT_KEY) && timeSetting->keys().contains("date")) {
|
||||
timeFormat = timeSetting->get(TIME_FORMAT_KEY).toString();
|
||||
timeSlash = timeSetting->get("date").toString();
|
||||
getDateTime(timeFormat);
|
||||
connect(timeSetting, &QGSettings::changed, this, [ = ](const QString & key) {
|
||||
if (key == "hoursystem") {
|
||||
timeFormat = timeSetting->get(TIME_FORMAT_KEY).toString();
|
||||
getDateTime(timeFormat);
|
||||
} else if (key == "date") {
|
||||
timeSlash = timeSetting->get("date").toString();
|
||||
|
||||
if (timeSlash == "en") {
|
||||
currentDate = currentDate.replace("/", "-");
|
||||
} else {
|
||||
currentDate = currentDate.replace("-", "/");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
connect(myTimer, &QTimer::timeout, [this]() {
|
||||
getDateTime(timeFormat);
|
||||
});
|
||||
}
|
||||
|
||||
CurrentTimeInterface::~CurrentTimeInterface()
|
||||
{
|
||||
if (myTimer) {
|
||||
delete myTimer;
|
||||
}
|
||||
|
||||
if (timeSetting) {
|
||||
delete timeSetting;
|
||||
}
|
||||
|
||||
if (dateTime) {
|
||||
delete dateTime;
|
||||
}
|
||||
|
||||
myTimer = nullptr;
|
||||
timeSetting = nullptr;
|
||||
dateTime = nullptr;
|
||||
}
|
||||
|
||||
void CurrentTimeInterface::getDateTime(QString timeFormat)
|
||||
{
|
||||
if (timeFormat == "12") {
|
||||
twelveHourTime();
|
||||
} else if (timeFormat == "24") {
|
||||
twentyFourHourTime();
|
||||
}
|
||||
|
||||
if (timeSlash == "cn") {
|
||||
currentDate = currentDate.replace("-", "/");
|
||||
}
|
||||
}
|
||||
|
||||
//12制小时时间
|
||||
void CurrentTimeInterface::twelveHourTime()
|
||||
{
|
||||
currentTime = dateTime->currentDateTime().time().toString("hh:mm AP").split(" ").first();
|
||||
currentDate = dateTime->currentDateTime().date().toString("ddd MM-dd");
|
||||
currentWeek = dateTime->currentDateTime().time().toString("AP");
|
||||
}
|
||||
|
||||
//24小时制时间
|
||||
void CurrentTimeInterface::twentyFourHourTime()
|
||||
{
|
||||
currentTime = dateTime->currentDateTime().time().toString("hh:mm");
|
||||
currentDate = dateTime->currentDateTime().date().toString("MM-dd");
|
||||
currentWeek = dateTime->currentDateTime().date().toString("ddd");
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
#ifndef CURRENTTIMEINTERFACE_H
|
||||
#define CURRENTTIMEINTERFACE_H
|
||||
#include <QString>
|
||||
#include <QLocale>
|
||||
#include <QGSettings>
|
||||
#include <QTimer>
|
||||
#include <QDateTime>
|
||||
#include <QObject>
|
||||
|
||||
class CurrentTimeInterface : QObject
|
||||
{
|
||||
|
||||
public:
|
||||
CurrentTimeInterface();
|
||||
~CurrentTimeInterface();
|
||||
|
||||
QString currentTime;
|
||||
QString currentWeek;
|
||||
QString currentDate;
|
||||
|
||||
protected:
|
||||
void twelveHourTime();
|
||||
void twentyFourHourTime();
|
||||
void getDateTime(QString timeFormat);
|
||||
|
||||
private:
|
||||
QDateTime *dateTime;
|
||||
QTimer *myTimer;
|
||||
QGSettings *timeSetting = nullptr;
|
||||
QString timeFormat;
|
||||
QString timeSlash;
|
||||
|
||||
};
|
||||
|
||||
#endif // CURRENTTIMEINTERFACE_H
|