Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Alderaan
pan-light
提交
7441f9f9
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 搜索 >>
提交
7441f9f9
编写于
6月 18, 2019
作者:
P
peterq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feature: 设置页面
上级
4a1d77d5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
185 addition
and
52 deletion
+185
-52
pc/functions/base.go
pc/functions/base.go
+8
-0
pc/gui/qml/js/appState.qml
pc/gui/qml/js/appState.qml
+7
-0
pc/gui/qml/js/util.js
pc/gui/qml/js/util.js
+11
-0
pc/gui/qml/pages/setting-window.qml
pc/gui/qml/pages/setting-window.qml
+103
-0
pc/gui/qml/qml.qrc
pc/gui/qml/qml.qrc
+1
-0
pc/gui/qml/widget/VirtualFrame.qml
pc/gui/qml/widget/VirtualFrame.qml
+49
-50
pc/pan-download/pan-download.go
pc/pan-download/pan-download.go
+6
-2
未找到文件。
pc/functions/base.go
浏览文件 @
7441f9f9
...
...
@@ -2,6 +2,7 @@ package functions
import
(
"github.com/peterq/pan-light/pc/dep"
"github.com/peterq/pan-light/pc/pan-download"
"github.com/peterq/pan-light/pc/storage"
"os"
)
...
...
@@ -27,9 +28,16 @@ var baseSyncRoutes = map[string]syncHandler{
},
// 重启
"reboot"
:
func
(
p
map
[
string
]
interface
{})
(
result
interface
{})
{
dep
.
DoClose
()
os
.
Exit
(
2
)
return
},
// config
"config"
:
func
(
p
map
[
string
]
interface
{})
(
result
interface
{})
{
maxParallelCorutineNumber
:=
int
(
p
[
"maxParallelCorutineNumber"
]
.
(
float64
))
pan_download
.
Manager
()
.
CoroutineNumber
=
maxParallelCorutineNumber
return
true
},
}
var
baseAsyncRoutes
=
map
[
string
]
asyncHandler
{}
pc/gui/qml/js/appState.qml
浏览文件 @
7441f9f9
...
...
@@ -39,6 +39,13 @@ Item {
property
string
defaultDownloadPath
:
''
property
string
lastDownloadPath
:
''
property
int
maxParallelTaskNumber
:
1
property
int
maxParallelCorutineNumber
:
512
Component.onCompleted
:
{
Util
.
callGoSync
(
'
config
'
,
{
"
maxParallelCorutineNumber
"
:
maxParallelCorutineNumber
})
}
}
onPathChanged
:
{
...
...
pc/gui/qml/js/util.js
浏览文件 @
7441f9f9
...
...
@@ -411,3 +411,14 @@ function humanSize(size) {
}
return
size
.
toFixed
(
2
)
+
unit
[
i
]
}
var
openSetting
=
(
function
()
{
var
comp
=
loadComponent
(
function
(){},
'
../pages/setting-window.qml
'
)
var
ins
return
function
(){
if
(
!
ins
||
!
ins
.
visible
)
{
ins
=
comp
.
createObject
(
G
.
root
)
}
return
ins
}
})()
pc/gui/qml/pages/setting-window.qml
0 → 100644
浏览文件 @
7441f9f9
import
QtQuick
2.0
import
QtQuick
.
Window
2.2
import
QtQuick
.
Controls
2.2
import
QtQuick
.
Layouts
1.3
import
"
../js/app.js
"
as
App
import
"
../js/util.js
"
as
Util
Window
{
id
:
window
flags
:
Qt
.
Dialog
|
Qt
.
WindowModal
|
Qt
.
WindowCloseButtonHint
modality
:
Qt
.
ApplicationModal
title
:
'
设置
'
minimumHeight
:
height
minimumWidth
:
width
maximumHeight
:
height
maximumWidth
:
width
visible
:
true
width
:
550
height
:
300
Component.onCompleted
:
{
visible
=
true
requestActivate
()
}
onVisibleChanged
:
{
if
(
!
visible
)
{
window
.
destroy
()
}
}
GridLayout
{
columns
:
3
width
:
parent
.
width
-
20
y
:
20
anchors.horizontalCenter
:
parent
.
horizontalCenter
Label
{
text
:
'
同时下载任务数
'
width
:
parent
.
width
*
30
Layout.alignment
:
Qt
.
AlignRight
}
TextField
{
id
:
taskNumberField
width
:
parent
.
width
*
30
validator
:
IntValidator
{
bottom
:
1
top
:
10
}
placeholderText
:
"
任务数
"
Component.onCompleted
:
{
text
=
App
.
appState
.
settings
.
maxParallelTaskNumber
}
onTextChanged
:
{
var
n
=
text
*
1
if
(
n
<=
0
)
{
n
=
1
}
App
.
appState
.
settings
.
maxParallelTaskNumber
=
n
}
}
Label
{
text
:
'
1-10之间
'
}
Label
{
text
:
'
每个任务的线程数
'
width
:
parent
.
width
*
30
Layout.alignment
:
Qt
.
AlignRight
}
TextField
{
width
:
parent
.
width
*
30
validator
:
IntValidator
{
bottom
:
1
top
:
~~
(
1024
/
App
.
appState
.
settings
.
maxParallelTaskNumber
)
}
placeholderText
:
"
并发数1-
"
+
~~
(
1024
/
App
.
appState
.
settings
.
maxParallelTaskNumber
)
onAccepted
:
textArea
.
focus
=
true
Component.onCompleted
:
{
text
=
App
.
appState
.
settings
.
maxParallelCorutineNumber
}
onTextChanged
:
{
var
n
=
text
*
1
if
(
n
<=
0
)
{
n
=
1
}
App
.
appState
.
settings
.
maxParallelCorutineNumber
=
n
}
}
Label
{
text
:
'
线程数 x 任务数小于1024
'
}
Label
{
text
:
''
width
:
parent
.
width
*
30
Layout.alignment
:
Qt
.
AlignRight
}
Button
{
text
:
'
重启以生效
'
onClicked
:
{
Util
.
callGoSync
(
'
reboot
'
)
}
}
}
}
pc/gui/qml/qml.qrc
浏览文件 @
7441f9f9
...
...
@@ -164,5 +164,6 @@
<file>assets/images/icons/more-down.svg</file>
<file>widget/Resize.qml</file>
<file>assets/images/icons/baidu-cloud.svg</file>
<file>pages/setting-window.qml</file>
</qresource>
</RCC>
pc/gui/qml/widget/VirtualFrame.qml
浏览文件 @
7441f9f9
...
...
@@ -6,6 +6,7 @@ import "../comps"
import
"
../js/global.js
"
as
G
import
"
../js/util.js
"
as
Util
import
"
../js/app.js
"
as
App
Item
{
property
Component
content
property
int
shadeWidth
:
isMax
?
0
:
10
...
...
@@ -14,7 +15,6 @@ Item {
width
:
parent
.
width
height
:
parent
.
height
Resize
{
width
:
contentContainer
.
width
+
2
*
maWidth
height
:
contentContainer
.
height
+
2
*
maWidth
...
...
@@ -42,13 +42,54 @@ Item {
anchors.rightMargin
:
5
y
:
5
spacing
:
10
IconButton
{
iconType
:
'
more-down
'
title
:
'
更多
'
visible
:
!!
App
.
appState
.
transferComp
width
:
20
onClicked
:
{
moreMenu
.
popup
()
Loader
{
sourceComponent
:
App
.
appState
.
transferComp
?
downMoreBtnComp
:
null
}
Component
{
id
:
downMoreBtnComp
IconButton
{
iconType
:
'
more-down
'
title
:
'
更多
'
width
:
20
onClicked
:
{
moreMenu
.
popup
()
}
// 更多菜单
Menu
{
id
:
moreMenu
MenuItem
{
text
:
(
App
.
appState
.
floatWindow
.
visible
?
'
隐藏
'
:
'
显示
'
)
+
'
悬浮窗
'
onTriggered
:
{
App
.
appState
.
floatWindow
.
visible
=
!
App
.
appState
.
floatWindow
.
visible
}
}
MenuItem
{
text
:
'
设置
'
onTriggered
:
{
Util
.
openSetting
()
}
}
MenuItem
{
text
:
'
关于
'
onTriggered
:
{
}
}
MenuItem
{
text
:
'
问题反馈
'
onTriggered
:
{
}
}
MenuItem
{
text
:
'
重启
'
onTriggered
:
Util
.
callGoSync
(
"
reboot
"
)
}
MenuItem
{
text
:
'
退出程序
'
onTriggered
:
Qt
.
quit
()
}
}
}
}
IconButton
{
...
...
@@ -92,14 +133,6 @@ Item {
}
}
// DropShadow {
// anchors.fill: contentContainer
// radius: shadeWidth
// samples: shadeWidth
// spread: 0.1
// color: "#80000000"
// source: contentContainer
// }
DropShadow
{
anchors.fill
:
contentContainer
horizontalOffset
:
-
5
...
...
@@ -123,38 +156,4 @@ Item {
Component.onCompleted
:
{
mainWindow
=
G
.
root
}
// 右键菜单
Menu
{
id
:
moreMenu
MenuItem
{
text
:
(
App
.
appState
.
floatWindow
.
visible
?
'
隐藏
'
:
'
显示
'
)
+
'
悬浮窗
'
onTriggered
:
{
App
.
appState
.
floatWindow
.
visible
=
!
App
.
appState
.
floatWindow
.
visible
}
}
MenuItem
{
text
:
'
设置
'
onTriggered
:
{
}
}
MenuItem
{
text
:
'
关于
'
onTriggered
:
{
}
}
MenuItem
{
text
:
'
问题反馈
'
onTriggered
:
{
}
}
MenuItem
{
text
:
'
重启
'
onTriggered
:
Util
.
callGoSync
(
"
reboot
"
)
}
MenuItem
{
text
:
'
退出程序
'
onTriggered
:
Qt
.
quit
()
}
}
}
pc/pan-download/pan-download.go
浏览文件 @
7441f9f9
...
...
@@ -20,9 +20,9 @@ var useVipMap = map[downloader.TaskId]bool{}
func
init
()
{
dep
.
OnInit
(
func
()
{
parallel
:=
1
parallel
:=
1
024
manager
=
&
downloader
.
Manager
{
CoroutineNumber
:
parallel
,
CoroutineNumber
:
32
,
SegmentSize
:
1024
*
1024
*
2
,
WroteToDiskBufferSize
:
1024
*
512
,
LinkResolver
:
pan_api
.
Link
,
...
...
@@ -43,6 +43,10 @@ func init() {
})
}
func
Manager
()
*
downloader
.
Manager
{
return
manager
}
func
handleDownloadEvent
(
event
*
downloader
.
DownloadEvent
)
{
dep
.
NotifyQml
(
"task.event"
,
map
[
string
]
interface
{}{
"type"
:
event
.
Event
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录