Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Alderaan
pan-light
提交
2f52158e
P
pan-light
项目概览
Alderaan
/
pan-light
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pan-light
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2f52158e
编写于
5月 10, 2019
作者:
P
peterq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add: 已完成任务删除了; 打开下载文件夹
上级
405d94e0
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
177 addition
and
5 deletion
+177
-5
pc/functions/download.go
pc/functions/download.go
+4
-0
pc/gui/qml/assets/images/icons/folder.svg
pc/gui/qml/assets/images/icons/folder.svg
+1
-0
pc/gui/qml/comps/PromiseDialog.qml
pc/gui/qml/comps/PromiseDialog.qml
+122
-0
pc/gui/qml/js/util.js
pc/gui/qml/js/util.js
+1
-0
pc/gui/qml/qml.qrc
pc/gui/qml/qml.qrc
+2
-0
pc/gui/qml/transfer/DownloadItem.qml
pc/gui/qml/transfer/DownloadItem.qml
+47
-5
未找到文件。
pc/functions/download.go
浏览文件 @
2f52158e
...
...
@@ -3,6 +3,7 @@ package functions
import
(
"fmt"
"github.com/peterq/pan-light/pc/pan-download"
"os"
)
func
init
()
{
...
...
@@ -35,6 +36,9 @@ var downloadSyncRoutes = map[string]syncHandler{
return
pan_download
.
Pause
(
p
[
"downloadId"
]
.
(
string
))
},
"download.delete"
:
func
(
p
map
[
string
]
interface
{})
interface
{}
{
if
p
[
"deleteFile"
]
.
(
bool
)
{
os
.
Remove
(
p
[
"path"
]
.
(
string
))
}
return
pan_download
.
Delete
(
p
[
"downloadId"
]
.
(
string
))
},
}
...
...
pc/gui/qml/assets/images/icons/folder.svg
0 → 100644
浏览文件 @
2f52158e
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1557448428906"
class=
"icon"
style=
""
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"23620"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
><defs><style
type=
"text/css"
></style></defs><path
d=
"M825.519584 281.262872 528.681086 281.262872c-18.023207 0-32.857662-13.675464-34.694572-31.213909-0.034794-0.718361-0.098241-1.428535-0.154526-2.140757-0.02149-0.508583-0.038887-1.019213-0.038887-1.532913l0 0.118704-0.068564 0c-3.509061-35.255968-33.256767-62.780859-69.427007-62.780859L197.516422 183.713138c-38.531104 0-69.778015 31.233352-69.778015 69.775156l0 516.201695c0 38.534642 31.246912 69.774133 69.778015 69.774133l628.003162 0c38.531104 0 69.778015-31.238468 69.778015-69.774133L895.297599 351.038028C895.297599 312.496224 864.050688 281.262872 825.519584 281.262872zM860.409615 769.688967c0 19.267832-15.625503 34.887578-34.890031 34.887578L197.516422 804.576545c-19.270669 0-34.889008-15.619746-34.889008-34.887578L162.627414 385.925606l697.782201 0L860.409615 769.688967zM162.627414 351.038028l0-97.549733c0-19.264762 15.618339-34.887578 34.889008-34.887578l226.780085 0c18.044698 0 32.889385 13.703093 34.701735 31.267121 0.03377 0.680499 0.093125 1.352811 0.146339 2.02717 0.023537 0.528026 0.040934 1.058099 0.040934 1.592264l0.083915 0c3.564322 35.198663 33.282351 62.662155 69.41268 62.662155l296.838498 0c19.264528 0 34.890031 15.622816 34.890031 34.887578L162.627414 351.037005z"
p-id=
"23621"
></path></svg>
\ No newline at end of file
pc/gui/qml/comps/PromiseDialog.qml
0 → 100644
浏览文件 @
2f52158e
import
QtQuick
.
Dialogs
1.1
import
QtQuick
2.11
import
QtQuick
.
Window
2.2
import
QtQuick
.
Controls
2.2
import
QtQuick
.
Layouts
1.3
import
'
../js/util.js
'
as
Util
import
"
../js/global.js
"
as
G
Item
{
id
:
root
property
string
confirmLabel
:
'
确定
'
property
string
cancelLabel
:
'
取消
'
property
string
title
:
'
对话框
'
property
var
options
property
Item
header
property
Item
contentItem
property
var
result
property
bool
confirmBtnEnabled
:
true
property
var
onClickConfirm
:
function
(){
return
false
}
property
int
w
property
int
h
QtObject
{
id
:
promise
property
bool
done
:
true
property
var
promise
property
var
resovle
property
var
reject
}
Component
{
id
:
windowComp
Item
{
parent
:
G
.
root
Window
{
id
:
window
flags
:
Qt
.
Dialog
|
Qt
.
WindowModal
|
Qt
.
WindowCloseButtonHint
modality
:
Qt
.
ApplicationModal
title
:
root
.
title
minimumHeight
:
100
minimumWidth
:
100
width
:
root
.
w
height
:
root
.
h
Dialog
{
id
:
dialog
width
:
window
.
width
height
:
window
.
height
focus
:
true
header
:
root
.
header
contentItem
:
root
.
contentItem
footer
:
Item
{
width
:
parent
.
width
height
:
50
Row
{
spacing
:
10
height
:
parent
.
height
anchors.centerIn
:
parent
Button
{
width
:
80
height
:
30
text
:
root
.
cancelLabel
onClicked
:
{
promise
.
reject
(
'
cancle
'
)
}
}
Button
{
width
:
80
height
:
30
text
:
root
.
confirmLabel
visible
:
!!
root
.
confirmLabel
enabled
:
root
.
confirmBtnEnabled
onClicked
:
{
if
(
root
.
onClickConfirm
())
{
promise
.
resovle
(
root
.
result
)
}
}
}
}
}
}
onClosing
:
{
promise
.
reject
(
'
closed
'
)
}
Component.onCompleted
:
{
visible
=
true
requestActivate
()
dialog
.
open
()
}
}
}
}
Loader
{
id
:
windowLoader
focus
:
true
}
function
open
(
opt
)
{
if
(
!
promise
.
done
)
throw
new
Error
(
'
last dialog is not closed
'
)
promise
.
done
=
false
promise
.
promise
=
new
Util
.
Promise
(
function
(
res
,
rej
)
{
options
=
opt
promise
.
resovle
=
res
promise
.
reject
=
rej
windowLoader
.
sourceComponent
=
windowComp
}).
finally
(
function
()
{
console
.
log
(
windowLoader
.
item
)
windowLoader
.
sourceComponent
=
null
promise
.
done
=
true
})
return
promise
.
promise
}
function
forceClose
()
{
if
(
!
promise
.
done
)
promise
.
reject
(
'
force closed
'
)
}
}
pc/gui/qml/js/util.js
浏览文件 @
2f52158e
...
...
@@ -8,6 +8,7 @@ console.log('--------------util js init------------')
var
Promise
=
P
.
Promise
var
setTimeout
=
G
.
setTimeout
var
fileSep
=
Qt
.
platform
===
'
windows
'
?
'
\\
'
:
'
/
'
var
dialog
=
(
function
(){
var
comp
=
Qt
.
createComponent
(
'
../comps/dialog.qml
'
)
...
...
pc/gui/qml/qml.qrc
浏览文件 @
2f52158e
...
...
@@ -152,5 +152,7 @@
<file>comps/IconButton.qml</file>
<file>assets/images/icons/pause.svg</file>
<file>assets/images/icons/start.svg</file>
<file>assets/images/icons/folder.svg</file>
<file>comps/PromiseDialog.qml</file>
</qresource>
</RCC>
pc/gui/qml/transfer/DownloadItem.qml
浏览文件 @
2f52158e
import
QtQuick
2.0
import
QtQuick
.
Controls
2.4
import
"
../pan
"
import
"
../comps
"
import
"
../js/app.js
"
as
App
...
...
@@ -32,7 +33,8 @@ Item {
}
function
dataSaverOk
()
{
if
(
isFinish
)
return
if
(
isFinish
)
return
if
(
!
isNewAdd
)
{
console
.
log
(
'
恢复任务
'
,
downloadId
)
var
res
=
Util
.
callGoSync
(
'
download.resume
'
,
{
...
...
@@ -136,6 +138,28 @@ Item {
}
}
PromiseDialog
{
id
:
comfirmDeleteDialog
w
:
500
h
:
200
title
:
'
确认删除
'
onClickConfirm
:
function
()
{
result
=
checkBox
.
checked
return
true
}
contentItem
:
Column
{
Text
{
text
:
'
删除后不可恢复! 确认删除?
'
}
CheckBox
{
id
:
checkBox
visible
:
isFinish
checked
:
true
text
:
'
同时删除本地文件
'
}
}
}
Row
{
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.right
:
parent
.
right
...
...
@@ -171,14 +195,32 @@ Item {
updateState
()
}
}
IconButton
{
iconType
:
'
folder
'
title
:
'
打开所在文件夹
'
onClicked
:
{
var
dir
=
meta
.
savePath
.
split
(
Util
.
fileSep
)
dir
.
pop
()
dir
=
dir
.
join
(
Util
.
fileSep
)
var
ret
=
Qt
.
openUrlExternally
(
'
file://
'
+
dir
)
console
.
log
(
ret
)
}
}
IconButton
{
iconType
:
'
delete
'
title
:
'
删除
'
onClicked
:
{
Util
.
callGoSync
(
'
download.delete
'
,
{
"
downloadId
"
:
downloadId
})
App
.
appState
.
transferComp
.
deleteItem
(
idx
,
isFinish
)
comfirmDeleteDialog
.
open
().
then
(
function
(
deleteFile
)
{
Util
.
callGoSync
(
'
download.delete
'
,
{
"
downloadId
"
:
downloadId
,
"
path
"
:
meta
.
savePath
,
"
deleteFile
"
:
isFinish
?
deleteFile
:
false
})
App
.
appState
.
transferComp
.
deleteItem
(
idx
,
isFinish
)
})
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录