mirror of
https://github.com/ronggang/transmission-web-control.git
synced 2025-04-18 21:17:07 +00:00
新增批量调整单个种子的上传、下载和连接数 (#492)
* 新增批量调整单个种子的上传、下载和连接数 * fix bug * 格式优化 * 格式优化 * 修复非中文环境下,设置上传下载的弹出框无效问题
This commit is contained in:
parent
3c52520b39
commit
ba0cc207cc
|
@ -16,7 +16,7 @@
|
|||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/base.css?v=20200914" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/icon.css?v=20200914" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/icon.custom.css?v=20200914" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/iconfont/iconfont.css?v=20200914" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/iconfont/iconfont.css?v=20201001" />
|
||||
<!-- <link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_584244_g4d8d6qr58nnrk9.css"/> -->
|
||||
|
||||
<!-- Base class library -->
|
||||
|
@ -34,8 +34,8 @@
|
|||
<script type="text/javascript" src="tr-web-control/script/min/public.min.js?v=20200914"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/other/ua-parser.min.js?v=20200914"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/transmission.min.js?v=20200914"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/transmission.torrents.min.js?v=20200914"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/system.min.js?v=20200914"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/transmission.torrents.min.js?v=20201001"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/system.min.js?v=20201001"></script>
|
||||
<script type="text/javascript" src="tr-web-control/config.js?v=20200914"></script>
|
||||
<script type="text/javascript" src="tr-web-control/plugin.js?v=20200914"></script>
|
||||
<script type="text/javascript">
|
||||
|
@ -125,6 +125,10 @@
|
|||
<!-- 设置下载目录 -->
|
||||
<a id="toolbar_changeDownloadDir" href="javascript:void(0);" class="easyui-linkbutton"
|
||||
data-options="iconCls:'iconfont tr-icon-folder-change',plain:true,disabled:true"></a>
|
||||
<!-- 设置上传下载限制 -->
|
||||
<a id="toolbar_changeSpeedLimit" href="javascript:void(0);" class="easyui-linkbutton"
|
||||
data-options="iconCls:'iconfont tr-icon-speedlimit',plain:true,disabled:true"></a>
|
||||
|
||||
<!-- 复制下载目录 -->
|
||||
<a id="toolbar_copyPath" href="javascript:void(0);" class="easyui-linkbutton"
|
||||
data-options="iconCls:'iconfont tr-icon-clippy',plain:true,disabled:true" data-clipboard-action="copy"
|
||||
|
|
|
@ -264,6 +264,16 @@
|
|||
"set-error": "set error!",
|
||||
"recheck-data": "Recheck data."
|
||||
},
|
||||
"torrent-changeSpeedLimit": {
|
||||
"title": "Set torrents Max download speed and Max upload speed",
|
||||
"downloadLimited": "Max global download speed:",
|
||||
"uploadLimited": "Max global upload speed:",
|
||||
"peer-limit": "Maximum peers for this torrent:",
|
||||
"seedRatioMode": "Seed ratio for torrents to use:",
|
||||
"seedIdleMode": "Torrents we're seeding will be stopped if they're idle for this long:",
|
||||
"doneDate": "Finish Time:",
|
||||
"seedTime": "Seed Time:"
|
||||
},
|
||||
"system-replaceTracker": {
|
||||
"title": "Replace Trackers",
|
||||
"old-tracker": "Old tracker:",
|
||||
|
|
|
@ -68,6 +68,7 @@
|
|||
"autoreload-enabled": "启用自动刷新",
|
||||
"tracker-replace": "替换 Tracker",
|
||||
"change-download-dir": "变更数据保存目录",
|
||||
"change-speedlimit": "变更上传和下载速度",
|
||||
"ui-mobile": "切换到移动设备界面",
|
||||
"ui-original": "切换到原版界面",
|
||||
"more-peers": "获取更多Peer",
|
||||
|
@ -262,6 +263,16 @@
|
|||
"set-error": "设置目录失败!",
|
||||
"recheck-data": "设置完成后重新校验。"
|
||||
},
|
||||
"torrent-changeSpeedLimit": {
|
||||
"title": "设置上传和下载",
|
||||
"downloadLimited": "启用最大下载速度限制:",
|
||||
"uploadLimited": "启用最大上传速度限制:",
|
||||
"peer-limit": "最大链接数:",
|
||||
"seedRatioMode": "当种子的分享率达到这个数时,自动停止做种:",
|
||||
"seedIdleMode": "当种子超过这个时间没有流量时,自动停止做种:",
|
||||
"doneDate": "完成时间:",
|
||||
"seedTime": "做种时间:"
|
||||
},
|
||||
"system-replaceTracker": {
|
||||
"title": "替换 Tracker 地址",
|
||||
"old-tracker": "原 Tracker:",
|
||||
|
|
126
src/tr-web-control/script/min/system.min.js
vendored
126
src/tr-web-control/script/min/system.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1115,7 +1115,7 @@ var system = {
|
|||
if (this.control.torrentlist.datagrid("getRows").length==0) {
|
||||
return;
|
||||
}
|
||||
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
disabled: rowData
|
||||
});
|
||||
|
||||
|
@ -1129,16 +1129,16 @@ var system = {
|
|||
// 如果没有被选中的数据时
|
||||
if (this.checkedRows.length == 0) {
|
||||
// 禁用所有菜单
|
||||
$("#toolbar_start, #toolbar_pause, #toolbar_rename, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
$("#toolbar_start, #toolbar_pause, #toolbar_rename, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
disabled: true
|
||||
});
|
||||
this.panel.toolbar.find("#toolbar_queue").menubutton("disable");
|
||||
return;
|
||||
|
||||
// 当仅有一条数据被选中时
|
||||
// 当仅有一条数据被选中时
|
||||
} else if (this.checkedRows.length == 1) {
|
||||
// 设置 删除、改名、变更保存目录、移动队列功能可用
|
||||
$("#toolbar_remove, #toolbar_rename, #toolbar_changeDownloadDir,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
$("#toolbar_remove, #toolbar_rename, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
disabled: false
|
||||
});
|
||||
this.panel.toolbar.find("#toolbar_queue").menubutton("enable");
|
||||
|
@ -1177,7 +1177,7 @@ var system = {
|
|||
|
||||
// 多条数据被选中时
|
||||
} else {
|
||||
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_copyPath", this.panel.toolbar).linkbutton({
|
||||
disabled: false
|
||||
});
|
||||
$("#toolbar_rename, #toolbar_morepeers", this.panel.toolbar).linkbutton({
|
||||
|
@ -1482,6 +1482,35 @@ var system = {
|
|||
});
|
||||
});
|
||||
|
||||
this.panel.toolbar
|
||||
.find("#toolbar_changeSpeedLimit")
|
||||
.linkbutton({
|
||||
disabled: true,
|
||||
})
|
||||
.attr("title", this.lang.toolbar.tip["change-speedlimit"])
|
||||
.click(function () {
|
||||
var rows = system.control.torrentlist.datagrid("getChecked");
|
||||
var ids = new Array();
|
||||
for (var i in rows) {
|
||||
ids.push(rows[i].id);
|
||||
}
|
||||
if (ids.length == 0) return;
|
||||
|
||||
system.openDialogFromTemplate({
|
||||
id: "dialog-torrent-changeSpeedLimit",
|
||||
options: {
|
||||
title: system.lang.dialog["torrent-changeSpeedLimit"].title,
|
||||
width: 600,
|
||||
height: 200,
|
||||
resizable: true,
|
||||
},
|
||||
datas: {
|
||||
ids: ids,
|
||||
},
|
||||
type: 0,
|
||||
});
|
||||
});
|
||||
|
||||
// Speed limit
|
||||
this.panel.toolbar.find("#toolbar_alt_speed")
|
||||
.linkbutton()
|
||||
|
|
|
@ -17,7 +17,7 @@ transmission.torrents = {
|
|||
fields: {
|
||||
base: "id,name,status,hashString,totalSize,percentDone,addedDate,trackerStats,leftUntilDone,rateDownload,rateUpload,recheckProgress" + ",rateDownload,rateUpload,peersGettingFromUs,peersSendingToUs,uploadRatio,uploadedEver,downloadedEver,downloadDir,error,errorString,doneDate,queuePosition,activityDate",
|
||||
status: "id,name,status,totalSize,percentDone,trackerStats,leftUntilDone,rateDownload,rateUpload,recheckProgress" + ",rateDownload,rateUpload,peersGettingFromUs,peersSendingToUs,uploadRatio,uploadedEver,downloadedEver,error,errorString,doneDate,queuePosition,activityDate",
|
||||
config: "downloadLimit,downloadLimited,peer-limit,seedIdleLimit,seedIdleMode,seedRatioLimit,seedRatioMode,uploadLimit,uploadLimited"
|
||||
config: "id,name,downloadLimit,downloadLimited,peer-limit,seedIdleLimit,seedIdleMode,seedRatioLimit,seedRatioMode,uploadLimit,uploadLimited"
|
||||
},
|
||||
// List of all the torrents that have been acquired
|
||||
datas: {},
|
||||
|
|
390
src/tr-web-control/style/iconfont/example.html
Normal file
390
src/tr-web-control/style/iconfont/example.html
Normal file
|
@ -0,0 +1,390 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>iconfont example</title>
|
||||
<link rel="stylesheet" href="./page.css">
|
||||
<link rel="stylesheet" href="./iconfont.css?v=20201001">
|
||||
</head>
|
||||
<body>
|
||||
<div class="main">
|
||||
<h1>iconfont example</h1>
|
||||
<ul class="iconfont-list">
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-x"></i>
|
||||
<div class="code">\78</div>
|
||||
<div class="name">x</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-errors"></i>
|
||||
<div class="code">\e60a</div>
|
||||
<div class="name">errors</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-aixinjuanzeng"></i>
|
||||
<div class="code">\e615</div>
|
||||
<div class="name">aixinjuanzeng</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-pause1"></i>
|
||||
<div class="code">\e81f</div>
|
||||
<div class="name">pause1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-empty"></i>
|
||||
<div class="code">\e776</div>
|
||||
<div class="name">empty</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-shuju"></i>
|
||||
<div class="code">\e639</div>
|
||||
<div class="name">shuju</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-up"></i>
|
||||
<div class="code">\e624</div>
|
||||
<div class="name">up</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-queue-move"></i>
|
||||
<div class="code">\ea18</div>
|
||||
<div class="name">queue-move</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-top"></i>
|
||||
<div class="code">\e60b</div>
|
||||
<div class="name">top</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-start"></i>
|
||||
<div class="code">\e62e</div>
|
||||
<div class="name">start</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-pause"></i>
|
||||
<div class="code">\e62f</div>
|
||||
<div class="name">pause</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-github"></i>
|
||||
<div class="code">\ead8</div>
|
||||
<div class="name">github</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-update"></i>
|
||||
<div class="code">\e67b</div>
|
||||
<div class="name">update</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-cancel-checked"></i>
|
||||
<div class="code">\e662</div>
|
||||
<div class="name">cancel-checked</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-data-check-1"></i>
|
||||
<div class="code">\e64b</div>
|
||||
<div class="name">data-check-1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-servers"></i>
|
||||
<div class="code">\e607</div>
|
||||
<div class="name">servers</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-shang"></i>
|
||||
<div class="code">\e610</div>
|
||||
<div class="name">shang</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-recheck-torrent"></i>
|
||||
<div class="code">\e604</div>
|
||||
<div class="name">recheck-torrent</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-replace"></i>
|
||||
<div class="code">\e7a4</div>
|
||||
<div class="name">replace</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-pause-all"></i>
|
||||
<div class="code">\e7a9</div>
|
||||
<div class="name">pause-all</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-delete"></i>
|
||||
<div class="code">\e614</div>
|
||||
<div class="name">delete</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-labels"></i>
|
||||
<div class="code">\e6bc</div>
|
||||
<div class="name">labels</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-more-peers"></i>
|
||||
<div class="code">\e603</div>
|
||||
<div class="name">more-peers</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-fileoutline"></i>
|
||||
<div class="code">\e819</div>
|
||||
<div class="name">fileoutline</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-rename"></i>
|
||||
<div class="code">\ea44</div>
|
||||
<div class="name">rename</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-server-network"></i>
|
||||
<div class="code">\ea7c</div>
|
||||
<div class="name">server-network</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-plugin"></i>
|
||||
<div class="code">\e61e</div>
|
||||
<div class="name">plugin</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-folder-change"></i>
|
||||
<div class="code">\e696</div>
|
||||
<div class="name">folder-change</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-download"></i>
|
||||
<div class="code">\e6c2</div>
|
||||
<div class="name">download</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-reload"></i>
|
||||
<div class="code">\e622</div>
|
||||
<div class="name">reload</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-server-error"></i>
|
||||
<div class="code">\ea05</div>
|
||||
<div class="name">server-error</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-cuowu1"></i>
|
||||
<div class="code">\e674</div>
|
||||
<div class="name">cuowu1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-start-all"></i>
|
||||
<div class="code">\e63e</div>
|
||||
<div class="name">start-all</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-search"></i>
|
||||
<div class="code">\e720</div>
|
||||
<div class="name">search</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-help"></i>
|
||||
<div class="code">\e605</div>
|
||||
<div class="name">help</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-file"></i>
|
||||
<div class="code">\e62c</div>
|
||||
<div class="name">file</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-upload"></i>
|
||||
<div class="code">\e72c</div>
|
||||
<div class="name">upload</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-folder"></i>
|
||||
<div class="code">\e61d</div>
|
||||
<div class="name">folder</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-warning"></i>
|
||||
<div class="code">\e680</div>
|
||||
<div class="name">warning</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-home"></i>
|
||||
<div class="code">\e62a</div>
|
||||
<div class="name">home</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-auto-match"></i>
|
||||
<div class="code">\e63d</div>
|
||||
<div class="name">auto-match</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-restore"></i>
|
||||
<div class="code">\e640</div>
|
||||
<div class="name">restore</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-file-hidden"></i>
|
||||
<div class="code">\e72f</div>
|
||||
<div class="name">file-hidden</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-server-network-off"></i>
|
||||
<div class="code">\e896</div>
|
||||
<div class="name">server-network-off</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-system-config"></i>
|
||||
<div class="code">\e625</div>
|
||||
<div class="name">system-config</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-pause2"></i>
|
||||
<div class="code">\e63a</div>
|
||||
<div class="name">pause2</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-wait"></i>
|
||||
<div class="code">\e846</div>
|
||||
<div class="name">wait</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-data-check"></i>
|
||||
<div class="code">\e6d2</div>
|
||||
<div class="name">data-check</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-file1"></i>
|
||||
<div class="code">\e602</div>
|
||||
<div class="name">file1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-plus"></i>
|
||||
<div class="code">\e600</div>
|
||||
<div class="name">plus</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-actively-1"></i>
|
||||
<div class="code">\e73d</div>
|
||||
<div class="name">actively-1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-label"></i>
|
||||
<div class="code">\e706</div>
|
||||
<div class="name">label</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-bt"></i>
|
||||
<div class="code">\e681</div>
|
||||
<div class="name">bt</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-server"></i>
|
||||
<div class="code">\e60c</div>
|
||||
<div class="name">server</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-actively"></i>
|
||||
<div class="code">\e609</div>
|
||||
<div class="name">actively</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-rocket"></i>
|
||||
<div class="code">\e68b</div>
|
||||
<div class="name">rocket</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-down"></i>
|
||||
<div class="code">\ea45</div>
|
||||
<div class="name">down</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-bottom"></i>
|
||||
<div class="code">\ea46</div>
|
||||
<div class="name">bottom</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-pt-plugin"></i>
|
||||
<div class="code">\e601</div>
|
||||
<div class="name">pt-plugin</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-woniu"></i>
|
||||
<div class="code">\e608</div>
|
||||
<div class="name">woniu</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-clippy"></i>
|
||||
<div class="code">\e60d</div>
|
||||
<div class="name">clippy</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="iconfont tr-icon-speedlimit"></i>
|
||||
<div class="code">\eada</div>
|
||||
<div class="name">speedlimit</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 46 KiB |
Binary file not shown.
Binary file not shown.
137
src/tr-web-control/style/iconfont/page.css
Normal file
137
src/tr-web-control/style/iconfont/page.css
Normal file
|
@ -0,0 +1,137 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
blockquote,
|
||||
body,
|
||||
button,
|
||||
dd,
|
||||
dl,
|
||||
dt,
|
||||
fieldset,
|
||||
form,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
hr,
|
||||
input,
|
||||
legend,
|
||||
li,
|
||||
ol,
|
||||
p,
|
||||
pre,
|
||||
td,
|
||||
textarea,
|
||||
th,
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
body,
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font: 12px/1.5 tahoma, arial, sans-serif;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-size: 100%;
|
||||
}
|
||||
address,
|
||||
cite,
|
||||
dfn,
|
||||
em,
|
||||
var {
|
||||
font-style: normal;
|
||||
}
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: courier new, courier, monospace;
|
||||
}
|
||||
small {
|
||||
font-size: 12px;
|
||||
}
|
||||
ol,
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
legend {
|
||||
color: #000;
|
||||
}
|
||||
fieldset,
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-size: 100%;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
}
|
||||
.main h1 {
|
||||
font-size: 36px;
|
||||
color: #333;
|
||||
text-align: left;
|
||||
margin-bottom: 30px;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.helps {
|
||||
margin-top: 40px;
|
||||
}
|
||||
.helps pre {
|
||||
padding: 20px;
|
||||
margin: 10px 0;
|
||||
border: solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
.iconfont-list {
|
||||
overflow: hidden;
|
||||
}
|
||||
.iconfont-list li {
|
||||
float: left;
|
||||
width: 100px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
}
|
||||
.iconfont-list .icon {
|
||||
font-size: 42px;
|
||||
line-height: 100px;
|
||||
margin: 10px 0;
|
||||
color: #333;
|
||||
font-style: normal;
|
||||
-webkit-transition: font-size 0.25s ease-out 0s;
|
||||
-moz-transition: font-size 0.25s ease-out 0s;
|
||||
transition: font-size 0.25s ease-out 0s;
|
||||
}
|
||||
.iconfont-list .icon:hover {
|
||||
font-size: 100px;
|
||||
}
|
||||
.iconfont-list .code {
|
||||
color: green;
|
||||
font-weight: bold;
|
||||
}
|
266
src/tr-web-control/template/dialog-torrent-changeSpeedLimit.html
Normal file
266
src/tr-web-control/template/dialog-torrent-changeSpeedLimit.html
Normal file
|
@ -0,0 +1,266 @@
|
|||
<div
|
||||
class="easyui-layout"
|
||||
data-options="fit:true"
|
||||
style="width: 100%; height: 100%"
|
||||
>
|
||||
<div data-options="region:'left'" style="padding: 3px; border: 0px">
|
||||
<div
|
||||
id="torrent-speed-limit"
|
||||
class="dialog"
|
||||
style="width: 100%; padding: 0px"
|
||||
>
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td class="title">
|
||||
<input
|
||||
id="checkbox-downloadLimited"
|
||||
type="checkbox"
|
||||
style="width: 16px"
|
||||
/>
|
||||
<label
|
||||
id="dialog-torrent-changeSpeedLimit-downloadLimited"
|
||||
for="downloadLimited"
|
||||
></label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
id="text-downloadLimit"
|
||||
type="text"
|
||||
class="easyui-numberspinner"
|
||||
enabledof="downloadLimited"
|
||||
style="width: 200px"
|
||||
/>
|
||||
KB/s
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">
|
||||
<input
|
||||
id="checkbox-uploadLimited"
|
||||
type="checkbox"
|
||||
style="width: 16px"
|
||||
/>
|
||||
<label
|
||||
id="dialog-torrent-changeSpeedLimit-uploadLimited"
|
||||
for="uploadLimited"
|
||||
></label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
id="text-uploadLimit"
|
||||
type="text"
|
||||
class="easyui-numberspinner"
|
||||
enabledof="uploadLimited"
|
||||
style="width: 200px"
|
||||
/>
|
||||
KB/s
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">
|
||||
<span id="dialog-torrent-changeSpeedLimit-peer-limit"></span>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
id="text-peer-limit"
|
||||
value=""
|
||||
type="text"
|
||||
class="easyui-numberspinner"
|
||||
style="width: 200px"
|
||||
/>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><hr /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
data-options="region:'south',border:false"
|
||||
style="text-align: right; padding: 6px"
|
||||
>
|
||||
<a
|
||||
id="torrent-button-ok"
|
||||
class="easyui-linkbutton"
|
||||
data-options="iconCls:'icon-ok',plain:true"
|
||||
href="javascript:void(0);"
|
||||
>Ok</a
|
||||
>
|
||||
<a
|
||||
id="torrent-button-cancel"
|
||||
class="easyui-linkbutton"
|
||||
data-options="iconCls:'icon-cancel',plain:true"
|
||||
href="javascript:void(0);"
|
||||
>Cancel</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
(function (thisDialog) {
|
||||
var title = "downloadLimited,uploadLimited,peer-limit,seedRatioMode,seedIdleMode,doneDate,seedTime".split(
|
||||
","
|
||||
);
|
||||
|
||||
var ids = thisDialog.data("ids");
|
||||
|
||||
var allIds = new Array();
|
||||
var issimple = false;
|
||||
var torrent = null;
|
||||
var recheck = false;
|
||||
if (typeof ids == "object") {
|
||||
torrent = transmission.torrents.all[ids[0]];
|
||||
} else {
|
||||
torrent = transmission.torrents.all[ids];
|
||||
issimple = true;
|
||||
}
|
||||
|
||||
if (!torrent) {
|
||||
thisDialog.dialog("close");
|
||||
return;
|
||||
}
|
||||
|
||||
//初始化label
|
||||
$.each(title, function (i, item) {
|
||||
thisDialog
|
||||
.find("#dialog-torrent-changeSpeedLimit-" + item)
|
||||
.html(system.lang.dialog["torrent-changeSpeedLimit"][item]);
|
||||
});
|
||||
|
||||
//初始化按钮
|
||||
title = "button-ok,button-cancel".split(",");
|
||||
$.each(title, function (i, item) {
|
||||
thisDialog
|
||||
.find("#torrent-" + item)
|
||||
.html(system.lang.dialog["public"][item]);
|
||||
});
|
||||
|
||||
$.ajaxSettings.async = false;
|
||||
//初始化界面数据,获取第一个种子的信息
|
||||
transmission.torrents.getConfig(ids[0], function (result) {
|
||||
//debugger;
|
||||
|
||||
if (result == null) return;
|
||||
|
||||
var cur_torrent = result[0];
|
||||
thisDialog
|
||||
.find("#checkbox-downloadLimited")
|
||||
.prop("checked", cur_torrent.downloadLimited);
|
||||
thisDialog
|
||||
.find("#checkbox-uploadLimited")
|
||||
.prop("checked", cur_torrent.uploadLimited);
|
||||
thisDialog.find("#text-downloadLimit").val(cur_torrent.downloadLimit);
|
||||
thisDialog.find("#text-uploadLimit").val(cur_torrent.uploadLimit);
|
||||
thisDialog.find("#text-peer-limit").val(cur_torrent["peer-limit"]);
|
||||
});
|
||||
|
||||
//debugger;
|
||||
|
||||
$.ajaxSettings.async = true;
|
||||
// 确认
|
||||
|
||||
thisDialog.find("#torrent-button-ok").click(function () {
|
||||
var ids = thisDialog.data("ids");
|
||||
if (ids.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
//获取界面设置值,并写入config
|
||||
var torrent = transmission.torrents.all[ids[0]];
|
||||
var inputs = thisDialog.find("#torrent-speed-limit").find("input");
|
||||
var config = {};
|
||||
var value = null;
|
||||
for (var key in inputs) {
|
||||
var input = inputs[key];
|
||||
value = null;
|
||||
if (input.id != undefined && input.id != "") {
|
||||
switch (input.type) {
|
||||
case "checkbox":
|
||||
switch (input.id) {
|
||||
//
|
||||
case "seedIdleMode":
|
||||
case "seedRatioMode":
|
||||
value = $(input).data("_tag");
|
||||
break;
|
||||
default:
|
||||
value = input.checked;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
value = $.isNumeric(input.value)
|
||||
? parseFloat(input.value)
|
||||
: input.value;
|
||||
break;
|
||||
}
|
||||
|
||||
if (value != torrent[input.id] && value != null) {
|
||||
config[
|
||||
input.id.replace("text-", "").replace("checkbox-", "")
|
||||
] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//debugger;
|
||||
//设置为同步
|
||||
$.ajaxSettings.async = false;
|
||||
for (var i = 0; i < ids.length; i++) {
|
||||
config["ids"] = ids[i];;
|
||||
// var index = i + 1;
|
||||
// $(this).linkbutton({
|
||||
// text:
|
||||
// system.lang.dialog["system-config"].saving +
|
||||
// "(" +
|
||||
// index +
|
||||
// "/" +
|
||||
// ids.length +
|
||||
// ")",
|
||||
// disabled: true,
|
||||
// });
|
||||
|
||||
// 开始设置参数
|
||||
transmission.exec(
|
||||
{
|
||||
method: "torrent-set",
|
||||
arguments: config,
|
||||
},
|
||||
function (data) {
|
||||
if (data.result == "success") {
|
||||
} else {
|
||||
button.linkbutton({ iconCls: icon, disabled: false });
|
||||
$.messager.alert(
|
||||
"",
|
||||
system.lang.error["data-post-error"] + ": " + data.result,
|
||||
"error"
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
$.ajaxSettings.async = true; //变回异步
|
||||
|
||||
//修改按钮文本
|
||||
// thisDialog.find("#torrent-attribute-config-button-save").linkbutton({
|
||||
// text: system.lang.dialog["public"]["button-save"],
|
||||
// disabled: false,
|
||||
// });
|
||||
|
||||
//清空种子选择状态
|
||||
system.control.torrentlist.datagrid("uncheckAll");
|
||||
|
||||
//刷新种子
|
||||
//system.reloadTorrentBaseInfos();
|
||||
|
||||
//关闭弹窗
|
||||
thisDialog.dialog("close");
|
||||
});
|
||||
|
||||
thisDialog.find("#torrent-button-cancel").click(function () {
|
||||
thisDialog.dialog("close");
|
||||
});
|
||||
})($("#dialog-torrent-changeSpeedLimit"));
|
||||
</script>
|
Loading…
Reference in New Issue
Block a user